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:
input_video_urlis a single public URL, not an array.- A non-empty
promptdescribing the edit is required for these models. - It is mutually exclusive with
start_image_url,input_references,input_video_referencesandinput_audio_referencesin the same call. - Jobs are asynchronous, polling is free, billing is at creation, and failed upstream jobs are not billed.
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 id | What VideoRouter documents |
|---|---|
runway/aleph-2 | Runway Aleph 2. Input capped at 30 seconds; output length follows the input; billing follows the input duration. |
replicate/kling-v3-omni-video | Kling 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-edit | xAI Grok Imagine edit. Output duration always equals input duration, capped at 8.7 seconds, with no separate duration field. |
pika/pikadditions | Pikadditions. 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
- Billing proportional to input duration (Aleph 2, Grok edit): trim your source before submitting, since extra seconds are charged.
- Flat per request (Pikadditions): the clip length does not change the price, so it suits short, frequent edits.
- Duration as a separate field (Kling Omni): you control output length independently of the source.
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
- The source URL must be reachable by the host; expired signed links fail the job.
- Cost estimates for duration-billed models should use the input length, not the length you hope to keep.
- Do not re-submit while a job is slow; each submission bills.
- Check the output matches your resolution and orientation expectations before batch-processing a library.
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
- Editing Video with Runway Aleph 2 over API — Request Format and Limits
- Runway Gen-4.5 API Guide: Text & Image-to-Video Examples
- Runway vs Kling vs Veo API: How to Choose Between Them
- Runway Gen-4.5 Python Tutorial: Generate, Poll and Save Video
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 →