{"models":[{"endpoint_id":"alibaba/wan-3.0-prime/reference-to-video","metadata":{"display_name":"Wan 3.0 Prime","category":"video-to-video","description":"Wan 3.0 Prime Reference-to-Video combines reference images, videos, and audio into a unified video with fast generation and strong multimodal coherence. It follows character identity, visual style, movement, and sound cues across references to create controlled, consistent, and production-ready results.","status":"active","tags":["reference","video"],"updated_at":"2026-08-24T06:03:21.673Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0aa79464/AfVcXUCY_wyxlQVsAGpx2.jpg","model_url":"https://fal.run/alibaba/wan-3.0-prime/reference-to-video","license_type":"commercial","date":"2026-08-24T04:43:49.156Z","group":{"key":"Wan30prime","label":"Reference to Video"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for alibaba/wan-3.0-prime/reference-to-video","version":"1.0.0","description":"The OpenAPI schema for the alibaba/wan-3.0-prime/reference-to-video queue.","x-fal-metadata":{"endpointId":"alibaba/wan-3.0-prime/reference-to-video","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0aa79464/AfVcXUCY_wyxlQVsAGpx2.jpg","playgroundUrl":"https://fal.ai/models/alibaba/wan-3.0-prime/reference-to-video","documentationUrl":"https://fal.ai/models/alibaba/wan-3.0-prime/reference-to-video/api","about":"Generate a video from reference media with Wan 3.0 Prime."}},"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"]},"Wan30PrimeReferenceToVideoInput":{"properties":{"reference_image_urls":{"type":"array","maxItems":10,"title":"Reference Image Urls","items":{"type":"string"},"description":"Up to 10 reference image URLs."},"enable_thinking":{"type":"boolean","default":false,"title":"Enable Thinking","description":"Enable enhanced reasoning before generation."},"web_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Web Url","description":"Public webpage URL to base the video on. Requires enable_thinking=true. Only pages that do not require login can be read."},"duration":{"anyOf":[{"type":"integer","maximum":30,"minimum":2},{"type":"null"}],"default":5,"description":"Output duration in seconds. Set to null for smart duration, which lets the model pick a length from the prompt and reference media.","title":"Duration"},"reference_video_urls":{"type":"array","maxItems":5,"title":"Reference Video Urls","items":{"type":"string"},"description":"Up to 5 reference video URLs totaling at most 15 seconds. Each clip must be at least 16 fps."},"audio":{"type":"boolean","default":true,"title":"Audio","description":"Include generated audio."},"seed":{"anyOf":[{"type":"integer","maximum":2147483647,"minimum":0},{"type":"null"}],"title":"Seed"},"prompt":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}],"title":"Prompt","description":"Text prompt directing how the reference media is used. Reference media can be addressed positionally, e.g. 'the subject in Image 1 walks past Video 1'."},"enable_prompt_expansion":{"type":"boolean","default":true,"title":"Enable Prompt Expansion","description":"Enable intelligent prompt rewriting. Disabling it can save roughly 20-60 seconds of latency but is likely to degrade generation quality."},"resolution":{"type":"string","default":"1080p","enum":["480p","720p","1080p"],"description":"Output video resolution tier.","title":"Resolution"},"file_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Url","description":"Document URL to base the video on. Requires enable_thinking=true."},"reference_audio_urls":{"type":"array","maxItems":5,"title":"Reference Audio Urls","items":{"type":"string"},"description":"Up to 5 reference audio URLs totaling at most 15 seconds."},"aspect_ratio":{"type":"string","default":"adaptive","enum":["adaptive","16:9","4:3","1:1","3:4","9:16"],"description":"Output aspect ratio, or adaptive selection.","title":"Aspect Ratio"},"enable_safety_checker":{"type":"boolean","default":true,"title":"Enable Safety Checker","description":"Enable content moderation for input and output. Disabling it requires account authorization; unauthorized requests are always checked."}},"type":"object","x-fal-order-properties":["prompt","resolution","aspect_ratio","duration","audio","enable_prompt_expansion","enable_thinking","seed","enable_safety_checker","reference_image_urls","reference_video_urls","reference_audio_urls","file_url","web_url"],"title":"Wan30ReferenceToVideoInput"},"Wan30PrimeReferenceToVideoOutput":{"properties":{"duration":{"type":"number","title":"Duration","description":"Generated video duration in seconds."},"actual_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actual Prompt"},"seed":{"type":"integer","title":"Seed","description":"The seed used for generation."},"video":{"$ref":"#/components/schemas/VideoFile","description":"The generated video file."}},"type":"object","x-fal-order-properties":["video","seed","duration","actual_prompt"],"title":"Wan30Output","required":["video","seed","duration"]},"VideoFile":{"properties":{"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height","description":"The height of the video"},"fps":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Fps","description":"The FPS of the video"},"num_frames":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Num Frames","description":"The number of frames in the video"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration","description":"The duration of the video"},"url":{"type":"string","title":"Url","description":"The URL where the file can be downloaded from."},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"examples":["image/png"],"description":"The mime type of the file.","title":"Content Type"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"examples":["z9RV14K95DvU.png"],"description":"The name of the file. It will be auto-generated if not provided.","title":"File Name"},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width","description":"The width of the video"},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"examples":[4404019],"description":"The size of the file in bytes.","title":"File Size"}},"type":"object","x-fal-order-properties":["url","content_type","file_name","file_size","width","height","fps","duration","num_frames"],"title":"VideoFile","required":["url"]}}},"paths":{"/alibaba/wan-3.0-prime/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"}}}}}}},"/alibaba/wan-3.0-prime/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."}}}}}}}}},"/alibaba/wan-3.0-prime/reference-to-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Wan30PrimeReferenceToVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/alibaba/wan-3.0-prime/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/Wan30PrimeReferenceToVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/sync-lipsync/v3","metadata":{"display_name":"sync-3 Lipsync","category":"video-to-video","description":"sync-3 most powerful lipsync model yet, featuring native visual intelligence for professional-quality video.","status":"active","tags":["stylized","transform","lipsync"],"updated_at":"2026-06-22T17:36:40.628Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a9460ff/hUjOvIu-6_JSEZr9SeFN5_8f82f538ee3246f3942ba081b0e28d3c.jpg","model_url":"https://fal.run/fal-ai/sync-lipsync/v3","license_type":"commercial","date":"2026-04-06T11:59:40.659Z","group":{"key":"sync-3","label":"Video to Video"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/sync-lipsync/v3","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/sync-lipsync/v3 queue.","x-fal-metadata":{"endpointId":"fal-ai/sync-lipsync/v3","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a9460ff/hUjOvIu-6_JSEZr9SeFN5_8f82f538ee3246f3942ba081b0e28d3c.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/sync-lipsync/v3","documentationUrl":"https://fal.ai/models/fal-ai/sync-lipsync/v3/api","about":"Lipsync Request V3"}},"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"]},"SyncLipsyncV3Input":{"title":"Sync3Input","properties":{"audio_url":{"title":"Audio Url","examples":["https://fal.media/files/lion/vyFWygmZsIZlUO4s0nr2n.wav"],"type":"string","description":"URL of the input audio"},"video_url":{"title":"Video Url","examples":["https://v3.fal.media/files/tiger/IugLCDJRIoGqvqTa-EJTr_3wg74vCqyNuQ-IiBd77MM_output.mp4"],"type":"string","description":"URL of the input video"},"options":{"anyOf":[{"$ref":"#/components/schemas/Sync3GenerationOptions"},{"type":"null"}],"description":"Additional Sync.so generation options. If options.sync_mode is set, it overrides the top-level sync_mode field."},"sync_mode":{"title":"Sync Mode","default":"cut_off","enum":["cut_off","loop","bounce","silence","remap"],"type":"string","description":"Lipsync mode when audio and video durations are out of sync."}},"x-fal-order-properties":["video_url","audio_url","sync_mode","options"],"type":"object","required":["video_url","audio_url"]},"SyncLipsyncV3Output":{"title":"Sync3Output","properties":{"video":{"examples":[{"url":"https://v3b.fal.media/files/b/0a93c312/TqKMiLtCcTKWSeAWXJRD0_output.mp4"}],"description":"The generated video","$ref":"#/components/schemas/File"}},"x-fal-order-properties":["video"],"type":"object","required":["video"]},"Sync3GenerationOptions":{"title":"Sync3GenerationOptions","properties":{"occlusion_detection_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Occlusion Detection Enabled","description":"Whether to detect occlusion during generation. Sync.so handles this automatically for sync-3, so this option is ignored by sync-3."},"model_mode":{"anyOf":[{"enum":["lips","face","head","lipsync","emotion","talking_head"],"type":"string"},{"type":"null"}],"title":"Model Mode","description":"Edit region for the model. This is a Sync.so option primarily used by react-1."},"temperature":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}],"title":"Temperature","description":"Controls how expressive lipsync can be; 0 is least expressive, 1 is most expressive. Sync.so handles this natively for sync-3, so this option is ignored by sync-3."},"sync_mode":{"anyOf":[{"enum":["cut_off","loop","bounce","silence","remap"],"type":"string"},{"type":"null"}],"title":"Sync Mode","description":"Defines how to handle duration mismatches between video and audio inputs. Overrides the top-level sync_mode when provided."},"prompt":{"anyOf":[{"enum":["happy","sad","angry","disgusted","surprised","neutral"],"type":"string"},{"type":"null"}],"title":"Prompt","description":"Emotion prompt for generation. This is a Sync.so option primarily used by react-1."},"active_speaker_detection":{"anyOf":[{"$ref":"#/components/schemas/Sync3ActiveSpeakerDetection"},{"type":"null"}],"description":"Active speaker detection configuration for videos with multiple people."}},"x-fal-order-properties":["sync_mode","model_mode","prompt","temperature","active_speaker_detection","occlusion_detection_enabled"],"type":"object"},"File":{"title":"File","properties":{"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."},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type","examples":["image/png"],"description":"The mime type of the file."},"url":{"title":"Url","type":"string","description":"The URL where the file can be downloaded from."},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size","examples":[4404019],"description":"The size of the file in bytes."}},"x-fal-order-properties":["url","content_type","file_name","file_size"],"type":"object","required":["url"]},"Sync3ActiveSpeakerDetection":{"title":"Sync3ActiveSpeakerDetection","properties":{"face_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Face Image","description":"Base64 encoded face image for manual speaker selection."},"bounding_boxes":{"anyOf":[{"type":"array","items":{"anyOf":[{"type":"array","items":{"type":"integer"}},{"type":"null"}]}},{"type":"null"}],"title":"Bounding Boxes","description":"Per-frame bounding boxes [x1, y1, x2, y2] for the detected face."},"coordinates":{"anyOf":[{"maxItems":2,"type":"array","items":{"type":"integer"},"minItems":2},{"type":"null"}],"title":"Coordinates","description":"Reference point [x, y] on the speaker's face in frame_number."},"v3":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"V3","description":"Whether to use Sync.so's active speaker detection v3."},"use_v2":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Use V2","description":"Deprecated Sync.so option for active speaker detection v2."},"frame_number":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"title":"Frame Number","description":"Frame index for manual speaker selection coordinates."},"bounding_boxes_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bounding Boxes Url","description":"URL to a JSON file containing per-frame bounding boxes."},"auto_detect":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Detect","description":"Whether to automatically detect and apply generation to the active speaker."}},"x-fal-order-properties":["auto_detect","v3","use_v2","frame_number","coordinates","bounding_boxes","bounding_boxes_url","face_image"],"type":"object"}}},"paths":{"/fal-ai/sync-lipsync/v3/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/sync-lipsync/v3/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/sync-lipsync/v3":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncLipsyncV3Input"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/sync-lipsync/v3/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/SyncLipsyncV3Output"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/kling-video/o3/pro/video-to-video/edit","metadata":{"display_name":"Kling O3 Edit Video [Pro]","category":"video-to-video","description":"Edit videos using Kling O3 from Kling Team!","status":"active","tags":["video-to-video"],"updated_at":"2026-04-26T22:25:17.147Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a8cfcd0/jgn9feXep4nJXWf0tg1cf_6867c6921b6a4015a1906c8e02a7ef9d.jpg","model_url":"https://fal.run/fal-ai/kling-video/o3/pro/video-to-video/edit","license_type":"commercial","date":"2026-02-04T15:48:44.935Z","group":{"key":"kling-o3","label":"Edit Video (pro)"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/kling-video/o3/pro/video-to-video/edit","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/kling-video/o3/pro/video-to-video/edit queue.","x-fal-metadata":{"endpointId":"fal-ai/kling-video/o3/pro/video-to-video/edit","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a8cfcd0/jgn9feXep4nJXWf0tg1cf_6867c6921b6a4015a1906c8e02a7ef9d.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/kling-video/o3/pro/video-to-video/edit","documentationUrl":"https://fal.ai/models/fal-ai/kling-video/o3/pro/video-to-video/edit/api","about":"O3 Pro Video To Video Edit"}},"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"]},"KlingVideoO3ProVideoToVideoEditInput":{"required":["prompt","video_url"],"properties":{"video_url":{"title":"Video Url","type":"string","description":"Reference video URL. Only .mp4/.mov formats, 3-15s duration, 720-3840px resolution, max 200MB.","examples":["https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-edit/video_reference.mp4"],"x-fal":{"min_fps":24,"max_duration":15.05,"max_file_size":209715200,"min_duration":3,"min_width":720,"max_height":3840,"max_fps":60,"min_height":720,"max_width":3840,"timeout":30},"limit_description":"Max file size: 200.0MB, Min width: 720px, Min height: 720px, Max width: 3840px, Max height: 3840px, Min duration: 3.0s, Max duration: 15.05s, Min FPS: 24.0, Max FPS: 60.0, Timeout: 30.0s","_fal_ui_field":"video"},"elements":{"examples":[[{"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"]}]],"title":"Elements","anyOf":[{"items":{"$ref":"#/components/schemas/KlingV3ImageElementInput"},"type":"array"},{"type":"null"}],"description":"Elements (characters/objects) to include. Reference in prompt as @Element1, @Element2."},"prompt":{"maxLength":2500,"examples":["Change environment to be fully snow as @Image1. Replace animal with @Element1"],"title":"Prompt","type":"string","description":"Text prompt for video generation. Reference video as @Video1."},"image_urls":{"examples":[["https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-edit/image_url1.jpg"]],"title":"Image Urls","anyOf":[{"items":{"ui":{"field":"image"},"x-fal":{"max_aspect_ratio":2.5,"min_width":300,"min_aspect_ratio":0.4,"timeout":20,"min_height":300,"max_file_size":10485760},"_fal_ui_field":"image","type":"string","limit_description":"Max file size: 10.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},"type":"array"},{"type":"null"}],"description":"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video."},"shot_type":{"default":"customize","const":"customize","title":"Shot Type","description":"The type of multi-shot video generation.","type":"string"},"keep_audio":{"default":true,"title":"Keep Audio","description":"Whether to keep the original audio from the reference video. ","type":"boolean"}},"title":"O3ProEditVideoV2VInput","type":"object","x-fal-order-properties":["prompt","video_url","image_urls","keep_audio","elements","shot_type"]},"KlingVideoO3ProVideoToVideoEditOutput":{"required":["video"],"properties":{"video":{"$ref":"#/components/schemas/File","description":"The generated video.","examples":[{"content_type":"video/mp4","file_size":4322769,"url":"https://storage.googleapis.com/falserverless/example_outputs/kling-o3/pro-v2v-edit/output.mp4","file_name":"output.mp4"}]}},"title":"O3ProEditV2VOutput","type":"object","x-fal-order-properties":["video"]},"KlingV3ImageElementInput":{"title":"KlingV3ImageElementInput","properties":{"frontal_image_url":{"title":"Frontal Image Url","anyOf":[{"ui":{"field":"image"},"x-fal":{"max_aspect_ratio":2.5,"min_width":300,"min_aspect_ratio":0.4,"timeout":20,"min_height":300,"max_file_size":10485760},"type":"string","limit_description":"Max file size: 10.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},{"type":"null"}],"description":"The frontal image of the element (main view)."},"reference_image_urls":{"title":"Reference Image Urls","anyOf":[{"items":{"ui":{"field":"image"},"x-fal":{"max_aspect_ratio":2.5,"min_width":300,"min_aspect_ratio":0.4,"timeout":20,"min_height":300,"max_file_size":10485760},"_fal_ui_field":"image","type":"string","limit_description":"Max file size: 10.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},"type":"array"},{"type":"null"}],"description":"Additional reference images from different angles. 1-3 images supported. At least one image is required."}},"type":"object","x-fal-order-properties":["frontal_image_url","reference_image_urls"]},"File":{"required":["url"],"properties":{"content_type":{"title":"Content Type","anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file.","examples":["image/png"]},"file_size":{"title":"File Size","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes.","examples":[4404019]},"url":{"title":"Url","description":"The URL where the file can be downloaded from.","type":"string"},"file_name":{"title":"File Name","anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided.","examples":["z9RV14K95DvU.png"]}},"title":"File","type":"object","x-fal-order-properties":["url","content_type","file_name","file_size"]}}},"paths":{"/fal-ai/kling-video/o3/pro/video-to-video/edit/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/o3/pro/video-to-video/edit/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/o3/pro/video-to-video/edit":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KlingVideoO3ProVideoToVideoEditInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/kling-video/o3/pro/video-to-video/edit/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/KlingVideoO3ProVideoToVideoEditOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/kling-video/v3/pro/motion-control","metadata":{"display_name":"Kling Video","category":"video-to-video","description":"Transfer movements from a reference video to any character image. Cost-effective mode for motion transfer, perfect for portraits and simple animations.","status":"active","tags":["stylized","transform","editing"],"updated_at":"2026-07-17T23:34:08.711Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a90eee3/9FBKg0W0qDGikoxwCWZ7P_9328cc2a34f044b29591eb247e8f2ee4.jpg","model_url":"https://fal.run/fal-ai/kling-video/v3/pro/motion-control","license_type":"commercial","date":"2026-03-05T10:04:10.677Z","group":{"key":"Motion-Control-3","label":"Pro"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/kling-video/v3/pro/motion-control","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/kling-video/v3/pro/motion-control queue.","x-fal-metadata":{"endpointId":"fal-ai/kling-video/v3/pro/motion-control","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a90eee3/9FBKg0W0qDGikoxwCWZ7P_9328cc2a34f044b29591eb247e8f2ee4.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/kling-video/v3/pro/motion-control","documentationUrl":"https://fal.ai/models/fal-ai/kling-video/v3/pro/motion-control/api","about":"Kling V3 (pro) Motion Control API.\n\nGenerate videos where character actions match a reference video while\nthe visual appearance is based on a reference image. Pro mode generates\nhigher quality video output.\n\nV3 adds support for element binding to enhance facial consistency.\nWhen an element is provided, the character's facial identity is better\npreserved across the generated video. Element binding requires\ncharacter_orientation='video'.\n\nCharacter orientation controls output pose direction and video limits:\n- 'video': Matches reference video orientation - better for complex motions (max 30s)\n- 'image': Matches reference image orientation - better for camera movements (max 10s)"}},"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"]},"KlingVideoV3ProMotionControlInput":{"required":["image_url","video_url","character_orientation"],"properties":{"image_url":{"title":"Image Url","type":"string","description":"Reference image URL. The characters, backgrounds, and other elements in the generated video are based on this reference image. Characters should have clear body proportions, avoid occlusion, and occupy more than 5% of the image area.","examples":["https://v3b.fal.media/files/b/0a90ffa7/TNErq9yD7ZxGRATjfAqnh_EIgJSN67.png"],"x-fal":{"max_aspect_ratio":2.5,"min_aspect_ratio":0.4,"max_file_size":10485760,"min_width":340,"max_height":3850,"timeout":20,"min_height":340,"max_width":3850},"limit_description":"Max file size: 10.0MB, Min width: 340px, Min height: 340px, Max width: 3850px, Max height: 3850px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s","_fal_ui_field":"image"},"elements":{"title":"Elements","anyOf":[{"items":{"$ref":"#/components/schemas/KlingV3ImageElementInput"},"type":"array"},{"type":"null"}],"description":"Optional element for facial consistency binding. Upload a facial element to enhance identity preservation in the generated video. Only 1 element is supported. Reference in prompt as @Element1. Element binding is only supported when character_orientation is 'video'.","examples":[null]},"prompt":{"title":"Prompt","anyOf":[{"maxLength":2500,"type":"string"},{"type":"null"}],"examples":["A man dancing"]},"keep_original_sound":{"default":true,"title":"Keep Original Sound","description":"Whether to keep the original sound from the reference video.","type":"boolean"},"character_orientation":{"examples":["image"],"title":"Character Orientation","enum":["image","video"],"description":"Controls whether the output character's orientation matches the reference image or video. 'video': orientation matches reference video - better for complex motions (max 30s). 'image': orientation matches reference image - better for following camera movements (max 10s).","type":"string"},"video_url":{"title":"Video Url","type":"string","description":"Reference video URL. The character actions in the generated video will be consistent with this reference video. Should contain a realistic style character with entire body or upper body visible, including head, without obstruction. Duration limit depends on character_orientation: 10s max for 'image', 30s max for 'video'.","examples":["https://v3b.fal.media/files/b/0a90ff92/hklvF__w53diz6Rve7f5__JuDW2xl0mr6sJ_Kjz3Vxe_vidoeook%20(1)_1.mp4"],"x-fal":{"max_duration":30.05,"max_file_size":104857600,"min_duration":3,"min_width":340,"max_height":3850,"timeout":30,"min_height":340,"max_width":3850},"limit_description":"Max file size: 100.0MB, Min width: 340px, Min height: 340px, Max width: 3850px, Max height: 3850px, Min duration: 3.0s, Max duration: 30.05s, Timeout: 30.0s","_fal_ui_field":"video"}},"title":"MotionControlV3ProRequest","type":"object","x-fal-order-properties":["prompt","image_url","video_url","keep_original_sound","character_orientation","elements"]},"KlingVideoV3ProMotionControlOutput":{"required":["video"],"properties":{"video":{"$ref":"#/components/schemas/File","description":"The generated video","examples":[{"url":"https://v3b.fal.media/files/b/0a90ffb9/CnmmxIvK05VAq4gG8WiEQ_output.mp4"}]}},"title":"MotionControlV3ProOutput","type":"object","x-fal-order-properties":["video"]},"KlingV3ImageElementInput":{"title":"KlingV3ImageElementInput","properties":{"frontal_image_url":{"title":"Frontal Image Url","anyOf":[{"ui":{"field":"image"},"x-fal":{"max_aspect_ratio":2.5,"min_width":300,"min_aspect_ratio":0.4,"timeout":20,"min_height":300,"max_file_size":10485760},"type":"string","limit_description":"Max file size: 10.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},{"type":"null"}],"description":"The frontal image of the element (main view)."},"reference_image_urls":{"title":"Reference Image Urls","anyOf":[{"items":{"ui":{"field":"image"},"x-fal":{"max_aspect_ratio":2.5,"min_width":300,"min_aspect_ratio":0.4,"timeout":20,"min_height":300,"max_file_size":10485760},"_fal_ui_field":"image","type":"string","limit_description":"Max file size: 10.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},"type":"array"},{"type":"null"}],"description":"Additional reference images from different angles. 1-3 images supported. At least one image is required."}},"type":"object","x-fal-order-properties":["frontal_image_url","reference_image_urls"]},"File":{"required":["url"],"properties":{"content_type":{"title":"Content Type","anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file.","examples":["image/png"]},"file_size":{"title":"File Size","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes.","examples":[4404019]},"url":{"title":"Url","description":"The URL where the file can be downloaded from.","type":"string"},"file_name":{"title":"File Name","anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided.","examples":["z9RV14K95DvU.png"]}},"title":"File","type":"object","x-fal-order-properties":["url","content_type","file_name","file_size"]}}},"paths":{"/fal-ai/kling-video/v3/pro/motion-control/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/v3/pro/motion-control/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/v3/pro/motion-control":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KlingVideoV3ProMotionControlInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/kling-video/v3/pro/motion-control/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/KlingVideoV3ProMotionControlOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/ffmpeg-api/merge-videos","metadata":{"display_name":"Ffmpeg Api","category":"video-to-video","description":"Use ffmpeg capabilities to merge 2 or more videos.","status":"active","tags":[],"updated_at":"2026-06-24T10:36:53.156Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a9f91b5/NrTcEEKFIBtR9irMXXIMh_y4h72cLd.png","model_url":"https://fal.run/fal-ai/ffmpeg-api/merge-videos","license_type":"commercial","date":"2025-08-12T14:10:10.402Z","highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/ffmpeg-api/merge-videos","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/ffmpeg-api/merge-videos queue.","x-fal-metadata":{"endpointId":"fal-ai/ffmpeg-api/merge-videos","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a9f91b5/NrTcEEKFIBtR9irMXXIMh_y4h72cLd.png","playgroundUrl":"https://fal.ai/models/fal-ai/ffmpeg-api/merge-videos","documentationUrl":"https://fal.ai/models/fal-ai/ffmpeg-api/merge-videos/api","about":"Merge Videos Endpoint"}},"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"]},"FfmpegApiMergeVideosInput":{"type":"object","x-fal-order-properties":["video_urls","target_fps","resolution","resolution_aspect_ratio_video_index"],"properties":{"video_urls":{"type":"array","description":"List of video URLs to merge in order","title":"Video Urls","minItems":2,"items":{"type":"string"}},"target_fps":{"anyOf":[{"type":"number","minimum":1,"maximum":60},{"type":"null"}],"description":"Target FPS for the output video. If not provided, uses the lowest FPS from input videos.","title":"Target Fps"},"resolution_aspect_ratio_video_index":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Zero-based index of the input video whose aspect ratio should be used when resolution is not provided. If omitted, preserves the default behavior of using the minimum width and minimum height across input videos.","title":"Resolution Aspect Ratio Video Index"},"resolution":{"anyOf":[{"$ref":"#/components/schemas/ImageSize"},{"type":"string","enum":["square_hd","square","portrait_4_3","portrait_16_9","landscape_4_3","landscape_16_9"]},{"type":"null"}],"description":"Resolution of the final video. Width and height must be between 512 and 2048.","title":"Resolution"}},"title":"MergeVideosInput","required":["video_urls"]},"FfmpegApiMergeVideosOutput":{"type":"object","x-fal-order-properties":["video","metadata"],"properties":{"video":{"$ref":"#/components/schemas/File","description":"Merged video file"},"metadata":{"type":"object","description":"Metadata about the merged video including original video info","title":"Metadata"}},"title":"MergeVideosOutput","required":["video","metadata"]},"ImageSize":{"type":"object","x-fal-order-properties":["width","height"],"properties":{"width":{"type":"integer","default":512,"title":"Width","description":"The width of the generated image.","maximum":14142,"exclusiveMinimum":0},"height":{"type":"integer","default":512,"title":"Height","description":"The height of the generated image.","maximum":14142,"exclusiveMinimum":0}},"title":"ImageSize"},"File":{"type":"object","x-fal-order-properties":["url","content_type","file_name","file_size"],"properties":{"content_type":{"examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file.","title":"Content Type"},"file_name":{"examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided.","title":"File Name"},"url":{"type":"string","description":"The URL where the file can be downloaded from.","title":"Url"},"file_size":{"examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes.","title":"File Size"}},"title":"File","required":["url"]}}},"paths":{"/fal-ai/ffmpeg-api/merge-videos/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/ffmpeg-api/merge-videos/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/ffmpeg-api/merge-videos":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FfmpegApiMergeVideosInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/ffmpeg-api/merge-videos/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/FfmpegApiMergeVideosOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/kling-video/v2.6/standard/motion-control","metadata":{"display_name":"Kling Video v2.6 Motion Control [Standard]","category":"video-to-video","description":"Transfer movements from a reference video to any character image. Cost-effective mode for motion transfer, perfect for portraits and simple animations.","status":"active","tags":[],"updated_at":"2026-07-21T18:22:08.641Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a875717/JVmIsgjXggpbFC-Szsr7q_8e01139cd9a1445facec60b125ca32c9.jpg","model_url":"https://fal.run/fal-ai/kling-video/v2.6/standard/motion-control","license_type":"commercial","date":"2025-12-21T20:50:57.333Z","group":{"key":"kling-video/v2.6","label":"Motion Control [Standard]"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/kling-video/v2.6/standard/motion-control","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/kling-video/v2.6/standard/motion-control queue.","x-fal-metadata":{"endpointId":"fal-ai/kling-video/v2.6/standard/motion-control","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a875717/JVmIsgjXggpbFC-Szsr7q_8e01139cd9a1445facec60b125ca32c9.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/kling-video/v2.6/standard/motion-control","documentationUrl":"https://fal.ai/models/fal-ai/kling-video/v2.6/standard/motion-control/api","about":"Kling V2.6 (standard) Motion Control API.\n\nGenerate videos where character actions match a reference video while\nthe visual appearance is based on a reference image. Standard mode is\ncost-effective.\n\nThe character in the reference image will perform the same actions as\nthe character in the reference video. This is useful for:\n- Transferring dance moves to different characters\n- Applying specific gestures or movements to portraits\n- Creating consistent character animations across different visuals\n\nCharacter orientation controls output pose direction and video limits:\n- 'video': Matches reference video orientation - better for complex motions (max 30s)\n- 'image': Matches reference image orientation - better for camera movements (max 10s)"}},"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"]},"KlingVideoV26StandardMotionControlInput":{"description":"Request model for motion control video generation.","required":["image_url","video_url","character_orientation"],"properties":{"image_url":{"title":"Image Url","type":"string","description":"Reference image URL. The characters, backgrounds, and other elements in the generated video are based on this reference image. Characters should have clear body proportions, avoid occlusion, and occupy more than 5% of the image area.","examples":["https://v3b.fal.media/files/b/0a875302/8NaxQrQxDNHppHtqcchMm.png"],"x-fal":{"max_aspect_ratio":2.5,"min_aspect_ratio":0.4,"max_file_size":10485760,"min_width":340,"max_height":3850,"timeout":20,"min_height":340,"max_width":3850},"limit_description":"Max file size: 10.0MB, Min width: 340px, Min height: 340px, Max width: 3850px, Max height: 3850px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s","_fal_ui_field":"image"},"character_orientation":{"examples":["video"],"title":"Character Orientation","enum":["image","video"],"description":"Controls whether the output character's orientation matches the reference image or video. 'video': orientation matches reference video - better for complex motions (max 30s). 'image': orientation matches reference image - better for following camera movements (max 10s).","type":"string"},"prompt":{"title":"Prompt","anyOf":[{"maxLength":2500,"type":"string"},{"type":"null"}],"examples":["An african american woman dancing"]},"keep_original_sound":{"default":true,"title":"Keep Original Sound","description":"Whether to keep the original sound from the reference video.","type":"boolean"},"video_url":{"type":"string","limit_description":"Max file size: 100.0MB, Min width: 340px, Min height: 340px, Max width: 3850px, Max height: 3850px, Min duration: 3.0s, Max duration: 30.05s, Timeout: 30.0s","title":"Video Url","x-fal":{"max_duration":30.05,"max_file_size":104857600,"min_duration":3,"min_width":340,"max_height":3850,"timeout":30,"min_height":340,"max_width":3850},"_fal_ui_field":"video","description":"Reference video URL. The character actions in the generated video will be consistent with this reference video. Should contain a realistic style character with entire body or upper body visible, including head, without obstruction. Duration limit depends on character_orientation: 10s max for 'image', 30s max for 'video'."}},"title":"MotionControlRequest","type":"object","x-fal-order-properties":["prompt","image_url","video_url","keep_original_sound","character_orientation"]},"KlingVideoV26StandardMotionControlOutput":{"description":"Output model for motion control video generation.","required":["video"],"properties":{"video":{"$ref":"#/components/schemas/File","description":"The generated video","examples":[{"content_type":"video/mp4","file_size":35299865,"url":"https://v3b.fal.media/files/b/0a875336/8p3rFiXtx3fE2TLoh59KP_output.mp4","file_name":"output.mp4"}]}},"title":"MotionControlOutput","type":"object","x-fal-order-properties":["video"]},"File":{"required":["url"],"properties":{"content_type":{"title":"Content Type","anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file.","examples":["image/png"]},"file_size":{"title":"File Size","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes.","examples":[4404019]},"url":{"title":"Url","description":"The URL where the file can be downloaded from.","type":"string"},"file_name":{"title":"File Name","anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided.","examples":["z9RV14K95DvU.png"]}},"title":"File","type":"object","x-fal-order-properties":["url","content_type","file_name","file_size"]}}},"paths":{"/fal-ai/kling-video/v2.6/standard/motion-control/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/v2.6/standard/motion-control/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/v2.6/standard/motion-control":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KlingVideoV26StandardMotionControlInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/kling-video/v2.6/standard/motion-control/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/KlingVideoV26StandardMotionControlOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/sync-lipsync/v2","metadata":{"display_name":"Sync Lipsync 2.0","category":"video-to-video","description":"Generate realistic lipsync animations from audio using advanced algorithms for high-quality synchronization with Sync Lipsync 2.0 model","status":"active","tags":["animation","lip sync"],"updated_at":"2026-06-26T20:57:54.183Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a9f9a45/-kfzjmJkk91iujX9QQTT3_nAfB0uuc.png","model_url":"https://fal.run/fal-ai/sync-lipsync/v2","license_type":"commercial","date":"2025-04-01T18:57:06.699Z","group":{"key":"sync-lipsync","label":"Lipsync 2.0"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/sync-lipsync/v2","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/sync-lipsync/v2 queue.","x-fal-metadata":{"endpointId":"fal-ai/sync-lipsync/v2","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a9f9a45/-kfzjmJkk91iujX9QQTT3_nAfB0uuc.png","playgroundUrl":"https://fal.ai/models/fal-ai/sync-lipsync/v2","documentationUrl":"https://fal.ai/models/fal-ai/sync-lipsync/v2/api","about":"Lipsync Request V2"}},"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"]},"SyncLipsyncV2Input":{"title":"LipSyncV2Input","properties":{"model":{"title":"Model","default":"lipsync-2","enum":["lipsync-2","lipsync-2-pro"],"type":"string","description":"The model to use for lipsyncing. `lipsync-2-pro` will cost roughly 1.67 times as much as `lipsync-2` for the same duration."},"audio_url":{"title":"Audio Url","examples":["https://fal.media/files/lion/vyFWygmZsIZlUO4s0nr2n.wav"],"type":"string","description":"URL of the input audio"},"video_url":{"title":"Video Url","examples":["https://v3.fal.media/files/tiger/IugLCDJRIoGqvqTa-EJTr_3wg74vCqyNuQ-IiBd77MM_output.mp4"],"type":"string","description":"URL of the input video"},"sync_mode":{"title":"Sync Mode","default":"cut_off","enum":["cut_off","loop","bounce","silence","remap"],"type":"string","description":"Lipsync mode when audio and video durations are out of sync."}},"x-fal-order-properties":["model","video_url","audio_url","sync_mode"],"type":"object","required":["video_url","audio_url"]},"SyncLipsyncV2Output":{"title":"LipSyncV2Output","properties":{"video":{"examples":[{"url":"https://v3.fal.media/files/kangaroo/WIhlgDEJbccwGwAsvL3vz_output.mp4"}],"description":"The generated video","$ref":"#/components/schemas/File"}},"x-fal-order-properties":["video"],"type":"object","required":["video"]},"File":{"title":"File","properties":{"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."},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type","examples":["image/png"],"description":"The mime type of the file."},"url":{"title":"Url","type":"string","description":"The URL where the file can be downloaded from."},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size","examples":[4404019],"description":"The size of the file in bytes."}},"x-fal-order-properties":["url","content_type","file_name","file_size"],"type":"object","required":["url"]}}},"paths":{"/fal-ai/sync-lipsync/v2/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/sync-lipsync/v2/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/sync-lipsync/v2":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncLipsyncV2Input"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/sync-lipsync/v2/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/SyncLipsyncV2Output"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"topaz/upscale/video/precision","metadata":{"display_name":"Topaz Upscale Video Precision","category":"video-to-video","description":"Professional video upscaling powered by Topaz Labs. Precision models (Proteus, Artemis, Iris, Dione, Theia, Gaia, Rhea) enhance footage up to 4x while staying faithful to the source. Best for clean, natural upscales of real-world footage.","status":"active","tags":["upscale","video"],"updated_at":"2026-09-05T01:07:15.958Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0aa5f1ec/6RruEcb1mzuNDFal3KsPz.jpg","model_url":"https://fal.run/topaz/upscale/video/precision","license_type":"commercial","date":"2026-08-11T19:10:25.098Z","group":{"key":"topaz-upscale","label":"Upscale Video Precision"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for topaz/upscale/video/precision","version":"1.0.0","description":"The OpenAPI schema for the topaz/upscale/video/precision queue.","x-fal-metadata":{"endpointId":"topaz/upscale/video/precision","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0aa5f1ec/6RruEcb1mzuNDFal3KsPz.jpg","playgroundUrl":"https://fal.ai/models/topaz/upscale/video/precision","documentationUrl":"https://fal.ai/models/topaz/upscale/video/precision/api","about":"# Topaz Precision Video Upscale\n\nClassic (non-generative) upscaling and enhancement that stays\nfaithful to the source.\n\n## Models\n- **Proteus** — the default choice for most real-world footage.\n- **Artemis HQ / MQ / LQ** — denoise and sharpen, for progressively\nmore degraded sources.\n- **Gaia HQ / CG** — refinement for high-quality footage and CG\nrenders.\n- **Gaia 2** — frame-by-frame 2x upscaling for animation and motion\ngraphics (billed at half price).\n- **Rhea** — maximum fine detail via an internal 4x pass.\n\nVideos are limited to 5 minutes. `target_fps` enables Apollo frame\ninterpolation only when it differs from the source FPS."}},"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"]},"UpscaleVideoPrecisionInput":{"x-fal-order-properties":["video_url","model","upscale_factor","target_fps","compression","noise","halo","grain","recover_detail","H264_output"],"properties":{"target_fps":{"anyOf":[{"minimum":16,"type":"integer","maximum":60},{"type":"null"}],"description":"Target FPS for the output. Frame interpolation is enabled only when this differs from the source FPS.","title":"Target Fps"},"compression":{"anyOf":[{"minimum":0,"type":"number","maximum":1},{"type":"null"}],"description":"Compression artifact removal level (0.0-1.0). Default varies by model.","title":"Compression"},"grain":{"anyOf":[{"minimum":0,"multipleOf":0.01,"type":"number","maximum":0.1},{"type":"null"}],"description":"Film grain amount (0.0-0.1). Default varies by model.","title":"Grain"},"upscale_factor":{"minimum":1,"description":"Factor to upscale the video by (e.g. 2.0 doubles width and height)","type":"number","title":"Upscale Factor","maximum":4,"default":2},"recover_detail":{"anyOf":[{"minimum":0,"type":"number","maximum":1},{"type":"null"}],"description":"Recover original detail level (0.0-1.0). Higher values preserve more original detail.","title":"Recover Detail"},"model":{"description":"Precision (non-generative) enhancement model. Proteus fits most real-world footage; Proteus Natural is a softer variant; Iris recovers faces; Dione deinterlaces legacy/interlaced sources; Artemis denoises and sharpens degraded footage; Gaia refines high-quality footage and CG (Gaia 2 upscales animation at 2x); Rhea maximizes fine detail via an internal 4x pass; Theia gives manual detail/fidelity control.","type":"string","enum":["Proteus","Proteus Natural","Iris","Iris Low Quality","Dione DV","Dione TV","Dione Robust","Dione Dehalo","Dione Robust Dehalo","Artemis High Quality","Artemis Medium Quality","Artemis Low Quality","Artemis Strong Halo","Artemis Medium Halo","Artemis Aliasing & Moire","Gaia HQ","Gaia CG","Gaia 2","Rhea","Theia Fine Tune Detail","Theia Fine Tune Fidelity"],"default":"Proteus","title":"Model"},"halo":{"anyOf":[{"minimum":0,"type":"number","maximum":1},{"type":"null"}],"description":"Halo reduction level (0.0-1.0). Default varies by model.","title":"Halo"},"noise":{"anyOf":[{"minimum":0,"type":"number","maximum":1},{"type":"null"}],"description":"Noise reduction level (0.0-1.0). Default varies by model.","title":"Noise"},"video_url":{"examples":["https://v3.fal.media/files/kangaroo/y5-1YTGpun17eSeggZMzX_video-1733468228.mp4"],"description":"URL of the video to upscale","type":"string","title":"Video Url"},"H264_output":{"description":"Whether to use H264 codec for output video. Default is H265.","type":"boolean","title":"H264 Output","default":false}},"type":"object","title":"VideoPrecisionUpscaleRequest","required":["video_url"]},"UpscaleVideoPrecisionOutput":{"x-fal-order-properties":["video"],"properties":{"video":{"examples":[{"url":"https://v3.fal.media/files/penguin/ztj_LB4gQlW6HIfVs8zX4_upscaled.mp4"}],"$ref":"#/components/schemas/File","description":"The upscaled video file"}},"type":"object","title":"VideoUpscaleOutput","required":["video"]},"File":{"x-fal-order-properties":["url","content_type","file_name","file_size"],"properties":{"file_size":{"examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes.","title":"File Size"},"url":{"description":"The URL where the file can be downloaded from.","type":"string","title":"Url"},"content_type":{"examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file.","title":"Content Type"},"file_name":{"examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided.","title":"File Name"}},"type":"object","title":"File","required":["url"]}}},"paths":{"/topaz/upscale/video/precision/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"}}}}}}},"/topaz/upscale/video/precision/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."}}}}}}}}},"/topaz/upscale/video/precision":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpscaleVideoPrecisionInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/topaz/upscale/video/precision/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/UpscaleVideoPrecisionOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/ffmpeg-api/compose","metadata":{"display_name":"FFmpeg API Compose","category":"video-to-video","description":"Compose videos from multiple media sources using FFmpeg API.","status":"active","tags":["ffmpeg"],"updated_at":"2026-04-21T17:45:36.047Z","is_favorited":null,"thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/ffmpeg-api-compose.webp","model_url":"https://fal.run/fal-ai/ffmpeg-api/compose","license_type":"commercial","date":"2025-01-22T00:00:00.000Z","group":{"key":"ffmpeg","label":"Compose"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/ffmpeg-api/compose","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/ffmpeg-api/compose queue.","x-fal-metadata":{"endpointId":"fal-ai/ffmpeg-api/compose","category":"video-to-video","thumbnailUrl":"https://storage.googleapis.com/falserverless/gallery/ffmpeg-api-compose.webp","playgroundUrl":"https://fal.ai/models/fal-ai/ffmpeg-api/compose","documentationUrl":"https://fal.ai/models/fal-ai/ffmpeg-api/compose/api","about":"Encode"}},"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"]},"FfmpegApiComposeInput":{"type":"object","x-fal-order-properties":["tracks"],"properties":{"tracks":{"type":"array","description":"List of tracks to be combined into the final media","title":"Tracks","items":{"$ref":"#/components/schemas/Track"}}},"title":"Input","required":["tracks"]},"FfmpegApiComposeOutput":{"type":"object","x-fal-order-properties":["video_url","thumbnail_url"],"properties":{"video_url":{"type":"string","description":"URL of the processed video file","title":"Video Url"},"thumbnail_url":{"type":"string","description":"URL of the video's thumbnail image","title":"Thumbnail Url"}},"title":"ComposeOutput","required":["video_url","thumbnail_url"]},"Track":{"type":"object","x-fal-order-properties":["id","type","keyframes"],"properties":{"type":{"type":"string","description":"Type of track ('video', 'audio', or 'image')","title":"Type"},"keyframes":{"type":"array","description":"List of keyframes that make up this track","title":"Keyframes","items":{"$ref":"#/components/schemas/Keyframe"}},"id":{"type":"string","description":"Unique identifier for the track","title":"Id"}},"title":"Track","required":["id","type","keyframes"]},"Keyframe":{"type":"object","x-fal-order-properties":["timestamp","duration","url"],"properties":{"timestamp":{"type":"number","description":"The timestamp in milliseconds where this keyframe starts","title":"Timestamp"},"url":{"type":"string","description":"The URL where this keyframe's media file can be accessed","title":"Url"},"duration":{"type":"number","description":"The duration in milliseconds of this keyframe","title":"Duration"}},"title":"Keyframe","required":["timestamp","duration","url"]}}},"paths":{"/fal-ai/ffmpeg-api/compose/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/ffmpeg-api/compose/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/ffmpeg-api/compose":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FfmpegApiComposeInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/ffmpeg-api/compose/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/FfmpegApiComposeOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/kling-video/v3/standard/motion-control","metadata":{"display_name":"Kling Video","category":"video-to-video","description":"Transfer movements from a reference video to any character image. Cost-effective mode for motion transfer, perfect for portraits and simple animations.","status":"active","tags":["stylized","transform","editing"],"updated_at":"2026-07-17T23:34:22.935Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a90eef3/th2aftqszI2TrC_TinR9E_da2a2fbd43d7461dbf2ad1e8865411d6.jpg","model_url":"https://fal.run/fal-ai/kling-video/v3/standard/motion-control","license_type":"commercial","date":"2026-03-05T10:06:48.803Z","group":{"key":"Motion-Control-3","label":"Standard"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/kling-video/v3/standard/motion-control","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/kling-video/v3/standard/motion-control queue.","x-fal-metadata":{"endpointId":"fal-ai/kling-video/v3/standard/motion-control","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a90eef3/th2aftqszI2TrC_TinR9E_da2a2fbd43d7461dbf2ad1e8865411d6.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/kling-video/v3/standard/motion-control","documentationUrl":"https://fal.ai/models/fal-ai/kling-video/v3/standard/motion-control/api","about":"Kling V3 (standard) Motion Control API.\n\nGenerate videos where character actions match a reference video while\nthe visual appearance is based on a reference image. Standard mode is\ncost-effective.\n\nV3 adds support for element binding to enhance facial consistency.\nWhen an element is provided, the character's facial identity is better\npreserved across the generated video. Element binding requires\ncharacter_orientation='video'.\n\nCharacter orientation controls output pose direction and video limits:\n- 'video': Matches reference video orientation - better for complex motions (max 30s)\n- 'image': Matches reference image orientation - better for camera movements (max 10s)"}},"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"]},"KlingVideoV3StandardMotionControlInput":{"required":["image_url","video_url","character_orientation"],"properties":{"image_url":{"title":"Image Url","type":"string","description":"Reference image URL. The characters, backgrounds, and other elements in the generated video are based on this reference image. Characters should have clear body proportions, avoid occlusion, and occupy more than 5% of the image area.","examples":["https://v3b.fal.media/files/b/0a90ee31/VHtWK5BZMa-XoT6gahJKS_077.png"],"x-fal":{"max_aspect_ratio":2.5,"min_aspect_ratio":0.4,"max_file_size":10485760,"min_width":340,"max_height":3850,"timeout":20,"min_height":340,"max_width":3850},"limit_description":"Max file size: 10.0MB, Min width: 340px, Min height: 340px, Max width: 3850px, Max height: 3850px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s","_fal_ui_field":"image"},"elements":{"title":"Elements","anyOf":[{"items":{"$ref":"#/components/schemas/KlingV3ImageElementInput"},"type":"array"},{"type":"null"}],"description":"Optional element for facial consistency binding. Upload a facial element to enhance identity preservation in the generated video. Only 1 element is supported. Reference in prompt as @Element1. Element binding is only supported when character_orientation is 'video'.","examples":[null]},"prompt":{"title":"Prompt","anyOf":[{"maxLength":2500,"type":"string"},{"type":"null"}],"examples":["An man dancing"]},"keep_original_sound":{"default":true,"title":"Keep Original Sound","description":"Whether to keep the original sound from the reference video.","type":"boolean"},"character_orientation":{"examples":["video"],"title":"Character Orientation","enum":["image","video"],"description":"Controls whether the output character's orientation matches the reference image or video. 'video': orientation matches reference video - better for complex motions (max 30s). 'image': orientation matches reference image - better for following camera movements (max 10s).","type":"string"},"video_url":{"title":"Video Url","type":"string","description":"Reference video URL. The character actions in the generated video will be consistent with this reference video. Should contain a realistic style character with entire body or upper body visible, including head, without obstruction. Duration limit depends on character_orientation: 10s max for 'image', 30s max for 'video'.","examples":["https://v3b.fal.media/files/b/0a90edae/3nvl30ic9g2otKRcOV5nO_output.mp4"],"x-fal":{"max_duration":30.05,"max_file_size":104857600,"min_duration":3,"min_width":340,"max_height":3850,"timeout":30,"min_height":340,"max_width":3850},"limit_description":"Max file size: 100.0MB, Min width: 340px, Min height: 340px, Max width: 3850px, Max height: 3850px, Min duration: 3.0s, Max duration: 30.05s, Timeout: 30.0s","_fal_ui_field":"video"}},"title":"MotionControlV3StandardRequest","type":"object","x-fal-order-properties":["prompt","image_url","video_url","keep_original_sound","character_orientation","elements"]},"KlingVideoV3StandardMotionControlOutput":{"required":["video"],"properties":{"video":{"$ref":"#/components/schemas/File","description":"The generated video","examples":[{"url":"https://v3b.fal.media/files/b/0a90ee68/7-xpX-LTxX_nRHL776FrZ_output.mp4"}]}},"title":"MotionControlV3StandardOutput","type":"object","x-fal-order-properties":["video"]},"KlingV3ImageElementInput":{"title":"KlingV3ImageElementInput","properties":{"frontal_image_url":{"title":"Frontal Image Url","anyOf":[{"ui":{"field":"image"},"x-fal":{"max_aspect_ratio":2.5,"min_width":300,"min_aspect_ratio":0.4,"timeout":20,"min_height":300,"max_file_size":10485760},"type":"string","limit_description":"Max file size: 10.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},{"type":"null"}],"description":"The frontal image of the element (main view)."},"reference_image_urls":{"title":"Reference Image Urls","anyOf":[{"items":{"ui":{"field":"image"},"x-fal":{"max_aspect_ratio":2.5,"min_width":300,"min_aspect_ratio":0.4,"timeout":20,"min_height":300,"max_file_size":10485760},"_fal_ui_field":"image","type":"string","limit_description":"Max file size: 10.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},"type":"array"},{"type":"null"}],"description":"Additional reference images from different angles. 1-3 images supported. At least one image is required."}},"type":"object","x-fal-order-properties":["frontal_image_url","reference_image_urls"]},"File":{"required":["url"],"properties":{"content_type":{"title":"Content Type","anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file.","examples":["image/png"]},"file_size":{"title":"File Size","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes.","examples":[4404019]},"url":{"title":"Url","description":"The URL where the file can be downloaded from.","type":"string"},"file_name":{"title":"File Name","anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided.","examples":["z9RV14K95DvU.png"]}},"title":"File","type":"object","x-fal-order-properties":["url","content_type","file_name","file_size"]}}},"paths":{"/fal-ai/kling-video/v3/standard/motion-control/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/v3/standard/motion-control/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/v3/standard/motion-control":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KlingVideoV3StandardMotionControlInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/kling-video/v3/standard/motion-control/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/KlingVideoV3StandardMotionControlOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}}],"next_cursor":"Mg","has_more":true}
