Luma modify video: ray-flash-2 15 seconds, ray-2 10, 100 MB
Luma's Modify Video allows 15 seconds on ray-flash-2 and 10 on ray-2, with a 100 MB source. Sume edits video with video_url on gemini-omni-flash-1.1.

Luma's Modify Video endpoint limits the source clip by model: ray-2 takes up to 10 seconds and ray-flash-2 up to 15 seconds, and both cap the file at 100 MB. On Sume, video editing is the video_url mode of gemini-omni-flash-1.1, where a prompt describes the edit and you never pick an endpoint.
Luma's contract
Luma's page requires four fields: prompt, media.url, mode and model. An optional first_frame.url is preferred as a guide for the desired first frame. The two models are ray-2 and ray-flash-2.
| Item | Luma Modify Video | Sume `gemini-omni-flash-1.1` edit |
|---|---|---|
| Source field | media.url | video_url |
| Prompt | Required | Describes the edit |
| Max source length | 10 s (ray-2), 15 s (ray-flash-2) | Not stated on the Video Router page |
| Max source size | 100 MB | Not stated on the Video Router page |
| Resolution | Not a parameter on the page | Optional; default 720p |
| Aspect ratio and duration | Not parameters on the page | Not accepted in edit mode |
Sume's edit mode
In edit mode the Video Router docs say the prompt describes the edit, resolution is optional with a default of 720p, and there is no aspect_ratio or duration. video_url is the edit source, not a reference, so it cannot be combined with image_url, end_image_url or reference_*_urls. Native audio is always on for this model.
curl -X POST https://api.sume.com/v1/video-router/generate \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: video-router-edit-001" \
-d '{
"model": "gemini-omni-flash-1.1",
"prompt": "Replace the bottle with an apple. Keep everything else the same.",
"video_url": "https://example.com/clip.mp4",
"resolution": "720p",
"mode": "async"
}'Check your own clips
Because the Sume pages read here do not state a source-length or file-size limit for edit mode, test with a real clip and read the error before you build a pipeline that relies on a length. Trim long sources first, and keep your own source files under Luma's 100 MB if you plan to use both.
Where to confirm limits
The model catalog is the place to confirm what a model accepts. Read capabilities from GET /v1/video-router/models rather than assuming one envelope.
Sources
Related posts
More in Developers
- Luma failure_reason moderation messages vs Sume generation_rejected
Luma reports moderation and dispatch failures as strings in failure_reason. Sume returns a job error category and next action. A map for handling both.
- Luma Modify Video: adhere, flex and reimagine modes vs a Sume prompt
Luma's Modify Video has nine modes: adhere 1-3, flex 1-3 and reimagine 1-3. Sume's video edit has no mode field, so strictness comes from the prompt.
- MAI-Image-2.6 allows 6 requests a minute at tier 1; Sume queues
Foundry rates MAI-Image-2.6 at 6 RPM on tier 1 and 429s past it. Sume accepts valid image jobs as queued until a plan slot opens. Compare the two behaviours.
- MAI-Image-2.6 returns base64 PNG; Sume returns a hosted image URL
Foundry returns MAI-Image-2.6 as b64_json PNG only. Sume returns a signed media URL in data[].url, in png, jpeg or webp per model. How to handle each in code.
Written by Sume