Short Video Assembler – Merge Clips, Voiceover & Captions avatar

Short Video Assembler – Merge Clips, Voiceover & Captions

Pricing

$200.00 / 1,000 finished videos

Go to Apify Store
Short Video Assembler – Merge Clips, Voiceover & Captions

Short Video Assembler – Merge Clips, Voiceover & Captions

Turn 1-10 video clips plus an optional voiceover and SRT captions into one finished MP4 (vertical, horizontal or square, up to 60 s). Built for n8n, Make and AI-agent workflows. Pay per finished video, no subscription.

Pricing

$200.00 / 1,000 finished videos

Rating

0.0

(0)

Developer

Juan Carlos Morales

Juan Carlos Morales

Maintained by Community

Actor stats

0

Bookmarked

14

Total users

12

Monthly active users

9 days ago

Last modified

Categories

Share

Short Video Assembler – Merge Clips, Voiceover & Captions to MP4

Turn 1–10 video clips, an optional voiceover and optional SRT captions into one finished MP4: vertical (Shorts, Reels, TikTok), horizontal (YouTube) or square, up to 60 seconds.

Built for automations that already generate clips and narration (n8n, Make, Zapier, AI agents) but can't run FFmpeg themselves, for example on n8n Cloud, which has no Execute Command node.

Pay per finished video. No subscription, no monthly minimum. Failed or invalid renders incur no video-assembly charge. The demo has no assembly charge. Platform compute is still incurred by the operator.

Duration safety: narration and timed captions must fit the output: total footage length, capped by max_seconds (maximum 60 seconds). Incompatible jobs are rejected before rendering and billing, with the measured durations and a corrective message. The tool does not silently cut narration or extend footage. For example, 25 seconds of clips plus 40 seconds of narration is rejected; supply more footage or shorter narration. Shorter narration is followed by silence. One output frame of tolerance accommodates media-container rounding.

▶ See a real result: 48-second vertical short made with this Actor: 4 public-domain NASA clips + a phone-recorded voiceover + 15 SRT captions → one MP4 in about 2 minutes. (Footage: NASA. NASA does not endorse this product.)

You supply the clips, narration audio and caption timings; this Actor assembles them. It does not generate clips or voices, or auto-sync captions (the example's captions were timed by hand).

Use it for

New to the workflow? Watch the narrated setup guide (1:47), then open the free n8n template. The guide covers credentials, cached demo versus real input, billing and saving your MP4. Synthetic narration is used in the guide; this Actor does not generate voices or caption timings.

  • AI video pipelines: generated clips + text-to-speech voiceover + captions → one publishable short
  • Stitching scene clips (Hedra, Runway, Kling, Veo, stock footage) into a single video
  • Adding burned-in captions to a sequence of clips

Try the free demo

Run with {"demo": true} and get a pre-rendered 12-second sample built from test clips, a voiceover and captions. The sample is bundled with the Actor, so it is not rendered again for each demo request. This is a connection test, not a new video made from your content.

Input

{
"clips": ["https://example.com/scene1.mp4", "https://example.com/scene2.mp4", "https://example.com/scene3.mp4"],
"voiceover_url": "https://example.com/narration.mp3",
"captions_srt": "1\n00:00:00,000 --> 00:00:03,000\nThree clips, one finished video\n",
"orientation": "vertical",
"fit": "crop",
"max_seconds": 60
}
FieldMeaning
clips1–10 public http(s) video URLs on standard ports 80/443, in playback order. DNS is pinned to validated public IPs for each connection and redirect. Any common format or size. Clip audio is not used.
voiceover_urlOptional public audio URL on port 80/443, with DNS pinned to validated public IPs per connection and redirect. Becomes the soundtrack; rejected if longer than the output, followed by silence if shorter. Without it, the video gets a silent audio track (platforms expect one).
captions_srtOptional SRT text, burned in as white bold text with a black outline.
orientationvertical 1080×1920, horizontal 1920×1080, square 1080×1080.
fitcrop fills the frame (default), pad keeps the whole picture with black bars.
max_secondsOutput length = total clip length, capped at this value (1–60).

Limits: 200 MB per file, 600 MB per job.

Processing stops after a maximum of 15 minutes from application startup, even if a longer platform timeout is requested. An owner-controlled safety switch can pause new and active jobs during an incident. Safety-control outages also stop processing; no assembly fee is charged for unfinished renders.

URL safety: embedded credentials, nonstandard ports, private/non-global IP addresses, and redirects to those addresses are rejected. Each request connects only to an IP resolved and validated for that URL hop; environment proxies are not used.

Output

One dataset row per job:

{"status": "ok", "video_url": "https://api.apify.com/v2/key-value-stores/.../records/output.mp4",
"duration_seconds": 42.0, "width": 1080, "height": 1920, "clips_used": 5,
"voiceover_used": true, "captions_burned": true, "charged": true,
"checks": {"duration_within_0_5s": true, "resolution_matches": true, "audio_stream_present": true, "non_empty_file": true}}

Every video is checked with FFprobe before you are charged: correct length, resolution, an audio track and a playable file. Output is H.264/AAC MP4 with fast-start for web playback.

Pricing

One video-assembled event per finished, validated video. Demo runs, invalid input, failed downloads and failed renders incur no video-assembly charge. The operator still incurs platform usage costs, including downloads needed to determine media durations.

Call it from n8n or any HTTP client

POST https://api.apify.com/v2/acts/agentutilitylabs~short-video-assembler/run-sync-get-dataset-items
Authorization: Bearer <your Apify API token>
Content-Type: application/json
{"clips": [...], "voiceover_url": "...", "captions_srt": "...", "orientation": "vertical"}

The response contains video_url.

Ready-made n8n template: Merge video clips, voiceover, and captions into an MP4 with Apify — import it, add your Apify token, and run the free demo first.

Privacy

Your files are downloaded only to render the job. The finished video is stored in the run's key-value store under your Apify account's retention settings. Only submit media you have the right to use.