Swap a product in an existing video: Gemini Omni edit vs Seedance

To replace an object in a finished clip on Sume, use gemini-omni-flash-1.1 with video_url. Seedance reference-to-video makes a new clip from references.

5 min readSume
All posts

To swap one product for another inside a clip you already have, use gemini-omni-flash-1.1 on the Video Router with video_url and an edit prompt. Seedance and Kling do not edit an existing video on Sume: Seedance builds a new clip from reference images, videos and audio, and kling-3 takes a prompt or start and end frames only.

That difference decides the model before you write a prompt. The routing below comes from Sume's Video Router docs.

Can Seedance 2.5 edit a video I already have?

No. In the Video Router catalog video_to_video is false for every Seedance id and for kling-3. Seedance 2.5 does accept reference_image_urls, reference_video_urls and reference_audio_urls, and it renders a new 4 to 30 second clip guided by them. That can reproduce a look, a motion or a sound, but it is regeneration. The product, the framing and the timing can all change.

Use Seedance references when you want a new clip in the spirit of an old one. Do not expect frame-for-frame preservation.

Which Sume model edits a clip?

gemini-omni-flash-1.1 routes by the shape of the request, so you never pick an endpoint. Sending video_url selects the video_to_video edit capability, and the prompt describes the edit. resolution is optional and defaults to 720p. There is no aspect_ratio or duration on an edit.

video_url is the edit source, not a reference. It cannot be combined with image_url, end_image_url or reference_*_urls, so you cannot send a product photo alongside it. Describe the replacement in words. Billing is the provider list rate times 1.25 per output second by resolution.

How do the options compare?

Pick by whether the original footage must survive.

Replacing an object in a clip, by Sume model, read 2026-10-02
ModelInputResult
gemini-omni-flash-1.1video_url + edit promptEdited version of the source clip
seedance-2.5Reference images, videos or audioNew clip guided by references
kling-3Prompt or first and last framesNew clip, no references
h3-max-recastSource video + 1 to 4 person photosPeople swapped, not objects
higgsfield-genjutsuSource video + 1 to 8 imagesMotion transfer; Object Swap not served

What does the request look like?

This edit request is the one Sume documents, as a script. The source must be a public HTTPS URL.

import os, requests

body = {
    "model": "gemini-omni-flash-1.1",
    "prompt": "Replace the bottle with an apple. Keep everything else the same.",
    "video_url": os.environ["SOURCE_CLIP_URL"],
    "resolution": "720p",
    "mode": "async",
}
r = requests.post(
    "https://api.sume.com/v1/video-router/generate",
    json=body,
    headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}",
             "Idempotency-Key": "edit-apple-001"},
    timeout=60,
)
print(r.status_code, r.text[:400])

What are the limits to plan around?

Gemini Omni Flash 1.1 clips are 3 to 10 seconds in the documented envelope, so check the source length before you start. Native audio is always on and generate_audio: false is rejected. Sume's docs do not publish how faithfully an edit preserves untouched regions, so review the output the way you would review any generated clip.

If you need a longer or higher-fidelity result than an edit gives, regenerate with Seedance 2.5 using the original as a reference video, and accept that it is a new clip. See Kling 3.0 vs Seedance 2.0 for the model trade-offs.

Sources

Related posts

More in Models

All Models posts

Written by Sume