Skip to content

source.ingest

Operation: source.ingest
Category: source
Tags: video, download, yt-dlp

Download a video via yt-dlp or accept a file upload

Type: Native (built-in)
Timeout: 300s
Retries: 3 (ExponentialWithJitter)

NameTypeRequiredDefaultDescription
urlStringNoYouTube/social media URL to download
fileStringNoLocal file path or HTTP URL
NameTypeDescription
pathStringLocal file path of ingested video
urlAssetfile:// URL
duration_secsNumberVideo duration in seconds
formatStringContainer format
{
"format": "mp4",
"max_resolution": "1080p"
}
import { WorkflowBuilder } from "@fabric-platform/sdk";
const workflow = new WorkflowBuilder("my-workflow")
.node("source-ingest", "tool", (n) =>
n.config({
operation: "source.ingest",
// ... node-specific config
})
)
.build();
{
"key": "ingest-video",
"operation": "source.ingest",
"inputs": [{ "name": "url", "path": "$context.video_url" }],
"outputs": [
{ "name": "path", "path": "$context.source_path" },
{ "name": "duration_secs", "path": "$context.source_duration" }
]
}

Cause: Neither the url nor file input was bound to a context value

Fix: Bind either url (for YouTube/social URLs) or file (for direct file paths/HTTP URLs) in your node inputs

Cause: The source.ingest node needs yt-dlp installed for YouTube/social media URLs

Fix: Install yt-dlp (pip install yt-dlp) or use direct HTTP URLs instead