Skip to content
Dashboard
Tiles

4.2 Input Tiles ​

Tiles for importing your footage

Input tiles are the starting point of every Mosaic workflow. Upload the footage you want to work with, from your desired input source.

Input Tiles Overview


Video Input ​

Drag and drop or browse to upload your footage directly. You can also paste a link to import videos from YouTube and other sources.

Details
Max file size20 GB
Max duration300 minutes
SourcesLocal upload, Paste Link (YouTube, etc.)

YouTube Trigger ​

Watches a YouTube channel and automatically triggers your workflow when a new video is published. Add a channel by handle (e.g. @mkbhd) or URL, and optionally set a Callback URL to receive webhook notifications.

Best for automating clipping from a creator or channel.


Google Drive Trigger ​

Connect a Google Drive folder and Mosaic will monitor it for new files. When a new video lands in the folder, your workflow kicks off automatically.

TIP

If you have duplicate folder names, use Browse... to pick the exact folder.

Named-folder batching (optional). When you enable Batch Assets, Include subfolders, and Separate batch per subfolder, you can also supply a list of folder-name prefixes (for example a, b, c, or client). Matching is case-insensitive, and a folder matches when its name starts with one of those values. Files inside matching folders are rolled up into the nearest ancestor whose name does not start with one of those prefixes. For example, with prefixes a, b, and c, any file uploaded into parent/a/, parent/b/, or parent/c/ is batched together under parent. The walk continues upward if multiple nested ancestors also match. Leave the list empty to keep the classic per-subfolder behavior.


AWS S3 Trigger ​

Connect an AWS S3 bucket to automatically trigger workflows when new files are uploaded. Ideal for teams with cloud-based media pipelines.


Input Tiles UI

INFO

Google Drive and AWS S3 triggers are available on certain plans. Manage your subscription to unlock automated triggers.


API Info ​

Node Params & API Details

This page is the runtime node parameter contract for input/trigger tiles, written for automation agents creating mosaics programmatically.

INFO

quality_*_slack_workspace_id, quality_*_slack_channel_id, quality_*_slack_channel_name, and quality_*_slack_mentions are deprecated and ignored. Use notification_settings.on_error for flag_and_continue failed-channel notifications.

Video Input ​

  • Node ID: 9451e6ff-ac7f-4317-9055-a2f35f641b29

Node params ​

Video Input accepts no parameters at graph creation time. Simply create the node with no params_used.

Videos are supplied at run time via POST /agent/{agent_id}/run using video_inputs (canonical) or top-level shorthand fields video_urls, video_ids, node_render_ids, or mimir_assets (Mimir integration).

Example ​

json
{}

YouTube Trigger ​

  • Node ID: 6145e248-a149-4fea-a2bd-f869976424a3

Node params ​

ParamTypeRequiredDefaultNotes
channelsstring[]Yes[]YouTube channel IDs (UC...). UI resolves handles/URLs to IDs before save.
callback_urlstringNonullOptional webhook URL for trigger callbacks.

Scenario requirements ​

  • channels must be non-empty for a usable trigger.
  • Creator plan or above is required in UI.

Example ​

json
{
  "channels": ["UC_x5XG1OV2P6uZZ5FSM9Ttw"],
  "callback_url": "https://example.com/webhooks/youtube-trigger"
}

Google Drive Trigger ​

  • Node ID: 1bcc12fd-176d-4d28-873d-1b154a564340

Node params ​

ParamTypeRequiredDefaultNotes
connection_idstringYes""Unified/Drive connection identifier.
folder_pathstringYes (UI path flow)""Human-readable monitored path (for UX + resolution).
folder_idstringRecommended""Canonical folder ID used by backend watchers.
batch_enabledbooleanNofalseEnables grouped processing window.
batch_debounce_minutesnumberNo5 when batchingUI supports 5,10,15,30 minutes and 1-24 hours.
batch_by_subfolderbooleanNofalseIf true, groups independently per subfolder (UI notes up to 20 levels).
batch_folder_name_patternsstring[]No[]Only used when batch_by_subfolder is true. Case-insensitive folder-name prefixes. A folder matches when its name starts with one of the provided values. Files inside matching folders are batched under the nearest non-matching ancestor. Each entry 1-128 chars, no /, max 50 entries.
quality_low_res_action"none" | "flag_and_continue" | "fail_task"No"none"Action for <=720p detection. Legacy "flag" is treated as "flag_and_continue".
quality_no_audio_action"none" | "flag_and_continue" | "fail_task"No"none"Action when no audio stream detected. Legacy "flag" is treated as "flag_and_continue".
quality_letterboxing_action"none" | "flag_and_continue" | "fail_task"No"none"Action for letterboxing/pillarboxing detection. Legacy "flag" is treated as "flag_and_continue".
quality_auto_rotatebooleanNofalseAuto-orient media before downstream processing.
transcodingsRecord<string, TranscodingConfig>No{ "Primary": ... }One or more named transcoding groups (UI forces single group here).
transcode_rules_enabledbooleanNofalseEnables conditional transcoding filters.
transcode_rulesTranscodeFilterRule[]No[]Rule set evaluated against source media metadata.
media_types_videobooleanNotrueEnable video file processing.
media_types_audiobooleanNotrueEnable audio file processing.
media_types_imagebooleanNotrueEnable image file processing.
video_transcodingsRecord<string, TranscodingConfig>No{ "Primary": ... }Per-media transcoding config for videos. Falls back to transcodings if not set.
audio_transcodingsRecord<string, TranscodingConfig>No{ "Primary": { audio_codec: "aac" } }Per-media transcoding config for audio.
image_transcodingsRecord<string, TranscodingConfig>No{ "Primary": {} }Per-media transcoding config for images.
video_transcode_rules_enabledbooleanNofalsePer-media conditional transcoding for videos. Falls back to transcode_rules_enabled.
video_transcode_rulesTranscodeFilterRule[]No[]Per-media rule set for videos. Falls back to transcode_rules.
audio_transcode_rules_enabledbooleanNofalsePer-media conditional transcoding for audio.
audio_transcode_rulesTranscodeFilterRule[]No[]Per-media rule set for audio.
image_transcode_rules_enabledbooleanNofalsePer-media conditional transcoding for images.
image_transcode_rulesTranscodeFilterRule[]No[]Per-media rule set for images.

