{"models":[{"endpoint_id":"kling/v4/reference-to-video","metadata":{"display_name":"Kling 4.0 Reference to Video","category":"video-to-video","description":"Kling 4.0 generates videos from text prompts and image or video references at 720p or 1080p, with durations from 3 to 30 seconds and per-shot prompts.  ","status":"active","tags":["reference-to-video","multi-shot","image-reference","video-reference","kling"],"updated_at":"2026-10-23T16:50:56.400Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0aaea014/-781kCHOSCW9vaMcaPfMS.jpg","model_url":"https://fal.run/kling/v4/reference-to-video","license_type":"commercial","date":"2026-10-16T15:21:08.011Z","group":{"key":"kling-v4","label":"Reference to Video"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.1.0","info":{"title":"Queue OpenAPI for fal-ai/kling-video/v4/reference-to-video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/kling-video/v4/reference-to-video queue.","x-fal-metadata":{"endpointId":"fal-ai/kling-video/v4/reference-to-video","category":"unknown","thumbnailUrl":"https://v3b.fal.media/files/b/0aaf47e9/sfyKlC8CjfeHMfGRSKXNS.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/kling-video/v4/reference-to-video","documentationUrl":"https://fal.ai/models/fal-ai/kling-video/v4/reference-to-video/api","about":"Generate videos with Kling 4.0 Reference to Video"}},"components":{"securitySchemes":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Fal Key"}},"schemas":{"QueueStatus":{"type":"object","properties":{"status":{"type":"string","enum":["IN_QUEUE","IN_PROGRESS","COMPLETED"]},"request_id":{"type":"string","description":"The request id."},"response_url":{"type":"string","description":"The response url."},"status_url":{"type":"string","description":"The status url."},"cancel_url":{"type":"string","description":"The cancel url."},"logs":{"type":"object","description":"The logs.","additionalProperties":true},"metrics":{"type":"object","description":"The metrics.","additionalProperties":true},"queue_position":{"type":"integer","description":"The queue position."}},"required":["status","request_id"]},"KlingVideoV4ReferenceToVideoInput":{"type":"object","title":"ReferenceToVideoInput","properties":{"prompt":{"anyOf":[{"type":"string","maxLength":26000},{"type":"null"}],"title":"Prompt","examples":["@Element1 and @Element2 are having dinner at the table in @Image1"],"description":"Text prompt. Reference inputs as @Image1, @Video1, @Element1, etc. Either prompt or multi_prompt must be provided."},"duration":{"type":"integer","title":"Duration","minimum":3,"maximum":30,"description":"Video duration in seconds (3-30).","default":5},"end_image_url":{"anyOf":[{"x-fal":{"min_width":300,"min_height":300,"timeout":20,"max_file_size":31457280,"max_aspect_ratio":2.5,"min_aspect_ratio":0.4},"type":"string","ui":{"field":"image"},"limit_description":"Max file size: 30.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},{"type":"null"}],"title":"End Image Url","description":"Optional image to use as the last frame. Counts toward the image reference limit."},"middle_image_urls":{"anyOf":[{"type":"array","items":{"x-fal":{"min_width":300,"min_height":300,"timeout":20,"max_file_size":31457280,"max_aspect_ratio":2.5,"min_aspect_ratio":0.4},"type":"string","ui":{"field":"image"},"_fal_ui_field":"image","limit_description":"Max file size: 30.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},"maxItems":8},{"type":"null"}],"title":"Middle Image Urls","examples":[null],"description":"Optional ordered keyframes between the first and last frames (max 8). Count toward the image reference limit."},"resolution":{"type":"string","title":"Resolution","enum":["720p","1080p"],"description":"Output resolution.","default":"1080p"},"video_urls":{"anyOf":[{"type":"array","items":{"x-fal":{"min_duration":3,"min_aspect_ratio":0.4,"max_duration":30.05,"max_file_size":314572800,"min_fps":23.9,"timeout":30,"max_height":4553,"max_fps":60.05,"min_width":700,"min_height":700,"max_width":4553,"max_aspect_ratio":2.5},"type":"string","ui":{"field":"video"},"_fal_ui_field":"video","limit_description":"Max file size: 300.0MB, Min width: 700px, Min height: 700px, Max width: 4553px, Max height: 4553px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Min duration: 3.0s, Max duration: 30.05s, Min FPS: 23.9, Max FPS: 60.05, Timeout: 30.0s"},"maxItems":5},{"type":"null"}],"title":"Video Urls","examples":[null],"description":"Reference videos (3-30s each, 30s combined with element videos), referenced as @Video1, @Video2, ... (max 5)."},"image_urls":{"anyOf":[{"type":"array","items":{"x-fal":{"min_width":300,"min_height":300,"timeout":20,"max_file_size":31457280,"max_aspect_ratio":2.5,"min_aspect_ratio":0.4},"type":"string","ui":{"field":"image"},"_fal_ui_field":"image","limit_description":"Max file size: 30.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},"maxItems":10},{"type":"null"}],"title":"Image Urls","examples":[null],"description":"Reference images, referenced as @Image1, @Image2, ... (max 10)."},"aspect_ratio":{"type":"string","title":"Aspect Ratio","enum":["auto","16:9","9:16","1:1","21:9"],"description":"Aspect ratio of the generated video. 'auto' adapts it to the references.","default":"16:9"},"elements":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/KlingV4Element"},"maxItems":7},{"type":"null"}],"title":"Elements","examples":[null],"description":"Characters/objects, referenced as @Element1, @Element2, ... (max 7). Up to 3 elements may carry a voice_id and up to 3 may be video elements."},"multi_prompt":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/KlingV4Shot"},"minItems":1},{"type":"null"}],"title":"Multi Prompt","examples":[null],"description":"Per-shot prompts for multi-shot generation. The video duration is the sum of the shot durations."},"voice_ids":{"anyOf":[{"type":"array","items":{"type":"string"},"maxItems":3},{"type":"null"}],"title":"Voice Ids","examples":[null],"description":"Voices referenced in the prompt as @Voice1, @Voice2, ... (max 3, including voices bound to elements). Create one with https://fal.ai/models/fal-ai/kling-video/create-voice"},"start_image_url":{"anyOf":[{"x-fal":{"min_width":300,"min_height":300,"timeout":20,"max_file_size":31457280,"max_aspect_ratio":2.5,"min_aspect_ratio":0.4},"type":"string","ui":{"field":"image"},"limit_description":"Max file size: 30.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},{"type":"null"}],"title":"Start Image Url","description":"Optional image to use as the first frame. Counts toward the image reference limit."}},"x-fal-order-properties":["prompt","multi_prompt","duration","start_image_url","middle_image_urls","end_image_url","image_urls","video_urls","elements","voice_ids","resolution","aspect_ratio"]},"KlingVideoV4ReferenceToVideoOutput":{"type":"object","title":"ReferenceToVideoOutput","properties":{"video":{"$ref":"#/components/schemas/File","examples":[{"content_type":"video/mp4","file_size":3020124,"url":"https://v3b.fal.media/files/b/0aac4497/-fHk6MiMZhLy2FncCbyM7_clip_reference.mp4","file_name":"output.mp4"}],"description":"The generated video."}},"required":["video"],"x-fal-order-properties":["video"]},"KlingV4Element":{"type":"object","title":"KlingV4Element","properties":{"frontal_image_url":{"anyOf":[{"x-fal":{"min_width":300,"min_height":300,"timeout":20,"max_file_size":31457280,"max_aspect_ratio":2.5,"min_aspect_ratio":0.4},"type":"string","ui":{"field":"image"},"limit_description":"Max file size: 30.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},{"type":"null"}],"title":"Frontal Image Url","description":"The frontal image of the element (main view)."},"voice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Voice Id","description":"Voice bound to this element. Create one with https://fal.ai/models/fal-ai/kling-video/create-voice"},"reference_image_urls":{"anyOf":[{"type":"array","items":{"x-fal":{"min_width":300,"min_height":300,"timeout":20,"max_file_size":31457280,"max_aspect_ratio":2.5,"min_aspect_ratio":0.4},"type":"string","ui":{"field":"image"},"_fal_ui_field":"image","limit_description":"Max file size: 30.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},"maxItems":3},{"type":"null"}],"title":"Reference Image Urls","description":"Additional views of the element from different angles (1-3)."},"video_url":{"anyOf":[{"x-fal":{"min_duration":3,"min_aspect_ratio":0.4,"max_duration":8.05,"max_file_size":314572800,"min_fps":23.9,"timeout":30,"max_height":4553,"max_fps":60.05,"min_width":700,"min_height":700,"max_width":4553,"max_aspect_ratio":2.5},"type":"string","ui":{"field":"video"},"limit_description":"Max file size: 300.0MB, Min width: 700px, Min height: 700px, Max width: 4553px, Max height: 4553px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Min duration: 3.0s, Max duration: 8.05s, Min FPS: 23.9, Max FPS: 60.05, Timeout: 30.0s"},{"type":"null"}],"title":"Video Url","description":"A video of the element, used instead of images (3-8s)."}},"x-fal-order-properties":["frontal_image_url","reference_image_urls","video_url","voice_id"]},"KlingV4Shot":{"type":"object","title":"KlingV4Shot","properties":{"duration":{"type":"integer","title":"Duration","minimum":1,"maximum":30,"description":"Shot duration in seconds.","default":5},"prompt":{"type":"string","title":"Prompt","minLength":1,"maxLength":512,"description":"The prompt for this shot."}},"required":["prompt"],"x-fal-order-properties":["prompt","duration"]},"File":{"type":"object","title":"File","properties":{"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type","examples":["image/png"],"description":"The mime type of the file."},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size","examples":[4404019],"description":"The size of the file in bytes."},"url":{"type":"string","title":"Url","description":"The URL where the file can be downloaded from."},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name","examples":["z9RV14K95DvU.png"],"description":"The name of the file. It will be auto-generated if not provided."}},"required":["url"],"x-fal-order-properties":["url","content_type","file_name","file_size"]}}},"paths":{"/fal-ai/kling-video/v4/reference-to-video/requests/{request_id}/status":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}},{"name":"logs","in":"query","required":false,"schema":{"type":"number","description":"Whether to include logs (`1`) in the response or not (`0`)."}}],"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/kling-video/v4/reference-to-video/requests/{request_id}/cancel":{"put":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"The request was cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the request was cancelled successfully."}}}}}}}}},"/fal-ai/kling-video/v4/reference-to-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KlingVideoV4ReferenceToVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/kling-video/v4/reference-to-video/requests/{request_id}":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"Result of the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KlingVideoV4ReferenceToVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}}],"next_cursor":null,"has_more":false}
