{"models":[{"endpoint_id":"fal-ai/latentsync","metadata":{"display_name":"LatentSync","category":"video-to-video","description":"LatentSync is a video-to-video model that generates lip sync animations from audio using advanced algorithms for high-quality synchronization.","status":"active","tags":["animation","lip sync"],"updated_at":"2026-10-20T22:32:33.703Z","is_favorited":null,"thumbnail_url":"https://storage.googleapis.com/falserverless/web-examples/latentsync/latentsync-3.jpg","model_url":"https://fal.run/fal-ai/latentsync","license_type":"commercial","date":"2025-03-25T10:24:14.332Z","highlighted":false,"kind":"inference","pinned":false},"retires_at":null,"replacement":null,"openapi":{"openapi":"3.1.0","info":{"title":"Queue OpenAPI for fal-ai/latentsync","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/latentsync queue.","x-fal-metadata":{"endpointId":"fal-ai/latentsync","category":"video-to-video","thumbnailUrl":"https://storage.googleapis.com/falserverless/web-examples/latentsync/latentsync-3.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/latentsync","documentationUrl":"https://fal.ai/models/fal-ai/latentsync/api","about":"Main"}},"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"]},"LatentsyncInput":{"required":["video_url","audio_url"],"x-fal-order-properties":["enable_safety_checker","video_url","audio_url","guidance_scale","seed","loop_mode"],"title":"Input","type":"object","properties":{"seed":{"title":"Seed","description":"Random seed for generation. If None, a random seed will be used.","anyOf":[{"type":"integer"},{"type":"null"}]},"guidance_scale":{"maximum":2,"default":1,"title":"Guidance Scale","description":"Guidance scale for the model inference","minimum":1,"type":"number","step":0.1},"loop_mode":{"title":"Loop Mode","description":"Video loop mode when audio is longer than video. Options: pingpong, loop","anyOf":[{"type":"string","enum":["pingpong","loop"]},{"type":"null"}]},"audio_url":{"examples":["https://fal.media/files/lion/vyFWygmZsIZlUO4s0nr2n.wav"],"title":"Audio Url","description":"The URL of the audio to generate the lip sync for.","type":"string"},"video_url":{"examples":["https://fal.media/files/koala/8teUPbRRMtAUTORDvqy0l.mp4"],"title":"Video Url","description":"The URL of the video to generate the lip sync for.","type":"string"},"enable_safety_checker":{"default":true,"title":"Enable Safety Checker","description":"Authorized callers may set false to request relaxed screening.","type":"boolean"}}},"LatentsyncOutput":{"required":["video"],"x-fal-order-properties":["video"],"title":"Output","type":"object","properties":{"video":{"description":"The generated video with the lip sync.","$ref":"#/components/schemas/File"}}},"File":{"required":["url"],"x-fal-order-properties":["url","content_type","file_name","file_size"],"title":"File","type":"object","properties":{"url":{"title":"Url","description":"The URL where the file can be downloaded from.","type":"string"},"file_name":{"examples":["z9RV14K95DvU.png"],"title":"File Name","description":"The name of the file. It will be auto-generated if not provided.","anyOf":[{"type":"string"},{"type":"null"}]},"file_size":{"examples":[4404019],"title":"File Size","description":"The size of the file in bytes.","anyOf":[{"type":"integer"},{"type":"null"}]},"content_type":{"examples":["image/png"],"title":"Content Type","description":"The mime type of the file.","anyOf":[{"type":"string"},{"type":"null"}]}}}}},"paths":{"/fal-ai/latentsync/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/latentsync/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/latentsync":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LatentsyncInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/latentsync/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/LatentsyncOutput"}}}}}}}},"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},"retires_at":null,"replacement":null,"openapi":{"openapi":"3.1.0","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":{"properties":{"video_urls":{"minItems":2,"description":"List of video URLs to merge in order","title":"Video Urls","items":{"type":"string"},"type":"array"},"resolution":{"anyOf":[{"$ref":"#/components/schemas/ImageSize"},{"enum":["square_hd","square","portrait_4_3","portrait_16_9","landscape_4_3","landscape_16_9"],"type":"string"},{"type":"null"}],"description":"Resolution of the final video. Width and height must be between 512 and 2048.","title":"Resolution"},"resolution_aspect_ratio_video_index":{"anyOf":[{"minimum":0,"type":"integer"},{"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"},"target_fps":{"anyOf":[{"minimum":1,"maximum":60,"type":"number"},{"type":"null"}],"description":"Target FPS for the output video. If not provided, uses the lowest FPS from input videos.","title":"Target Fps"}},"required":["video_urls"],"x-fal-order-properties":["video_urls","target_fps","resolution","resolution_aspect_ratio_video_index"],"title":"MergeVideosInput","type":"object"},"FfmpegApiMergeVideosOutput":{"properties":{"metadata":{"description":"Metadata about the merged video including original video info","title":"Metadata","type":"object"},"video":{"$ref":"#/components/schemas/File","description":"Merged video file"}},"required":["video","metadata"],"x-fal-order-properties":["video","metadata"],"title":"MergeVideosOutput","type":"object"},"ImageSize":{"properties":{"width":{"maximum":14142,"description":"The width of the generated image.","title":"Width","exclusiveMinimum":0,"type":"integer","default":512},"height":{"maximum":14142,"description":"The height of the generated image.","title":"Height","exclusiveMinimum":0,"type":"integer","default":512}},"x-fal-order-properties":["width","height"],"title":"ImageSize","type":"object"},"File":{"properties":{"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes.","title":"File Size","examples":[4404019]},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file.","title":"Content Type","examples":["image/png"]},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided.","title":"File Name","examples":["z9RV14K95DvU.png"]},"url":{"description":"The URL where the file can be downloaded from.","title":"Url","type":"string"}},"required":["url"],"x-fal-order-properties":["url","content_type","file_name","file_size"],"title":"File","type":"object"}}},"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/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},"retires_at":null,"replacement":null,"openapi":{"openapi":"3.1.0","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":{"properties":{"tracks":{"description":"List of tracks to be combined into the final media. Exactly one visual track (video or image) is required; any number of audio tracks may be included.","title":"Tracks","items":{"$ref":"#/components/schemas/Track"},"type":"array"}},"required":["tracks"],"x-fal-order-properties":["tracks"],"title":"Input","type":"object"},"FfmpegApiComposeOutput":{"properties":{"video_url":{"description":"URL of the processed video file","title":"Video Url","type":"string"},"thumbnail_url":{"description":"URL of the video's thumbnail image","title":"Thumbnail Url","type":"string"}},"required":["video_url","thumbnail_url"],"x-fal-order-properties":["video_url","thumbnail_url"],"title":"ComposeOutput","type":"object"},"Track":{"properties":{"type":{"description":"Type of track ('video', 'audio', or 'image')","title":"Type","type":"string"},"id":{"description":"Unique identifier for the track","title":"Id","type":"string"},"keyframes":{"description":"List of keyframes that make up this track","title":"Keyframes","items":{"$ref":"#/components/schemas/Keyframe"},"type":"array"}},"required":["id","type","keyframes"],"x-fal-order-properties":["id","type","keyframes"],"title":"Track","type":"object"},"Keyframe":{"properties":{"timestamp":{"description":"The timestamp in milliseconds where this keyframe starts","title":"Timestamp","type":"number"},"url":{"description":"The URL where this keyframe's media file can be accessed","title":"Url","type":"string"},"duration":{"description":"The duration in milliseconds of this keyframe","title":"Duration","type":"number"}},"required":["timestamp","duration","url"],"x-fal-order-properties":["timestamp","duration","url"],"title":"Keyframe","type":"object"}}},"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/workflow-utilities/trim-video","metadata":{"display_name":"Workflow Utilities Trim Video","category":"video-to-video","description":"FFMPEG Utility for Trim Video","status":"active","tags":["video-to-video"],"updated_at":"2026-04-21T17:56:42.386Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a8e11aa/xIakBiV0_r7glqzDfsJ2k_775564bd78674a0fbda370d0faea9e58.jpg","model_url":"https://fal.run/fal-ai/workflow-utilities/trim-video","license_type":"commercial","date":"2026-02-11T09:08:18.218Z","highlighted":false,"kind":"inference","pinned":false},"retires_at":null,"replacement":null,"openapi":{"openapi":"3.1.0","info":{"title":"Queue OpenAPI for fal-ai/workflow-utilities/trim-video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/workflow-utilities/trim-video queue.","x-fal-metadata":{"endpointId":"fal-ai/workflow-utilities/trim-video","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a8e11aa/xIakBiV0_r7glqzDfsJ2k_775564bd78674a0fbda370d0faea9e58.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/workflow-utilities/trim-video","documentationUrl":"https://fal.ai/models/fal-ai/workflow-utilities/trim-video/api","about":"Trim a video to a specified time range.\n\nSupports trimming by start/end time or start time with duration.\nUses stream copy for fast, lossless trimming when possible,\nfalling back to re-encoding if needed."}},"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"]},"WorkflowUtilitiesTrimVideoInput":{"type":"object","required":["video_url"],"x-fal-order-properties":["video_url","start_time","end_time","duration"],"description":"Input model for trimming a video to a specified time range","title":"TrimVideoInput","properties":{"video_url":{"examples":["https://storage.googleapis.com/falserverless/example_outputs/wan-25-i2v-output.mp4"],"type":"string","description":"URL of the video file to trim","title":"Video Url","max_file_size":500000000},"start_time":{"type":"number","default":1,"description":"Start time in seconds","title":"Start Time","minimum":0},"end_time":{"anyOf":[{"type":"number"},{"type":"null"}],"examples":[3],"description":"End time in seconds. If not provided, uses duration instead.","title":"End Time"},"duration":{"anyOf":[{"exclusiveMinimum":0,"type":"number"},{"type":"null"}],"default":2,"description":"Duration in seconds from start_time. Ignored if end_time is provided.","title":"Duration"}}},"WorkflowUtilitiesTrimVideoOutput":{"type":"object","required":["video","original_duration","trimmed_duration"],"x-fal-order-properties":["video","original_duration","trimmed_duration"],"description":"Output model for trimmed video","title":"TrimVideoOutput","properties":{"trimmed_duration":{"examples":[2],"type":"number","description":"Duration of the trimmed video in seconds","title":"Trimmed Duration"},"original_duration":{"examples":[5.041667],"type":"number","description":"Duration of the original video in seconds","title":"Original Duration"},"video":{"examples":[{"file_name":"output.mp4","file_size":2550671,"url":"https://v3b.fal.media/files/b/0a8dcc60/sIg2GuYYYrmYAa2lUVgum_output.mp4","content_type":"application/octet-stream"}],"description":"The trimmed video","$ref":"#/components/schemas/File"}}},"File":{"required":["url"],"x-fal-order-properties":["url","content_type","file_name","file_size"],"title":"File","type":"object","properties":{"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"},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"examples":[4404019],"description":"The size of the file in bytes.","title":"File Size"},"url":{"type":"string","description":"The URL where the file can be downloaded from.","title":"Url"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"examples":["image/png"],"description":"The mime type of the file.","title":"Content Type"}}}}},"paths":{"/fal-ai/workflow-utilities/trim-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/workflow-utilities/trim-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/workflow-utilities/trim-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowUtilitiesTrimVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/workflow-utilities/trim-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/WorkflowUtilitiesTrimVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/ffmpeg-api/merge-audio-video","metadata":{"display_name":"Ffmpeg Api Merge Audio-Video","category":"video-to-video","description":"Merge videos with standalone audio files or audio from video files.","status":"active","tags":["ffmpeg"],"updated_at":"2026-04-21T17:45:37.801Z","is_favorited":null,"thumbnail_url":"https://storage.googleapis.com/fal_cdn/fal/Sound-5.jpg","model_url":"https://fal.run/fal-ai/ffmpeg-api/merge-audio-video","license_type":"commercial","date":"2025-06-09T06:04:14.299Z","group":{"key":"ffmpeg","label":"Merge Audio Video"},"highlighted":false,"kind":"inference","pinned":false},"retires_at":null,"replacement":null,"openapi":{"openapi":"3.1.0","info":{"title":"Queue OpenAPI for fal-ai/ffmpeg-api/merge-audio-video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/ffmpeg-api/merge-audio-video queue.","x-fal-metadata":{"endpointId":"fal-ai/ffmpeg-api/merge-audio-video","category":"video-to-video","thumbnailUrl":"https://storage.googleapis.com/fal_cdn/fal/Sound-5.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/ffmpeg-api/merge-audio-video","documentationUrl":"https://fal.ai/models/fal-ai/ffmpeg-api/merge-audio-video/api","about":"Combine"}},"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"]},"FfmpegApiMergeAudioVideoInput":{"properties":{"video_url":{"description":"URL of the video file to use as the video track","title":"Video Url","type":"string","examples":["https://storage.googleapis.com/falserverless/example_inputs/ffmpeg-video.mp4"]},"audio_url":{"description":"URL of the audio file to use as the audio track","title":"Audio Url","type":"string","examples":["https://storage.googleapis.com/falserverless/example_inputs/ffmpeg-audio.wav"]},"start_offset":{"minimum":0,"description":"Offset in seconds for when the audio should start relative to the video","title":"Start Offset","type":"number","default":0}},"required":["video_url","audio_url"],"x-fal-order-properties":["video_url","audio_url","start_offset"],"title":"CombineInput","type":"object"},"FfmpegApiMergeAudioVideoOutput":{"properties":{"video":{"$ref":"#/components/schemas/File","description":"Output video with merged audio."}},"required":["video"],"x-fal-order-properties":["video"],"title":"CombineOutput","type":"object"},"File":{"properties":{"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes.","title":"File Size","examples":[4404019]},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file.","title":"Content Type","examples":["image/png"]},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided.","title":"File Name","examples":["z9RV14K95DvU.png"]},"url":{"description":"The URL where the file can be downloaded from.","title":"Url","type":"string"}},"required":["url"],"x-fal-order-properties":["url","content_type","file_name","file_size"],"title":"File","type":"object"}}},"paths":{"/fal-ai/ffmpeg-api/merge-audio-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/ffmpeg-api/merge-audio-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/ffmpeg-api/merge-audio-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FfmpegApiMergeAudioVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/ffmpeg-api/merge-audio-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/FfmpegApiMergeAudioVideoOutput"}}}}}}}},"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},"retires_at":null,"replacement":null,"openapi":{"openapi":"3.1.0","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":{"properties":{"enable_safety_checker":{"description":"Disabling safety checks requires account authorization; unauthorized requests are always checked.","title":"Enable Safety Checker","type":"boolean","default":true},"prompt":{"title":"Prompt","examples":["A man dancing"],"anyOf":[{"maxLength":2500,"type":"string"},{"type":"null"}]},"video_url":{"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":"Video Url","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","examples":["https://v3b.fal.media/files/b/0a90ff92/hklvF__w53diz6Rve7f5__JuDW2xl0mr6sJ_Kjz3Vxe_vidoeook%20(1)_1.mp4"],"type":"string","_fal_ui_field":"video","x-fal":{"max_height":3850,"min_width":340,"timeout":30,"max_width":3850,"max_file_size":104857600,"max_duration":30.05,"min_height":340,"min_duration":3}},"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).","title":"Character Orientation","examples":["image"],"type":"string"},"image_url":{"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.","title":"Image Url","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","examples":["https://v3b.fal.media/files/b/0a90ffa7/TNErq9yD7ZxGRATjfAqnh_EIgJSN67.png"],"type":"string","_fal_ui_field":"image","x-fal":{"max_height":3850,"min_width":340,"min_aspect_ratio":0.4,"timeout":20,"max_aspect_ratio":2.5,"max_width":3850,"max_file_size":10485760,"min_height":340}},"keep_original_sound":{"description":"Whether to keep the original sound from the reference video.","title":"Keep Original Sound","type":"boolean","default":true},"elements":{"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'.","title":"Elements","examples":[null],"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/KlingV3ImageElementInput"}},{"type":"null"}]}},"required":["image_url","video_url","character_orientation"],"title":"MotionControlV3ProRequest","x-fal-order-properties":["enable_safety_checker","prompt","image_url","video_url","keep_original_sound","character_orientation","elements"],"type":"object"},"KlingVideoV3ProMotionControlOutput":{"properties":{"video":{"description":"The generated video","examples":[{"url":"https://v3b.fal.media/files/b/0a90ffb9/CnmmxIvK05VAq4gG8WiEQ_output.mp4"}],"$ref":"#/components/schemas/File"}},"required":["video"],"title":"MotionControlV3ProOutput","x-fal-order-properties":["video"],"type":"object"},"KlingV3ImageElementInput":{"properties":{"frontal_image_url":{"description":"The frontal image of the element (main view).","title":"Frontal Image Url","anyOf":[{"x-fal":{"max_file_size":52428800,"min_aspect_ratio":0.4,"min_height":300,"timeout":20,"min_width":300,"max_aspect_ratio":2.5},"limit_description":"Max file size: 50.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s","type":"string","ui":{"field":"image"}},{"type":"null"}]},"reference_image_urls":{"description":"Additional reference images from different angles. 1-3 images supported. At least one image is required.","title":"Reference Image Urls","anyOf":[{"type":"array","items":{"_fal_ui_field":"image","type":"string","limit_description":"Max file size: 50.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s","x-fal":{"max_file_size":52428800,"min_aspect_ratio":0.4,"min_height":300,"timeout":20,"min_width":300,"max_aspect_ratio":2.5},"ui":{"field":"image"}}},{"type":"null"}]}},"title":"KlingV3ImageElementInput","type":"object","x-fal-order-properties":["frontal_image_url","reference_image_urls"]},"File":{"properties":{"file_size":{"description":"The size of the file in bytes.","title":"File Size","examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}]},"file_name":{"description":"The name of the file. It will be auto-generated if not provided.","title":"File Name","examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}]},"content_type":{"description":"The mime type of the file.","title":"Content Type","examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"description":"The URL where the file can be downloaded from.","title":"Url","type":"string"}},"required":["url"],"title":"File","x-fal-order-properties":["url","content_type","file_name","file_size"],"type":"object"}}},"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":"minimax/h3-max/recast","metadata":{"display_name":"H3 Max Recast","category":"video-to-video","description":"Recast the people in a video using reference photos with H3 Max, while preserving the source motion, camera, cuts, and audio.","status":"active","tags":["video-to-video","video-editing","character-replacement"],"updated_at":"2026-11-10T03:23:44.826Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0aacabd7/P2ptkl7_WVxobibHV7Ti7.jpg","model_url":"https://fal.run/minimax/h3-max/recast","license_type":"commercial","date":"2026-10-01T18:51:18.250Z","group":{"key":"hailuo-03-new-turbo","label":"Recast"},"highlighted":false,"kind":"inference","pinned":false},"retires_at":null,"replacement":null,"openapi":{"openapi":"3.1.0","info":{"title":"Queue OpenAPI for minimax/h3-max/recast","version":"1.0.0","description":"H3 Max Recast replaces the main people in a source video with people from reference photos, tracking each person across shots. Provide a video and one photo per new person, with an optional prompt to specify who becomes whom or which details to keep or change. The model aims to preserve the original motion, gestures, camera, shot timing, and soundtrack. Supports up to four reference photos and videos up to 30 seconds, with individual shots no longer than 15 seconds, at 768p or 1080p.","x-fal-metadata":{"endpointId":"minimax/h3-max/recast","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0aacabd7/P2ptkl7_WVxobibHV7Ti7.jpg","playgroundUrl":"https://fal.ai/models/minimax/h3-max/recast","documentationUrl":"https://fal.ai/models/minimax/h3-max/recast/api","about":"Generate"}},"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"]},"H3MaxRecastInput":{"properties":{"seed":{"description":"Random seed. Leave empty for a random one.","title":"Seed","anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"prompt":{"description":"Optional: who becomes whom, or what else to keep or change.","title":"Prompt","anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}]},"video_url":{"description":"The source video, 5 to 30 seconds long, with no single shot longer than 15 seconds.","examples":["https://v3b.fal.media/files/b/0aac8cc6/lOHY4Mitfg5x1UDerR3RB_dw9Hs7ChHU-Fqwzz0W9cq_video.mp4"],"type":"string","title":"Video URL"},"resolution":{"enum":["768P","1080P"],"type":"string","title":"Resolution","default":"1080P"},"enhance_realism":{"description":"More natural skin textures and better blending of the new people into the scene. Off unless set.","examples":[true],"type":"boolean","default":false,"title":"Enhance Realism"},"enable_safety_checker":{"description":"Authorized callers may set false to request relaxed screening.","type":"boolean","title":"Enable Safety Checker","default":true},"reference_image_urls":{"description":"One photo per new person. By default they replace the main people in the video from left to right, each in every shot they appear in.","examples":[["https://v3b.fal.media/files/b/0aac8d26/HVno2j68vj7tkAwGo3Qii_Nolan%203.jpg"]],"title":"Reference Image URLs","minItems":1,"type":"array","maxItems":4,"items":{"type":"string"}}},"type":"object","required":["video_url","reference_image_urls"],"x-fal-order-properties":["video_url","reference_image_urls","prompt","resolution","seed","enhance_realism","enable_safety_checker"],"title":"RecastInput"},"H3MaxRecastOutput":{"properties":{"seed":{"description":"The seed used.","type":"integer","title":"Seed"},"video":{"description":"The recast video, with the source sound.","$ref":"#/components/schemas/File"}},"type":"object","required":["video","seed"],"x-fal-order-properties":["video","seed"],"title":"RecastOutput"},"File":{"required":["url"],"properties":{"content_type":{"title":"Content Type","description":"The mime type of the file.","examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"title":"Url","description":"The URL where the file can be downloaded from.","type":"string"},"file_name":{"title":"File Name","description":"The name of the file. It will be auto-generated if not provided.","examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}]},"file_size":{"title":"File Size","description":"The size of the file in bytes.","examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}]}},"title":"File","x-fal-order-properties":["url","content_type","file_name","file_size"],"type":"object"}}},"paths":{"/minimax/h3-max/recast/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"}}}}}}},"/minimax/h3-max/recast/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."}}}}}}}}},"/minimax/h3-max/recast":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/H3MaxRecastInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/minimax/h3-max/recast/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/H3MaxRecastOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/seedvr/upscale/video","metadata":{"display_name":"SeedVR2","category":"video-to-video","description":"Upscale your videos using SeedVR2 with temporal consistency!","status":"active","tags":["upscale","video-to-video"],"updated_at":"2026-11-02T21:24:18.185Z","is_favorited":null,"thumbnail_url":"https://v3.fal.media/files/koala/cAs3xUC9Lx-jlQh-27-60_4dddbb5a9bac42da86ddf20a5b9d30b3.jpg","model_url":"https://fal.run/fal-ai/seedvr/upscale/video","license_type":"commercial","date":"2025-09-22T18:29:49.293Z","group":{"key":"seedvr2","label":"Upscale Video"},"highlighted":false,"kind":"inference","pinned":false},"retires_at":null,"replacement":null,"openapi":{"openapi":"3.1.0","info":{"title":"Queue OpenAPI for fal-ai/seedvr/upscale/video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/seedvr/upscale/video queue.","x-fal-metadata":{"endpointId":"fal-ai/seedvr/upscale/video","category":"video-to-video","thumbnailUrl":"https://v3.fal.media/files/koala/cAs3xUC9Lx-jlQh-27-60_4dddbb5a9bac42da86ddf20a5b9d30b3.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/seedvr/upscale/video","documentationUrl":"https://fal.ai/models/fal-ai/seedvr/upscale/video/api","about":"Upscale 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"]},"SeedvrUpscaleVideoInput":{"required":["video_url"],"properties":{"output_format":{"default":"X264 (.mp4)","title":"Output Format","description":"The format of the output video.","enum":["X264 (.mp4)","VP9 (.webm)","PRORES4444 (.mov)","GIF (.gif)"],"type":"string"},"upscale_factor":{"default":2,"title":"Upscale Factor","maximum":10,"description":"Upscaling factor to be used. Will multiply the dimensions with this factor when `upscale_mode` is `factor`.","minimum":1,"type":"number"},"noise_scale":{"default":0.1,"multipleOf":0.001,"maximum":1,"description":"The noise scale to use for the generation process.","minimum":0,"title":"Noise Scale","type":"number"},"seed":{"title":"Seed","description":"The random seed used for the generation process.","anyOf":[{"type":"integer"},{"type":"null"}]},"sync_mode":{"default":false,"title":"Sync Mode","description":"If `True`, the media will be returned as a data URI and the output data won't be available in the request history.","type":"boolean"},"target_resolution":{"default":"1080p","title":"Target Resolution","description":"The target resolution to upscale to when `upscale_mode` is `target`.","enum":["720p","1080p","1440p","2160p"],"type":"string"},"output_write_mode":{"default":"balanced","title":"Output Write Mode","description":"The write mode of the output video.","enum":["fast","balanced","small"],"type":"string"},"upscale_mode":{"default":"factor","title":"Upscale Mode","description":"The mode to use for the upscale. If 'target', the upscale factor will be calculated based on the target resolution. If 'factor', the upscale factor will be used directly.","enum":["target","factor"],"type":"string"},"video_url":{"title":"Video Url","description":"The input video to be processed","examples":["https://storage.googleapis.com/falserverless/example_inputs/seedvr-input.mp4"],"type":"string"},"output_quality":{"default":"high","title":"Output Quality","description":"The quality of the output video.","enum":["low","medium","high","maximum"],"type":"string"},"enable_safety_checker":{"default":true,"title":"Enable Safety Checker","type":"boolean"}},"title":"SeedVRVideoInput","x-fal-order-properties":["enable_safety_checker","video_url","upscale_mode","upscale_factor","target_resolution","seed","noise_scale","output_format","output_quality","output_write_mode","sync_mode"],"type":"object"},"SeedvrUpscaleVideoOutput":{"required":["video","seed"],"properties":{"video":{"description":"Upscaled video file after processing","examples":[{"content_type":"video/mp4","url":"https://storage.googleapis.com/falserverless/example_outputs/seedvr-output.mp4"}],"$ref":"#/components/schemas/File"},"seed":{"title":"Seed","description":"The random seed used for the generation process.","type":"integer"}},"title":"SeedVRVideoOutput","x-fal-order-properties":["video","seed"],"type":"object"},"File":{"required":["url"],"properties":{"content_type":{"title":"Content Type","description":"The mime type of the file.","examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"title":"Url","description":"The URL where the file can be downloaded from.","type":"string"},"file_name":{"title":"File Name","description":"The name of the file. It will be auto-generated if not provided.","examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}]},"file_size":{"title":"File Size","description":"The size of the file in bytes.","examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}]}},"title":"File","x-fal-order-properties":["url","content_type","file_name","file_size"],"type":"object"}}},"paths":{"/fal-ai/seedvr/upscale/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/seedvr/upscale/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/seedvr/upscale/video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedvrUpscaleVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/seedvr/upscale/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/SeedvrUpscaleVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/mmaudio-v2","metadata":{"display_name":"MMAudio V2","category":"video-to-video","description":"MMAudio generates synchronized audio given video and/or text inputs. It can be combined with video models to get videos with audio.","status":"active","tags":["ai video","fast"],"updated_at":"2026-04-21T17:52:18.963Z","is_favorited":null,"thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/mmaudio-v2.webp","model_url":"https://fal.run/fal-ai/mmaudio-v2","license_type":"commercial","date":"2024-12-12T00:00:00.000Z","group":{"key":"mmaudio-v2","label":"Video to Video"},"highlighted":false,"kind":"inference","pinned":false},"retires_at":null,"replacement":null,"openapi":{"openapi":"3.1.0","info":{"title":"Queue OpenAPI for fal-ai/mmaudio-v2","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/mmaudio-v2 queue.","x-fal-metadata":{"endpointId":"fal-ai/mmaudio-v2","category":"video-to-video","thumbnailUrl":"https://storage.googleapis.com/falserverless/gallery/mmaudio-v2.webp","playgroundUrl":"https://fal.ai/models/fal-ai/mmaudio-v2","documentationUrl":"https://fal.ai/models/fal-ai/mmaudio-v2/api","about":"Video 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"]},"MmaudioV2Input":{"properties":{"duration":{"description":"The duration of the audio to generate.","type":"number","maximum":30,"default":8,"title":"Duration","minimum":1},"num_steps":{"description":"The number of steps to generate the audio for.","type":"integer","maximum":50,"default":25,"title":"Num Steps","minimum":4},"cfg_strength":{"description":"The strength of Classifier Free Guidance.","type":"number","maximum":20,"default":4.5,"title":"Cfg Strength","minimum":0},"prompt":{"description":"The prompt to generate the audio for.","type":"string","examples":["Indian holy music"],"title":"Prompt"},"video_url":{"description":"The URL of the video to generate the audio for.","type":"string","examples":["https://storage.googleapis.com/falserverless/model_tests/video_models/mmaudio_input.mp4"],"title":"Video Url"},"negative_prompt":{"description":"The negative prompt to generate the audio for.","type":"string","title":"Negative Prompt","default":""},"seed":{"description":"The seed for the random number generator","title":"Seed","anyOf":[{"type":"integer","maximum":65535,"minimum":0},{"type":"null"}]},"mask_away_clip":{"description":"Whether to mask away the clip.","type":"boolean","title":"Mask Away Clip","default":false}},"type":"object","required":["video_url","prompt"],"x-fal-order-properties":["video_url","prompt","negative_prompt","seed","num_steps","duration","cfg_strength","mask_away_clip"],"title":"BaseInput"},"MmaudioV2Output":{"properties":{"video":{"description":"The generated video with the lip sync.","examples":[{"file_size":1001342,"file_name":"mmaudio_input.mp4","content_type":"application/octet-stream","url":"https://storage.googleapis.com/falserverless/model_tests/video_models/mmaudio_output.mp4"}],"$ref":"#/components/schemas/File"}},"type":"object","required":["video"],"x-fal-order-properties":["video"],"title":"Output"},"File":{"properties":{"file_size":{"description":"The size of the file in bytes.","title":"File Size","examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}]},"file_name":{"description":"The name of the file. It will be auto-generated if not provided.","title":"File Name","examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}]},"content_type":{"description":"The mime type of the file.","title":"Content Type","examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"description":"The URL where the file can be downloaded from.","type":"string","title":"Url"}},"type":"object","required":["url"],"x-fal-order-properties":["url","content_type","file_name","file_size"],"title":"File"}}},"paths":{"/fal-ai/mmaudio-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/mmaudio-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/mmaudio-v2":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MmaudioV2Input"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/mmaudio-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/MmaudioV2Output"}}}}}}}},"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},"retires_at":null,"replacement":null,"openapi":{"openapi":"3.1.0","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":{"properties":{"prompt":{"title":"Prompt","examples":["An african american woman dancing"],"anyOf":[{"maxLength":2500,"type":"string"},{"type":"null"}]},"video_url":{"_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":"Video Url","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","type":"string","x-fal":{"max_height":3850,"min_width":340,"timeout":30,"max_width":3850,"max_file_size":104857600,"max_duration":30.05,"min_height":340,"min_duration":3}},"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).","title":"Character Orientation","examples":["video"],"type":"string"},"image_url":{"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.","title":"Image Url","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","examples":["https://v3b.fal.media/files/b/0a875302/8NaxQrQxDNHppHtqcchMm.png"],"type":"string","_fal_ui_field":"image","x-fal":{"max_height":3850,"min_width":340,"min_aspect_ratio":0.4,"timeout":20,"max_aspect_ratio":2.5,"max_width":3850,"max_file_size":10485760,"min_height":340}},"keep_original_sound":{"description":"Whether to keep the original sound from the reference video.","title":"Keep Original Sound","type":"boolean","default":true},"enable_safety_checker":{"description":"Disabling safety checks requires account authorization; unauthorized requests are always checked.","title":"Enable Safety Checker","type":"boolean","default":true}},"description":"Request model for motion control video generation.","title":"MotionControlRequest","required":["image_url","video_url","character_orientation"],"x-fal-order-properties":["enable_safety_checker","prompt","image_url","video_url","keep_original_sound","character_orientation"],"type":"object"},"KlingVideoV26StandardMotionControlOutput":{"properties":{"video":{"description":"The generated video","examples":[{"file_size":35299865,"file_name":"output.mp4","content_type":"video/mp4","url":"https://v3b.fal.media/files/b/0a875336/8p3rFiXtx3fE2TLoh59KP_output.mp4"}],"$ref":"#/components/schemas/File"}},"description":"Output model for motion control video generation.","title":"MotionControlOutput","required":["video"],"x-fal-order-properties":["video"],"type":"object"},"File":{"properties":{"file_size":{"description":"The size of the file in bytes.","title":"File Size","examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}]},"file_name":{"description":"The name of the file. It will be auto-generated if not provided.","title":"File Name","examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}]},"content_type":{"description":"The mime type of the file.","title":"Content Type","examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"description":"The URL where the file can be downloaded from.","title":"Url","type":"string"}},"required":["url"],"title":"File","x-fal-order-properties":["url","content_type","file_name","file_size"],"type":"object"}}},"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":[]}]}}],"next_cursor":"Mw","has_more":true}
