# Kling O3 4K Video to Video Reference - Core.Today AI API > Kling O3 native 4K video-to-video reference via Fal.AI. Generates a new 4K shot that follows a reference video (cited as @Video1) — its camera motion, pacing, and framing — while integrating characters/objects from element images (@Element1) and style images (@Image1). Outputs 4K directly with no upscaling pass, 3-15 seconds. - **Provider**: Kuaishou - **Model ID**: fal-ai/kling-video/o3/4k/video-to-video/reference - **Category**: Video Generation - **Credits**: 4890 per 5s 4K video — billed per second of output, 977/s - **Speed**: Slow - **Quality**: Ultra ## Features - Follows a reference video's camera motion, pacing, and framing - Integrates characters/objects from element images (@Element1) - Style transfer from reference images (@Image1) - Native 4K output in one step — no upscaling pass - 3-15 second output, keeps the reference audio optionally ## Use Cases - Re-shooting a reference shot with a new character or product - Matching camera moves across a series of 4K ad shots - Turning live-action reference footage into a stylized 4K scene - Previs-to-final: block a move on cheap footage, render it in 4K ## 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 - Text prompt. Refer to the reference video as @Video1, element images as @Element1, and style images as @Image1. Max 2500 characters - **video_url**: string - Reference video. .mp4/.mov, 3-15 seconds, 720-3840px, 23-60 fps, max 200MB ### Optional - **duration**: string (default: 5) - Output video duration in seconds (3-15). Billed per second Options: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - **aspect_ratio**: string (default: auto) - Aspect ratio of the generated video Options: auto, 16:9, 9:16, 1:1 - **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 ### Watercolor Scene with an Element Follow the reference video, add an element, and apply a watercolor style ```json { "model": "fal-ai/kling-video/o3/4k/video-to-video/reference", "input": { "prompt": "Integrate @Element1 in the scene. Style video should be following watercolor style of @Image1", "video_url": "https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-reference/video_reference.mp4", "elements": [ { "frontal_image_url": "https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-reference/element1_front.png", "reference_image_urls": [ "https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-reference/element1_reference1.png" ] } ], "image_urls": [ "https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-reference/image_url1.jpg" ], "duration": "5", "aspect_ratio": "auto" } } ``` ## 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 - 4K is billed at 977 credits per second — iterate on shorter durations first - Reference 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 - duration is a string enum ("3"-"15"); it defaults to "5" when omitted ## Documentation https://fal.ai/models/fal-ai/kling-video/o3/4k/video-to-video/reference