transcodings object schema ​

json
{
  "Primary": {
    "frame_rate_fps": 30,
    "keep_source_fps": false,
    "average_bitrate_mbps": 10,
    "color_space": "rec.709",
    "file_extension": "mp4",
    "codec": "h.264 (AVC)",
    "audio_format": "mp4a",
    "audio_codec": "aac"
  }
}

transcode_rules schema ​

json
[
  {
    "id": "rule-1",
    "field": "fps",
    "comparator": "lt",
    "value": 24
  }
]
  • field: fps | max_dimension | codec | container
  • comparator: lt | gt | lte | gte | eq | neq
  • Transcoding is always on for matched files (mandatory); there is no opt-out. The pipeline performs a single transcoding pass per asset (no dual proxy pass plus group pass).
  • Runtime behavior: when conditional rules are enabled for a scope (global or per-media), transcoding runs only when at least one rule in that scope matches.

AWS S3 Trigger ​

  • Node ID: aab5a93d-eaa5-46e3-900d-db67e955c9e7

Node params ​

ParamTypeRequiredDefaultNotes
s3_connection_idstringYes""Saved AWS credential connection ID.
bucket_namestringYes""S3 bucket to watch.
prefixstringNo""Optional key prefix filter under the bucket.
batch_enabledbooleanNofalseEnables grouped processing window.
batch_debounce_minutesnumberNo5 when batchingUI supports 5,10,15,30 minutes and 1-24 hours.
batch_by_subfolderbooleanNofalseIf true, groups independently per subfolder (UI notes up to 7 levels).
quality_low_res_action"none" | "flag_and_continue" | "fail_task"No"none"Action for <=720p detection. Legacy "flag" is treated as "flag_and_continue".
quality_no_audio_action"none" | "flag_and_continue" | "fail_task"No"none"Action when no audio stream detected. Legacy "flag" is treated as "flag_and_continue".
quality_letterboxing_action"none" | "flag_and_continue" | "fail_task"No"none"Action for letterboxing/pillarboxing detection. Legacy "flag" is treated as "flag_and_continue".
quality_auto_rotatebooleanNofalseAuto-orient media before downstream processing.
transcodingsRecord<string, TranscodingConfig>No{ "Primary": ... }One or more named transcoding groups (UI forces single group here).
transcode_rules_enabledbooleanNofalseEnables conditional transcoding filters.
transcode_rulesTranscodeFilterRule[]No[]Rule set evaluated against source media metadata.
media_types_videobooleanNotrueEnable video file processing.
media_types_audiobooleanNotrueEnable audio file processing.
media_types_imagebooleanNotrueEnable image file processing.
video_transcodingsRecord<string, TranscodingConfig>No{ "Primary": ... }Per-media transcoding config for videos. Falls back to transcodings if not set.
audio_transcodingsRecord<string, TranscodingConfig>No{ "Primary": { audio_codec: "aac" } }Per-media transcoding config for audio.
image_transcodingsRecord<string, TranscodingConfig>No{ "Primary": {} }Per-media transcoding config for images.
video_transcode_rules_enabledbooleanNofalsePer-media conditional transcoding for videos. Falls back to transcode_rules_enabled.
video_transcode_rulesTranscodeFilterRule[]No[]Per-media rule set for videos. Falls back to transcode_rules.
audio_transcode_rules_enabledbooleanNofalsePer-media conditional transcoding for audio.
audio_transcode_rulesTranscodeFilterRule[]No[]Per-media rule set for audio.
image_transcode_rules_enabledbooleanNofalsePer-media conditional transcoding for images.
image_transcode_rulesTranscodeFilterRule[]No[]Per-media rule set for images.

Runtime behavior notes ​

  • flag_and_continue quality actions send the failed-channel notification configured on the tile, falling back to the mosaic failed-channel settings. If no failed Slack channel is configured, the task records a warning and continues. fail_task stops processing.
  • If batch_enabled=false, backend normalization forces batch_debounce_minutes=0 and batch_by_subfolder=false.
  • Transcoding is always on for matched files (mandatory); there is no opt-out. The pipeline performs a single transcoding pass per asset (no dual proxy pass plus group pass).
  • Conditional transcoding uses "any rule matches" logic when enabled for a scope (global or per-media): transcoding runs only when at least one rule in that scope matches. When rules are disabled for that scope, transcoding proceeds according to the configured transcodings / per-media settings.

INFO

Google Drive and AWS S3 triggers are plan-gated features in the UI. Parameter contract remains valid for API-driven automation.