Media I/O Nodes
Upload, preview, and manage media in your workflows.
Upload Media
Upload files from your device
Allows you to upload images, videos, and audio files into the workflow. Files are uploaded via edge function with URLs stored in the node config.
| Property | Description |
|---|---|
| Inputs | start (flow, trigger) |
| Outputs | image_out (image), video_out (video), audio_out (audio) |
Configuration:
| Setting | Options | Description |
|---|---|---|
| Media Type | image, video, audio | Type filter for uploads |
| Max Files | 10 (image), 1 (video/audio) | Upload limit per type |
| Label | String | Optional label for the upload |
Supported formats:
| Type | Formats |
|---|---|
| Image | PNG, JPG, JPEG, WebP, GIF |
| Video | MP4, WebM, MOV |
| Audio | MP3, WAV, OGG, M4A |
Features:
- Drag and drop upload
- Click to browse files
- Image preview thumbnails
- Multiple file upload (images only, up to 10)
- Upload progress indication
- Individual file removal
Output Handles: Output handles appear dynamically based on selected media type:
image_out- Visible when type is "image"video_out- Visible when type is "video"audio_out- Visible when type is "audio"
Use cases:
- Process local files in workflows
- Batch image processing
- Prepare media for AI generation
- User input for template workflows
Credit cost: Free (no credits)
Library
Access and select assets from Content Library
Connects to your DUTO Content Library to browse and select saved assets for use in workflows. Items are selected via the Library node UI with URLs stored in config.
| Property | Description |
|---|---|
| Inputs | start (flow, trigger) |
| Outputs | image_out (image), video_out (video), audio_out (audio) |
Configuration:
| Setting | Description |
|---|---|
| Media Type | Filter by media type: all, image, video, audio |
| Source Tab | Library browsing tab |
| Selected Folder | Folder filter |
Features:
- Browse library visually with thumbnails
- Search by name or tags
- Filter by media type
- Select multiple assets (up to 10 for images, 1 for video/audio)
- View selected items with thumbnails and metadata
- Remove individual selections
- URL validation before processing
Selection Limits:
| Media Type | Max Items |
|---|---|
| Image | 10 |
| Video | 1 |
| Audio | 1 |
| All | Mixed limits apply |
Output Handles: Output handles appear dynamically based on selected media types:
image_out- Visible when images are selectedvideo_out- Visible when videos are selectedaudio_out- Visible when audio is selected
Use cases:
- Reuse existing assets across workflows
- Access brand assets (logos, colors)
- Load template images
- Reference saved materials
Credit cost: Free (no credits)
Remote Media
Load media from URL
Fetches media from remote URLs with flexible input sources. Supports three priority levels for URL resolution: batch items, upstream Brain connections, and manually entered URLs.
| Property | Description |
|---|---|
| Inputs | start (flow, trigger), url_in (any, optional - for upstream URLs) |
| Outputs | image_out (image), video_out (video), audio_out (audio) |
Configuration:
| Setting | Description |
|---|---|
| Remote URLs | List of direct links to media files |
| Media Type | image, video, or audio |
| Label | Optional label for the media |
URL Priority Resolution:
The node resolves URLs in this priority order:
| Priority | Source | Description |
|---|---|---|
| 0 (highest) | Batch item | $item.image_url, $item.imageUrl, $item.image, $item.url, $item.media_url from BatchProcessor |
| 1 | Upstream | URLs from Brain node's image_out connected to url_in handle |
| 2 (lowest) | Manual | URLs entered in the node config (remoteUrls) |
Brain Integration:
Connect a Brain node's image_out to the Remote Media url_in handle to automatically load images found through Brain's image search capability.
Brain (Research mode) --> Remote Media --> [downstream processing]
(image_search) (url_in)
Use cases:
- Process images from web search results
- Load media from external APIs
- Batch process URLs from data feeds
- Integrate external content sources
Credit cost: Free (no credits)
Preview Media
Display generated content
Shows a preview of media within the workflow canvas. Acts as a passthrough node that collects image, audio, and video inputs without performing any transformations.
| Property | Description |
|---|---|
| Inputs | image (image), audio (audio), video (video) |
| Outputs | image_out (image - selected image for "Use in Flow") |
Features:
- Real-time preview during execution
- Supports image, video, and audio preview
- Handles both single artifacts and arrays (e.g., from BatchEndNode)
- Click to view full size
- Download directly from preview
- "Use in Flow" output to continue workflow with selected image
Preview Media accepts only typed inputs (image, audio, video). It does not have a generic "any" or "media" input handle.
Use cases:
- Debug workflows visually
- Review intermediate results
- Quick visual feedback during execution
- Final output display
Credit cost: Free (no credits)
API Endpoint
Convert workflow into a callable API endpoint
Converts your workflow into a REST API endpoint that can be called externally. This is a terminal node with no outputs -- it marks the end of a workflow that should be exposed as an API.
| Property | Description |
|---|---|
| Inputs | image (image), video (video), audio (audio), text (text), any (any) |
| Outputs | None (terminal node) |
Configuration:
The node analyzes the workflow and displays:
| Setting | Description |
|---|---|
| Inputs | Count of input connections |
| Outputs | Count of output connections |
| Credit Estimate | Min-max credits per API call |
| Eligibility | Ready or blockers count |
| Protocol | REST (supported) |
Features:
- Automatic workflow analysis
- Input/output detection
- Credit cost estimation per call
- Eligibility checking for API conversion
- Status indicators
Use cases:
- Create reusable API endpoints from workflows
- Integrate DUTO workflows into external applications
- Build automated content pipelines
- Expose AI capabilities via API
Credit cost: Free (preview only -- actual API calls consume credits based on workflow)
Text Preview
Display text content
Shows text output in a formatted preview panel. Acts as a passthrough so text continues through the workflow.
| Property | Description |
|---|---|
| Inputs | input (text) |
| Outputs | output (text, passthrough) |
Use cases:
- View prompt results
- Debug text processing
- Review generated content
Credit cost: Free (no credits)
Inspect
Debug node data
Displays detailed information about any data passing through. Useful for understanding data structure and debugging workflow issues.
| Property | Description |
|---|---|
| Inputs | any (any), ctx (text) |
| Outputs | any (any, passthrough), log (text) |
Shows:
- Data type
- Size/dimensions
- Full JSON structure (for objects)
- Metadata
- Context information via
ctxinput
Use cases:
- Debugging workflows
- Understanding data structure
- Verifying transformations
Credit cost: Free (no credits)
Media I/O Workflow Examples
Library-Based Workflow
Use saved assets:
Library (logo) --> Image Edit (add to scene) --> Preview Media
Library (background) -->
Upload and Process
Basic media processing:
Upload Media --> Text to Image (style transfer) --> Preview Media
Brain-Powered Image Pipeline
Use Brain research to find and process images:
Brain (Research) --> Remote Media --> Image Upscale --> Preview Media
(image_search) (url_in)
Batch URL Processing
Process multiple URLs from a data feed:
Data Feed --> Batch Processor --> Remote Media ($item.image_url) --> [processing] --> Batch End
API Endpoint Workflow
Create callable API:
[Input connections] --> Text to Image --> Image Upscale --> API Endpoint
Tips
Performance
- Compress uploads - Smaller files process faster
- Use appropriate formats - WebP for images, MP4 for video
- Clean up unused - Remove old assets regularly
Organization
- Folder structure - Create logical hierarchy in Content Library
- Naming convention - Use consistent names
- Tags - Add tags for searchability
Workflow Design
- Preview early - Add previews during development
- Inspect issues - Use Inspect to debug data flow
- API design - Use API Endpoint node for reusable workflows
- Remote Media priority - Remember: batch > upstream > manual URL resolution