# Kling O3 4K Video to Video Edit - Core.Today AI API > Kling O3 native 4K video editing via Fal.AI. Edits an existing video (cited as @Video1) from a text instruction — change the environment, restyle the scene, or swap a subject for an element image (@Element1) — keeping the original motion and timing, and outputs native 4K directly. Input clips of 3-15 seconds. - **Provider**: Kuaishou - **Model ID**: fal-ai/kling-video/o3/4k/video-to-video/edit - **Category**: Video Generation - **Credits**: 4890 per 5s 4K clip — billed per second of output (= measured input clip length), 977/s - **Speed**: Slow - **Quality**: Ultra ## Features - Text-instructed editing of an existing clip — environment, style, or subject swaps - Keeps the original motion, timing, and (optionally) audio - Native 4K output in one step — no upscaling pass - Element references (@Element1) for subject replacement and style images (@Image1) - Billed by the measured length of the input clip ## Use Cases - Season or weather changes on existing footage (summer to snow) - Swapping a product, animal, or character in a shot - Restyling live-action footage into an illustrated look - 4K deliverables for ads without a separate upscale step ## API Endpoint Base URL: https://api.core.today/v1 Create Prediction: POST /predictions Get Status: GET /predictions/{job_id} ## Authentication Header: X-API-Key: YOUR_API_KEY ## Input Parameters ### Required - **prompt**: string - Edit instruction. Refer to the input video as @Video1, element images as @Element1, and style images as @Image1. Max 2500 characters - **video_url**: string - Video to edit. .mp4/.mov, 3-15 seconds, 720-3840px, 23-60 fps, max 200MB. The output keeps this clip's length and is billed by its measured duration ### Optional - **elements**: array - Characters/objects to include, each with a frontal_image_url and 1-3 reference_image_urls; cited as @Element1, @Element2. Elements plus image_urls total at most 4 - **image_urls**: array - Style/appearance reference images, cited as @Image1, @Image2. Elements plus image_urls total at most 4 - **keep_audio**: boolean (default: true) - Keep the original audio from the input video - **enable_safety_checker**: boolean (default: true) - Enable the safety checker ## Examples ### Snow Scene with Subject Swap Turn the environment to snow and replace the animal with an element ```json { "model": "fal-ai/kling-video/o3/4k/video-to-video/edit", "input": { "prompt": "Change environment to be fully snow as @Image1. Replace animal with @Element1", "video_url": "https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-edit/video_reference.mp4", "elements": [ { "frontal_image_url": "https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-edit/element1_front.png", "reference_image_urls": [ "https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-edit/element1_reference1.png" ] } ], "image_urls": [ "https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-edit/image_url1.jpg" ] } } ``` ## Response Format ```json { "job_id": "abc123", "status": "pending | processing | completed | failed", "result": "URL or data (when completed)" } ``` ## Usage Flow 1. POST /predictions with model and input -> receive job_id 2. GET /predictions/{job_id} -> poll until status is completed or failed 3. Result contains output URL(s) ## Tips - The output keeps the input clip's length — trim the source to the part you need before editing - Clips must be 3-15 seconds, at least 720px per side, and 23-60 fps - Elements plus image_urls may total at most 4 references - Set keep_audio to false to drop the original soundtrack ## Documentation https://fal.ai/models/fal-ai/kling-video/o3/4k/video-to-video/edit