API GUIDE

How to merge videos with an API

Stitching an intro, a demo and a call-to-action into one reel is a concat filtergraph in FFmpeg, and it breaks the moment two clips have different resolutions or frame rates. An API normalises and joins them for you.

The manual FFmpeg way

The concat filter demands matching resolutions, frame rates and audio layouts across every clip, or the join fails. A typed tool normalises the inputs first and can crossfade the joins.

ffmpeg -i intro.mp4 -i demo.mp4 -i cta.mp4 -filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a]concat=n=3:v=1:a=1[v][a]" -map "[v]" -map "[a]" reel.mp4

Do it with one API call

  1. 1

    Provide the clips in order

    Give two to six public URLs, or upload each and use the returned media URLs. The first is named "main".

  2. 2

    Call the merge tool

    Optionally set transition to "fade" for a crossfade at every join instead of a hard cut.

  3. 3

    Download the reel

    Poll the job and download the single joined MP4 from the signed output URL.

REST
curl https://kinopipe.com/api/v1/tools/merge-videos \
  -H "Authorization: Bearer kp_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "inputs": [
      { "id": "main", "url": "https://example.com/intro.mp4" },
      { "id": "clip-2", "url": "https://example.com/demo.mp4" },
      { "id": "clip-3", "url": "https://example.com/cta.mp4" }
    ],
    "options": { "transition": "fade", "transition_duration": 0.5 }
  }'
Or just ask your agent
Connect the KinoPipe MCP server and say it in plain language:

Stitch intro.mp4, demo.mp4 and cta.mp4 into one reel with a crossfade.

Connect MCP

FAQ

How many clips can I merge?

Between two and six clips in a single job, joined in the order you provide them.

What if the clips have different sizes?

KinoPipe normalises resolution and frame rate before joining, so mismatched sources still merge cleanly.