Home › Guides › Video editing API options

AI video editing over API: which model, which request

Updated 2026-10-02

Editing is a different job from generation. A generation model creates new footage; an editing model takes one clip you already have and changes it according to an instruction. Several models support this through a single field on POST /videos: input_video_url. They are not interchangeable, and picking the wrong kind is the usual mistake.

The request shape

curl https://videorouter.sh/api/v1/videos \
  -H "Authorization: Bearer llmr_sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "runway/aleph-2",
    "prompt": "change the weather to heavy rain, keep the people and framing",
    "input_video_url": "https://example.com/source-clip.mp4"
  }'

Rules that apply across the editing models:

Do not confuse this with reference-to-video: input_video_references guides a new clip with motion or style from the references, while input_video_url modifies the clip you supply.

The editing models onboarded in the catalog

Model idWhat VideoRouter documents
runway/aleph-2Runway Aleph 2. Input capped at 30 seconds; output length follows the input; billing follows the input duration.
replicate/kling-v3-omni-videoKling 3.0 Omni. Passing input_video_url switches it into true editing mode instead of using the clip as a style reference. Duration is an independent field.
atlascloud/grok-imagine-video-editxAI Grok Imagine edit. Output duration always equals input duration, capped at 8.7 seconds, with no separate duration field.
pika/pikadditionsPikadditions. Despite the "object insertion" name it takes a plain free-text edit prompt; billed flat per request rather than by duration.

Exact rates are on each model page and change; the live table below covers Runway's rows only because that is this site's scope:

No matching models in the live catalog right now.

How to choose

Match the clip length

If your source is longer than about 8.7 seconds, the Grok edit model is out because its cap is below your clip. Aleph 2 accepts up to 30 seconds, so for longer material it is the one with the largest documented input limit. For material longer than any of these, split the clip, edit the segments, then stitch; keep the same prompt and a consistent source style across segments.

Match how billing scales

Match the kind of edit

Describe the change, not the whole scene: "replace the car with a red pickup truck" or "convert to watercolor animation". Keep one major change per request. Models differ in how much of the original they preserve, and that is something to test on your own footage rather than read from an article. Run the same clip and instruction through each candidate:

for model in ["runway/aleph-2", "replicate/kling-v3-omni-video", "pika/pikadditions"]:
    r = requests.post(f"{BASE}/videos", headers=H, json={
        "model": model,
        "prompt": "convert to watercolor animation",
        "input_video_url": SOURCE,
    })
    print(model, r.status_code, r.json().get("id"))

What is not available

Some candidates were evaluated and deliberately not wired. One FLUX 3 video mode is video extension (it continues a clip) rather than editing, so it is not offered under input_video_url. Pika's region-targeted swap needs a mask field the endpoint has no shape for, and its preset-effect model has no prompt at all. If you need those, treat them as unavailable here rather than expecting a workaround.

Editing versus the other ways to change a clip

People often reach for editing when a different tool fits better. If you want a new clip that keeps a character or motion from existing material, reference-to-video on a model that supports it may be closer to what you need than an edit. If you only want to make a finished clip longer, look for an extension mode, which continues the clip instead of changing it. If you want a different look across a whole sequence, consider whether to regenerate with a new prompt instead of editing each clip. Editing earns its place when the shot's content and timing are right and you need one change applied to it: weather, an object, a style, a prop.

Practical pitfalls

For the Runway-specific walkthrough see editing with Aleph 2, and for generation see the Gen-4.5 guide. Create an API key to try them on your own clips, or start from the quickstart.

Frequently asked questions

How do I edit an existing video with an API?

Send POST /videos with an editing model id, a prompt describing the change and input_video_url pointing to your clip, then poll the job. The field is mutually exclusive with start images and reference arrays.

What is the maximum input length for Runway Aleph 2?

The input is capped at 30 seconds. Output length follows the input, and billing follows the input duration.

What is the difference between input_video_url and input_video_references?

input_video_url edits the clip you supply. input_video_references uses clips to guide a newly generated video and does not modify them.

Which editing model is billed per request instead of per second?

Pikadditions is billed as a flat charge per request. Aleph 2 and Grok Imagine edit are billed according to input duration.

Keep reading

Using Runway is one part of the job.

VideoRouter puts it next to dozens of other video and image models behind one API key, so you can compare providers, prices and fail over automatically. Compare providers on VideoRouter →