Omni V2V Video Editing API
Omni V2V Video Editing API
Section titled “Omni V2V Video Editing API”Omni V2V edits an existing video from natural-language instructions. Each request accepts one source video and optionally one or two reference images. The endpoint is asynchronous: submit the job, poll its ID, then download the completed video.
What it can edit
Section titled “What it can edit”- People and characters: retain identity from a reference, change clothing, hair, or accessories, or introduce a referenced person.
- Scene and background: change location, season, weather, time of day, or set dressing while preserving source motion.
- Props and products: add, replace, remove, or hide an object and use a product image to constrain its appearance.
- Visual style: transform footage into anime, cinematic film, vintage footage, clay animation, monochrome, or another coherent look.
- Lighting and color: change light direction, color temperature, grading, rain, fog, or snow.
- Local details: change sign text or one specified element while retaining the remainder of the clip.
- Camera and timing: describe framing, camera motion, cuts, and events at specific times.
- Audio: request ambience, music, and sound effects. Voice editing is not currently supported by the upstream model.
OpenAI/Sora-compatible request
Section titled “OpenAI/Sora-compatible request”POST https://api.4allapi.com/v1/videos/editsAuthorization: Bearer YOUR_API_KEYContent-Type: multipart/form-data| Field | Required | Description |
|---|---|---|
model | yes | omni_flash_v2v |
prompt | yes | State what to change and what must remain unchanged |
video | yes | Exactly one source video |
input_reference | no | Repeat this field for one or two image references |
seconds | no | Uses source duration when omitted; values above 10 are capped at 10 |
resolution | no | For example 720p, when supported by the active channel |
aspectRatio | no | 16:9 or 9:16, when supported |
Invalid or excess reference images are ignored. Only the first two valid images are used, so a valid source video request does not fail merely because an extra image was supplied.
curl https://api.4allapi.com/v1/videos/edits \ -H "Authorization: Bearer $API_KEY" \ -F "model=omni_flash_v2v" \ -F "prompt=Use reference image 1 for the character and reference image 2 for the handbag. Change the street to a rainy neon city at night. Keep the face, original body motion, camera path, timing and framing the same. Add natural rain ambience and soft cinematic music." \ -F "video=@source.mp4;type=video/mp4" \ -F "input_reference=@character.png;type=image/png" \ -F "input_reference=@handbag.jpg;type=image/jpeg" \ -F "seconds=8" \ -F "resolution=720p"Use a list of tuples for repeated fields in Python:
with ( open("source.mp4", "rb") as video, open("character.png", "rb") as character, open("handbag.jpg", "rb") as prop,): response = requests.post( "https://api.4allapi.com/v1/videos/edits", headers={"Authorization": f"Bearer {API_KEY}"}, data={"model": "omni_flash_v2v", "prompt": prompt, "seconds": "8"}, files=[ ("video", ("source.mp4", video, "video/mp4")), ("input_reference", ("character.png", character, "image/png")), ("input_reference", ("handbag.jpg", prop, "image/jpeg")), ], )response.raise_for_status()video_id = response.json()["id"]Poll GET /v1/videos/{video_id} until status is completed or failed. Download a completed result from GET /v1/videos/{video_id}/content with the same API key.
Gemini-compatible multipart fields
Section titled “Gemini-compatible multipart fields”Use video for the source and repeat referenceImages for up to two images:
curl "https://api.4allapi.com/v1beta/models/omni_flash_v2v:predictLongRunning?key=$API_KEY" \ -F "prompt=Use reference image 1 for the person and image 2 for the room. Keep motion and camera timing unchanged." \ -F "video=@source.mp4;type=video/mp4" \ -F "referenceImages=@person.png;type=image/png" \ -F "referenceImages=@room.jpg;type=image/jpeg" \ -F "durationSeconds=8" \ -F "resolution=720p"Native JSON uses instances[0].video and instances[0].referenceImages.
Prompt guidance
Section titled “Prompt guidance”Editing works best with focused instructions. Identify the role of each reference, state the change, then explicitly list what to preserve. For a local edit, include Keep everything else the same and name critical invariants such as face, motion, camera path, timing, framing, and physics. Audio and timed events can be described directly, for example After 3 seconds... or [0-3s] ....
Uploaded source clips should be no longer than 10 seconds for this gateway. Complex occlusion, rapid motion, reflections, hands, and dense small text can remain difficult. Results and inputs are subject to model safety checks.
Capability background: Google’s official Gemini Omni Flash documentation. Endpoint fields, the two-image limit, and overflow behavior on this page describe the current 4All API gateway.