{"models":[{"endpoint_id":"fal-ai/heygen/v2/translate/speed","metadata":{"display_name":"Heygen","category":"video-to-video","description":"Heygen Translate Model with Extreme Speed","status":"active","tags":["video-to-video"],"updated_at":"2026-04-26T23:11:58.879Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a901479/nonDlddF3DvH0dOZvkmWy_16858ef8ab5d472381ffd575c5bf6d8d.jpg","model_url":"https://fal.run/fal-ai/heygen/v2/translate/speed","license_type":"commercial","date":"2026-02-23T18:39:44.788Z","highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/heygen/v2/translate/speed","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/heygen/v2/translate/speed queue.","x-fal-metadata":{"endpointId":"fal-ai/heygen/v2/translate/speed","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a901479/nonDlddF3DvH0dOZvkmWy_16858ef8ab5d472381ffd575c5bf6d8d.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/heygen/v2/translate/speed","documentationUrl":"https://fal.ai/models/fal-ai/heygen/v2/translate/speed/api","about":"Translate videos using HeyGen's Speed mode (formerly Fast).\n\nOptimized for faster turnaround. Billed per second of output video ($0.0500/s)."}},"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"]},"HeygenV2TranslateSpeedInput":{"type":"object","required":["video_url","output_language"],"title":"TranslateVideoBaseRequest","x-fal-order-properties":["video_url","output_language","translate_audio_only","speaker_num","enable_dynamic_duration","brand_glossary_id","srt_url","srt_role","enable_caption"],"description":"Base request for video translation without a mode field (mode is determined by the endpoint).","properties":{"output_language":{"type":"string","examples":["Spanish"],"title":"Output Language","enum":["English","Spanish","French","Hindi","Italian","German","Polish","Portuguese","Chinese","Japanese","Dutch","Turkish","Korean","Danish","Arabic","Romanian","Mandarin","Filipino","Swedish","Indonesian","Ukrainian","Greek","Czech","Bulgarian","Malay","Slovak","Croatian","Tamil","Finnish","Russian","Afrikaans (South Africa)","Albanian (Albania)","Amharic (Ethiopia)","Arabic (Algeria)","Arabic (Bahrain)","Arabic (Egypt)","Arabic (Iraq)","Arabic (Jordan)","Arabic (Kuwait)","Arabic (Lebanon)","Arabic (Libya)","Arabic (Morocco)","Arabic (Oman)","Arabic (Qatar)","Arabic (Saudi Arabia)","Arabic (Syria)","Arabic (Tunisia)","Arabic (United Arab Emirates)","Arabic (Yemen)","Armenian (Armenia)","Azerbaijani (Latin, Azerbaijan)","Bangla (Bangladesh)","Basque","Bengali (India)","Bosnian (Bosnia and Herzegovina)","Bulgarian (Bulgaria)","Burmese (Myanmar)","Catalan","Chinese (Cantonese, Traditional)","Chinese (Jilu Mandarin, Simplified)","Chinese (Mandarin, Simplified)","Chinese (Northeastern Mandarin, Simplified)","Chinese (Southwestern Mandarin, Simplified)","Chinese (Taiwanese Mandarin, Traditional)","Chinese (Wu, Simplified)","Chinese (Zhongyuan Mandarin Henan, Simplified)","Chinese (Zhongyuan Mandarin Shaanxi, Simplified)","Croatian (Croatia)","Czech (Czechia)","Danish (Denmark)","Dutch (Belgium)","Dutch (Netherlands)","English (Australia)","English (Canada)","English (Hong Kong SAR)","English (India)","English (Ireland)","English (Kenya)","English (New Zealand)","English (Nigeria)","English (Philippines)","English (Singapore)","English (South Africa)","English (Tanzania)","English (UK)","English (United States)","Estonian (Estonia)","Filipino (Philippines)","Finnish (Finland)","French (Belgium)","French (Canada)","French (France)","French (Switzerland)","Galician","Georgian (Georgia)","German (Austria)","German (Germany)","German (Switzerland)","Greek (Greece)","Gujarati (India)","Hebrew (Israel)","Hindi (India)","Hungarian (Hungary)","Icelandic (Iceland)","Indonesian (Indonesia)","Irish (Ireland)","Italian (Italy)","Japanese (Japan)","Javanese (Latin, Indonesia)","Kannada (India)","Kazakh (Kazakhstan)","Khmer (Cambodia)","Korean (Korea)","Lao (Laos)","Latvian (Latvia)","Lithuanian (Lithuania)","Macedonian (North Macedonia)","Malay (Malaysia)","Malayalam (India)","Maltese (Malta)","Marathi (India)","Mongolian (Mongolia)","Nepali (Nepal)","Norwegian Bokmål (Norway)","Pashto (Afghanistan)","Persian (Iran)","Polish (Poland)","Portuguese (Brazil)","Portuguese (Portugal)","Romanian (Romania)","Russian (Russia)","Serbian (Latin, Serbia)","Sinhala (Sri Lanka)","Slovak (Slovakia)","Slovenian (Slovenia)","Somali (Somalia)","Spanish (Argentina)","Spanish (Bolivia)","Spanish (Chile)","Spanish (Colombia)","Spanish (Costa Rica)","Spanish (Cuba)","Spanish (Dominican Republic)","Spanish (Ecuador)","Spanish (El Salvador)","Spanish (Equatorial Guinea)","Spanish (Guatemala)","Spanish (Honduras)","Spanish (Mexico)","Spanish (Nicaragua)","Spanish (Panama)","Spanish (Paraguay)","Spanish (Peru)","Spanish (Puerto Rico)","Spanish (Spain)","Spanish (United States)","Spanish (Uruguay)","Spanish (Venezuela)","Sundanese (Indonesia)","Swahili (Kenya)","Swahili (Tanzania)","Swedish (Sweden)","Tamil (India)","Tamil (Malaysia)","Tamil (Singapore)","Tamil (Sri Lanka)","Telugu (India)","Thai (Thailand)","Turkish (Türkiye)","Ukrainian (Ukraine)","Urdu (India)","Urdu (Pakistan)","Uzbek (Latin, Uzbekistan)","Vietnamese (Vietnam)","Welsh (United Kingdom)","Zulu (South Africa)","English - Your Accent","English - American Accent"],"description":"The target language to translate the video into"},"enable_dynamic_duration":{"default":true,"title":"Enable Dynamic Duration","anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Enable dynamic duration to enhance conversational fluidity between languages with different speaking rates"},"srt_role":{"title":"Srt Role","anyOf":[{"type":"string","enum":["input","output"]},{"type":"null"}],"description":"Whether the custom SRT applies to the source or translated video."},"srt_url":{"title":"Srt Url","anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional URL of a custom SRT subtitle file."},"video_url":{"type":"string","examples":["https://v3b.fal.media/files/b/0a9004c7/FM7Q5tK2b59x66Bl8HC0Z_vt-lang-en.mp4"],"title":"Video Url","description":"URL of the video to translate. Maximum length is 8 minutes."},"speaker_num":{"title":"Speaker Num","anyOf":[{"type":"integer"},{"type":"null"}],"description":"Number of speakers in the video"},"translate_audio_only":{"default":false,"title":"Translate Audio Only","anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Translate only the audio, ignore the faces and only translate the voice track"},"enable_caption":{"type":"boolean","default":false,"title":"Enable Caption","description":"Generate an SRT caption file alongside the translated video."},"brand_glossary_id":{"title":"Brand Glossary Id","anyOf":[{"type":"string"},{"type":"null"}],"description":"HeyGen brand glossary ID for custom term translations."}}},"HeygenV2TranslateSpeedOutput":{"required":["video"],"type":"object","title":"VideoTranslateOutput","x-fal-order-properties":["video","caption_file"],"properties":{"caption_file":{"anyOf":[{"$ref":"#/components/schemas/File"},{"type":"null"}],"description":"Generated SRT captions when enable_caption is true."},"video":{"examples":[{"url":"https://v3b.fal.media/files/b/0a900522/WZRPanS88KdyIhYfqP_Md_output.mp4"}],"description":"The translated video file","$ref":"#/components/schemas/File"}}},"File":{"required":["url"],"type":"object","title":"File","x-fal-order-properties":["url","content_type","file_name","file_size"],"properties":{"url":{"type":"string","title":"Url","description":"The URL where the file can be downloaded from."},"content_type":{"examples":["image/png"],"title":"Content Type","anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file."},"file_name":{"examples":["z9RV14K95DvU.png"],"title":"File Name","anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided."},"file_size":{"examples":[4404019],"title":"File Size","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes."}}}}},"paths":{"/fal-ai/heygen/v2/translate/speed/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/heygen/v2/translate/speed/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/heygen/v2/translate/speed":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeygenV2TranslateSpeedInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/heygen/v2/translate/speed/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/HeygenV2TranslateSpeedOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/ltx-2.3/extend-video","metadata":{"display_name":"LTX Video 2.3 Pro","category":"video-to-video","description":"LTX-2.3 is a high-quality, fast AI video model available in Pro and Fast variants for text-to-video, image-to-video, and audio-to-video.","status":"active","tags":["stylized","transform","lipsync"],"updated_at":"2026-07-13T19:05:24.786Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a90df98/94vlBeSzUCH4iQ2ZLYjPn_f1cc45dc9b69411e8c7271b4df43798f.jpg","model_url":"https://fal.run/fal-ai/ltx-2.3/extend-video","license_type":"commercial","date":"2026-03-05T15:25:00.377Z","group":{"key":"ltx-2-3","label":"Extend Video"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/ltx-2.3/extend-video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/ltx-2.3/extend-video queue.","x-fal-metadata":{"endpointId":"fal-ai/ltx-2.3/extend-video","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a90df98/94vlBeSzUCH4iQ2ZLYjPn_f1cc45dc9b69411e8c7271b4df43798f.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/ltx-2.3/extend-video","documentationUrl":"https://fal.ai/models/fal-ai/ltx-2.3/extend-video/api","about":"Extend a video by generating additional frames at the beginning or end using LTX 2.3."}},"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"]},"Ltx23ExtendVideoInput":{"x-fal-order-properties":["video_url","prompt","duration","mode","context"],"properties":{"prompt":{"examples":["Continue the motion smoothly"],"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"description":"Description of what should happen in the extended portion of the video.","title":"Prompt"},"mode":{"description":"Where to extend the video: 'end' extends at the end, 'start' extends at the beginning.","type":"string","title":"Mode","enum":["start","end"],"default":"end"},"context":{"anyOf":[{"minimum":1,"type":"number","maximum":20},{"type":"null"}],"description":"Number of seconds from the input video to use as context for the extension (minimum 1 second, maximum 20 seconds). If not provided, defaults to maximize available context within the 505 frame limit.","title":"Context"},"video_url":{"examples":["https://v3b.fal.media/files/b/0a90e01f/SWYdQyTBCPWYOLgfg5Jw2_004_video.mp4"],"description":"The URL of the video to extend","title":"Video URL","type":"string"},"duration":{"minimum":2,"description":"Duration in seconds to extend the video. Minimum 2 seconds, maximum 20 seconds.","type":"number","title":"Duration","maximum":20,"default":5}},"type":"object","title":"LTXV23ExtendVideoRequest","required":["video_url"]},"Ltx23ExtendVideoOutput":{"x-fal-order-properties":["video"],"properties":{"video":{"examples":[{"url":"https://v3b.fal.media/files/b/0a90e020/sQT2ORTL4ISEeLv3mRdF0_rGO62gwz.mp4","content_type":"video/mp4","file_name":"sQT2ORTL4ISEeLv3mRdF0_rGO62gwz.mp4"}],"$ref":"#/components/schemas/VideoFile","description":"The extended video file"}},"type":"object","title":"LTXV23ExtendVideoResponse","required":["video"]},"VideoFile":{"x-fal-order-properties":["url","content_type","file_name","file_size","width","height","fps","duration","num_frames"],"properties":{"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The width of the video","title":"Width"},"fps":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"The FPS of the video","title":"Fps"},"url":{"description":"The URL where the file can be downloaded from.","type":"string","title":"Url"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"The duration of the video","title":"Duration"},"file_size":{"examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes.","title":"File Size"},"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"},"content_type":{"examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file.","title":"Content Type"},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The height of the video","title":"Height"},"num_frames":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The number of frames in the video","title":"Num Frames"}},"type":"object","title":"VideoFile","required":["url"]}}},"paths":{"/fal-ai/ltx-2.3/extend-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/ltx-2.3/extend-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/ltx-2.3/extend-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Ltx23ExtendVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/ltx-2.3/extend-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/Ltx23ExtendVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"sonilo/v1.1/video-to-video-music","metadata":{"display_name":"V1.1 Video to Video Music","category":"video-to-video","description":"Generates perfectly synced music for any video. Return a licensed music soundtrack ready for commercial use (optional preservation of the original speech in video)","status":"active","tags":["music","editing","restoration"],"updated_at":"2026-07-28T15:49:32.356Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0aa31db6/9QPgZEb8A9cdW-BdmK1Ri.jpg","model_url":"https://fal.run/sonilo/v1.1/video-to-video-music","license_type":"commercial","date":"2026-07-21T08:10:22.171Z","group":{"key":"sonilo-v11","label":"Video to Video (music)"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for sonilo/v1.1/video-to-video-music","version":"1.0.0","description":"The OpenAPI schema for the sonilo/v1.1/video-to-video-music queue.","x-fal-metadata":{"endpointId":"sonilo/v1.1/video-to-video-music","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0aa31db6/9QPgZEb8A9cdW-BdmK1Ri.jpg","playgroundUrl":"https://fal.ai/models/sonilo/v1.1/video-to-video-music","documentationUrl":"https://fal.ai/models/sonilo/v1.1/video-to-video-music/api","about":"Video To Video Music"}},"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"]},"V11VideoToVideoMusicInput":{"required":["video_url"],"x-fal-order-properties":["video_url","keep_speech_vocal","num_samples","prompt","prompt_influence","start_offset","duration"],"type":"object","properties":{"duration":{"description":"Optional. Length (seconds) of the video segment to score. When set, scores a segment of this length starting at Start Offset (or from the beginning if Start Offset is unset). Defaults (None) to the rest of the video.","anyOf":[{"minimum":1,"type":"number","maximum":600},{"type":"null"}],"title":"Duration"},"prompt":{"description":"Optional text prompt steering the musical style. If omitted, a prompt is generated automatically from the video.","anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"start_offset":{"description":"Optional. Start scoring from this offset (seconds) into the video. Requires Start Offset + Duration <= Video Duration.","anyOf":[{"minimum":0,"type":"number","maximum":600},{"type":"null"}],"title":"Start Offset"},"prompt_influence":{"minimum":0,"description":"Turn it up to match the text prompt","type":"number","maximum":1,"default":0.5,"title":"Prompt Influence"},"keep_speech_vocal":{"description":"Keep the original video's speech/vocals. When on, the source audio is separated (music source separation), and only the isolated vocals are blended over the generated music with automatic ducking (the music dips under speech). When off (default), the original soundtrack is dropped and the video carries only the generated music.","type":"boolean","default":false,"title":"Keep Speech Vocal"},"video_url":{"examples":["https://v3b.fal.media/files/b/0a9ddd00/2QssaYyFxstvVlmIraSns_Sonilo_Demo_Original_1.mp4"],"description":"Public http(s) URL of the source video to score.","type":"string","title":"Video Url"},"num_samples":{"minimum":1,"description":"How many distinct scored videos to generate.","maximum":3,"type":"integer","default":1,"title":"Num Samples"}},"title":"VideoToVideoInput"},"V11VideoToVideoMusicOutput":{"required":["video","videos"],"x-fal-order-properties":["video","videos"],"type":"object","properties":{"video":{"description":"The first scored video (source video muxed with generated music).","$ref":"#/components/schemas/Video"},"videos":{"items":{"$ref":"#/components/schemas/Video"},"description":"All scored videos (mp4), one per sample.","type":"array","title":"Videos"}},"title":"VideoToVideoOutput"},"Video":{"type":"object","required":["url"],"x-fal-order-properties":["url","content_type","file_name","file_size"],"properties":{"file_size":{"examples":[4404019],"description":"The size of the file in bytes.","anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size"},"file_name":{"examples":["z9RV14K95DvU.png"],"description":"The name of the file. It will be auto-generated if not provided.","anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"content_type":{"examples":["image/png"],"description":"The mime type of the file.","anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"},"url":{"description":"The URL where the file can be downloaded from.","type":"string","title":"Url"}},"title":"Video"}}},"paths":{"/sonilo/v1.1/video-to-video-music/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"}}}}}}},"/sonilo/v1.1/video-to-video-music/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."}}}}}}}}},"/sonilo/v1.1/video-to-video-music":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/V11VideoToVideoMusicInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/sonilo/v1.1/video-to-video-music/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/V11VideoToVideoMusicOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/luma-dream-machine/ray-2/modify","metadata":{"display_name":"Luma Ray 2 Modify","category":"video-to-video","description":"Ray2 Modify is a video generative model capable of restyling or retexturing the entire shot, from turning live-action into CG or stylized animation, to changing wardrobe, props, or the overall aesthetic and swap environments or time periods, giving you control over background, location, or even weather.","status":"active","tags":["modify","restyle"],"updated_at":"2026-04-21T17:51:39.199Z","is_favorited":null,"thumbnail_url":"https://storage.googleapis.com/falserverless/gallery/luma-dream-machine-ray-2.webp","model_url":"https://fal.run/fal-ai/luma-dream-machine/ray-2/modify","license_type":"commercial","date":"2025-06-28T19:42:05.110Z","group":{"key":"luma-dream-machine","label":"Ray-2 (Modify)"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/luma-dream-machine/ray-2/modify","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/luma-dream-machine/ray-2/modify queue.","x-fal-metadata":{"endpointId":"fal-ai/luma-dream-machine/ray-2/modify","category":"video-to-video","thumbnailUrl":"https://storage.googleapis.com/falserverless/gallery/luma-dream-machine-ray-2.webp","playgroundUrl":"https://fal.ai/models/fal-ai/luma-dream-machine/ray-2/modify","documentationUrl":"https://fal.ai/models/fal-ai/luma-dream-machine/ray-2/modify/api","about":"Ray2 Modify 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"]},"LumaDreamMachineRay2ModifyInput":{"type":"object","x-fal-order-properties":["video_url","image_url","prompt","mode"],"properties":{"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional URL of the first frame image for modification","title":"Image Url","examples":["https://fal.media/files/koala/Kv2821G03ggpKK2AiZX71_d5fa7bacf06049cfaeb9588f6003b6d5.jpg"]},"video_url":{"examples":["https://v3.fal.media/files/zebra/9aDde3Te2kuJYHdR0Kz8R_output.mp4"],"type":"string","description":"URL of the input video to modify","title":"Video Url"},"prompt":{"anyOf":[{"type":"string","maxLength":5000,"minLength":3},{"type":"null"}],"description":"Instruction for modifying the video","title":"Prompt"},"mode":{"type":"string","enum":["adhere_1","adhere_2","adhere_3","flex_1","flex_2","flex_3","reimagine_1","reimagine_2","reimagine_3"],"default":"flex_1","title":"Mode","description":"Amount of modification to apply to the video, adhere_1 is the least amount of modification, reimagine_3 is the most"}},"required":["video_url"],"title":"ModifyVideoRequest"},"LumaDreamMachineRay2ModifyOutput":{"type":"object","x-fal-order-properties":["video"],"properties":{"video":{"examples":[{"url":"https://v3.fal.media/files/lion/_2UO2QC26T_R8vKeVGAdX_output.mp4"}],"$ref":"#/components/schemas/File","description":"URL of the modified video"}},"required":["video"],"title":"ModifyOutput"},"File":{"type":"object","x-fal-order-properties":["url","content_type","file_name","file_size"],"properties":{"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"},"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"}},"required":["url"],"title":"File"}}},"paths":{"/fal-ai/luma-dream-machine/ray-2/modify/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/luma-dream-machine/ray-2/modify/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/luma-dream-machine/ray-2/modify":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LumaDreamMachineRay2ModifyInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/luma-dream-machine/ray-2/modify/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/LumaDreamMachineRay2ModifyOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/sync-lipsync/react-1","metadata":{"display_name":"Sync React-1","category":"video-to-video","description":"Use React-1 from SyncLabs to refine human emotions and do realistic lip-sync without losing details!","status":"active","tags":["lipsync","video-to-video"],"updated_at":"2026-04-30T18:28:58.266Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a85c033/t_KdQQe8bt53TwIbJwiHX_63eac44271e847bbbe24a93b1a859bfd.jpg","model_url":"https://fal.run/fal-ai/sync-lipsync/react-1","license_type":"commercial","date":"2025-12-10T14:23:05.777Z","highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/sync-lipsync/react-1","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/sync-lipsync/react-1 queue.","x-fal-metadata":{"endpointId":"fal-ai/sync-lipsync/react-1","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a85c033/t_KdQQe8bt53TwIbJwiHX_63eac44271e847bbbe24a93b1a859bfd.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/sync-lipsync/react-1","documentationUrl":"https://fal.ai/models/fal-ai/sync-lipsync/react-1/api","about":"React 1"}},"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"]},"SyncLipsyncReact1Input":{"title":"React1Input","properties":{"lipsync_mode":{"title":"Lipsync Mode","default":"bounce","enum":["cut_off","loop","bounce","silence","remap"],"type":"string","description":"Lipsync mode when audio and video durations are out of sync."},"temperature":{"title":"Temperature","maximum":1,"minimum":0,"type":"number","description":"Controls the expresiveness of the lipsync.","default":0.5},"audio_url":{"title":"Audio Url","examples":["https://storage.googleapis.com/falserverless/example_inputs/react_1/input.mp3"],"type":"string","description":"URL to the input audio. Must be **15 seconds or shorter**."},"video_url":{"title":"Video Url","examples":["https://storage.googleapis.com/falserverless/example_inputs/react_1/input.mp4"],"type":"string","description":"URL to the input video. Must be **15 seconds or shorter**."},"model_mode":{"title":"Model Mode","default":"face","enum":["lips","face","head"],"type":"string","description":"Controls the edit region and movement scope for the model. Available options:\n- `lips`: Only lipsync using react-1 (minimal facial changes).\n- `face`: Lipsync + facial expressions without head movements.\n- `head`: Lipsync + facial expressions + natural talking head movements."},"emotion":{"title":"Emotion","enum":["happy","sad","angry","disgusted","surprised","neutral"],"examples":["neutral"],"type":"string","description":"Emotion prompt for the generation. Currently supports single-word emotions only."}},"x-fal-order-properties":["video_url","audio_url","emotion","model_mode","lipsync_mode","temperature"],"type":"object","required":["video_url","audio_url","emotion"]},"SyncLipsyncReact1Output":{"title":"React1Output","properties":{"video":{"examples":[{"file_name":"output.mp4","duration":7.041667,"url":"https://storage.googleapis.com/falserverless/example_outputs/react_1/output.mp4","num_frames":169,"fps":24,"height":1088,"width":1920,"content_type":"video/mp4"}],"description":"The generated video with synchronized lip and facial movements.","$ref":"#/components/schemas/VideoFile"}},"x-fal-order-properties":["video"],"type":"object","required":["video"]},"VideoFile":{"title":"VideoFile","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."},"duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration","description":"The duration of the video"},"url":{"title":"Url","type":"string","description":"The URL where the file can be downloaded from."},"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"},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width","description":"The width of the video"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type","examples":["image/png"],"description":"The mime type of the file."},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size","examples":[4404019],"description":"The size of the file in bytes."}},"x-fal-order-properties":["url","content_type","file_name","file_size","width","height","fps","duration","num_frames"],"type":"object","required":["url"]}}},"paths":{"/fal-ai/sync-lipsync/react-1/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/react-1/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/react-1":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncLipsyncReact1Input"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/sync-lipsync/react-1/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/SyncLipsyncReact1Output"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/heygen/v2/translate/precision","metadata":{"display_name":"Heygen","category":"video-to-video","description":"Heygen Translate Model with Extreme Precision","status":"active","tags":["video-to-video"],"updated_at":"2026-04-26T23:11:58.879Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a901470/P3xLjDZMP1Cg2hVMd_AMw_b865f82e42474449b5ca950e007506a3.jpg","model_url":"https://fal.run/fal-ai/heygen/v2/translate/precision","license_type":"commercial","date":"2026-02-23T18:38:58.297Z","highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/heygen/v2/translate/precision","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/heygen/v2/translate/precision queue.","x-fal-metadata":{"endpointId":"fal-ai/heygen/v2/translate/precision","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a901470/P3xLjDZMP1Cg2hVMd_AMw_b865f82e42474449b5ca950e007506a3.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/heygen/v2/translate/precision","documentationUrl":"https://fal.ai/models/fal-ai/heygen/v2/translate/precision/api","about":"Translate videos using HeyGen's Precision mode (formerly Quality).\n\nHigher quality with better lip-sync. Billed per second of output video ($0.1000/s)."}},"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"]},"HeygenV2TranslatePrecisionInput":{"type":"object","required":["video_url","output_language"],"title":"TranslateVideoBaseRequest","x-fal-order-properties":["video_url","output_language","translate_audio_only","speaker_num","enable_dynamic_duration","brand_glossary_id","srt_url","srt_role","enable_caption"],"description":"Base request for video translation without a mode field (mode is determined by the endpoint).","properties":{"output_language":{"type":"string","examples":["Spanish"],"title":"Output Language","enum":["English","Spanish","French","Hindi","Italian","German","Polish","Portuguese","Chinese","Japanese","Dutch","Turkish","Korean","Danish","Arabic","Romanian","Mandarin","Filipino","Swedish","Indonesian","Ukrainian","Greek","Czech","Bulgarian","Malay","Slovak","Croatian","Tamil","Finnish","Russian","Afrikaans (South Africa)","Albanian (Albania)","Amharic (Ethiopia)","Arabic (Algeria)","Arabic (Bahrain)","Arabic (Egypt)","Arabic (Iraq)","Arabic (Jordan)","Arabic (Kuwait)","Arabic (Lebanon)","Arabic (Libya)","Arabic (Morocco)","Arabic (Oman)","Arabic (Qatar)","Arabic (Saudi Arabia)","Arabic (Syria)","Arabic (Tunisia)","Arabic (United Arab Emirates)","Arabic (Yemen)","Armenian (Armenia)","Azerbaijani (Latin, Azerbaijan)","Bangla (Bangladesh)","Basque","Bengali (India)","Bosnian (Bosnia and Herzegovina)","Bulgarian (Bulgaria)","Burmese (Myanmar)","Catalan","Chinese (Cantonese, Traditional)","Chinese (Jilu Mandarin, Simplified)","Chinese (Mandarin, Simplified)","Chinese (Northeastern Mandarin, Simplified)","Chinese (Southwestern Mandarin, Simplified)","Chinese (Taiwanese Mandarin, Traditional)","Chinese (Wu, Simplified)","Chinese (Zhongyuan Mandarin Henan, Simplified)","Chinese (Zhongyuan Mandarin Shaanxi, Simplified)","Croatian (Croatia)","Czech (Czechia)","Danish (Denmark)","Dutch (Belgium)","Dutch (Netherlands)","English (Australia)","English (Canada)","English (Hong Kong SAR)","English (India)","English (Ireland)","English (Kenya)","English (New Zealand)","English (Nigeria)","English (Philippines)","English (Singapore)","English (South Africa)","English (Tanzania)","English (UK)","English (United States)","Estonian (Estonia)","Filipino (Philippines)","Finnish (Finland)","French (Belgium)","French (Canada)","French (France)","French (Switzerland)","Galician","Georgian (Georgia)","German (Austria)","German (Germany)","German (Switzerland)","Greek (Greece)","Gujarati (India)","Hebrew (Israel)","Hindi (India)","Hungarian (Hungary)","Icelandic (Iceland)","Indonesian (Indonesia)","Irish (Ireland)","Italian (Italy)","Japanese (Japan)","Javanese (Latin, Indonesia)","Kannada (India)","Kazakh (Kazakhstan)","Khmer (Cambodia)","Korean (Korea)","Lao (Laos)","Latvian (Latvia)","Lithuanian (Lithuania)","Macedonian (North Macedonia)","Malay (Malaysia)","Malayalam (India)","Maltese (Malta)","Marathi (India)","Mongolian (Mongolia)","Nepali (Nepal)","Norwegian Bokmål (Norway)","Pashto (Afghanistan)","Persian (Iran)","Polish (Poland)","Portuguese (Brazil)","Portuguese (Portugal)","Romanian (Romania)","Russian (Russia)","Serbian (Latin, Serbia)","Sinhala (Sri Lanka)","Slovak (Slovakia)","Slovenian (Slovenia)","Somali (Somalia)","Spanish (Argentina)","Spanish (Bolivia)","Spanish (Chile)","Spanish (Colombia)","Spanish (Costa Rica)","Spanish (Cuba)","Spanish (Dominican Republic)","Spanish (Ecuador)","Spanish (El Salvador)","Spanish (Equatorial Guinea)","Spanish (Guatemala)","Spanish (Honduras)","Spanish (Mexico)","Spanish (Nicaragua)","Spanish (Panama)","Spanish (Paraguay)","Spanish (Peru)","Spanish (Puerto Rico)","Spanish (Spain)","Spanish (United States)","Spanish (Uruguay)","Spanish (Venezuela)","Sundanese (Indonesia)","Swahili (Kenya)","Swahili (Tanzania)","Swedish (Sweden)","Tamil (India)","Tamil (Malaysia)","Tamil (Singapore)","Tamil (Sri Lanka)","Telugu (India)","Thai (Thailand)","Turkish (Türkiye)","Ukrainian (Ukraine)","Urdu (India)","Urdu (Pakistan)","Uzbek (Latin, Uzbekistan)","Vietnamese (Vietnam)","Welsh (United Kingdom)","Zulu (South Africa)","English - Your Accent","English - American Accent"],"description":"The target language to translate the video into"},"enable_dynamic_duration":{"default":true,"title":"Enable Dynamic Duration","anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Enable dynamic duration to enhance conversational fluidity between languages with different speaking rates"},"srt_role":{"title":"Srt Role","anyOf":[{"type":"string","enum":["input","output"]},{"type":"null"}],"description":"Whether the custom SRT applies to the source or translated video."},"srt_url":{"title":"Srt Url","anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional URL of a custom SRT subtitle file."},"video_url":{"type":"string","examples":["https://v3b.fal.media/files/b/0a9004c7/FM7Q5tK2b59x66Bl8HC0Z_vt-lang-en.mp4"],"title":"Video Url","description":"URL of the video to translate. Maximum length is 8 minutes."},"speaker_num":{"title":"Speaker Num","anyOf":[{"type":"integer"},{"type":"null"}],"description":"Number of speakers in the video"},"translate_audio_only":{"default":false,"title":"Translate Audio Only","anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Translate only the audio, ignore the faces and only translate the voice track"},"enable_caption":{"type":"boolean","default":false,"title":"Enable Caption","description":"Generate an SRT caption file alongside the translated video."},"brand_glossary_id":{"title":"Brand Glossary Id","anyOf":[{"type":"string"},{"type":"null"}],"description":"HeyGen brand glossary ID for custom term translations."}}},"HeygenV2TranslatePrecisionOutput":{"required":["video"],"type":"object","title":"VideoTranslateOutput","x-fal-order-properties":["video","caption_file"],"properties":{"caption_file":{"anyOf":[{"$ref":"#/components/schemas/File"},{"type":"null"}],"description":"Generated SRT captions when enable_caption is true."},"video":{"examples":[{"url":"https://v3b.fal.media/files/b/0a900522/WZRPanS88KdyIhYfqP_Md_output.mp4"}],"description":"The translated video file","$ref":"#/components/schemas/File"}}},"File":{"required":["url"],"type":"object","title":"File","x-fal-order-properties":["url","content_type","file_name","file_size"],"properties":{"url":{"type":"string","title":"Url","description":"The URL where the file can be downloaded from."},"content_type":{"examples":["image/png"],"title":"Content Type","anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file."},"file_name":{"examples":["z9RV14K95DvU.png"],"title":"File Name","anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided."},"file_size":{"examples":[4404019],"title":"File Size","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes."}}}}},"paths":{"/fal-ai/heygen/v2/translate/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"}}}}}}},"/fal-ai/heygen/v2/translate/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."}}}}}}}}},"/fal-ai/heygen/v2/translate/precision":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeygenV2TranslatePrecisionInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/heygen/v2/translate/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/HeygenV2TranslatePrecisionOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/wan-vace-14b","metadata":{"display_name":"Wan VACE 14B","category":"video-to-video","description":"VACE is a video generation model that uses a source image, mask, and video to create prompted videos with controllable sources.","status":"active","tags":["image-to-video","video-to-video","text-to-video"],"updated_at":"2026-04-21T17:56:12.479Z","is_favorited":null,"thumbnail_url":"https://storage.googleapis.com/fal_cdn/fal/Sound-1.jpg","model_url":"https://fal.run/fal-ai/wan-vace-14b","license_type":"commercial","date":"2025-05-27T07:26:55.366Z","group":{"key":"wan-vace-14b","label":"Freeform"},"highlighted":false,"kind":"inference","duration_estimate":1,"pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/wan-vace-14b","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/wan-vace-14b queue.","x-fal-metadata":{"endpointId":"fal-ai/wan-vace-14b","category":"video-to-video","thumbnailUrl":"https://storage.googleapis.com/fal_cdn/fal/Sound-1.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/wan-vace-14b","documentationUrl":"https://fal.ai/models/fal-ai/wan-vace-14b/api","about":"Endpoint for inpainting a video from all supported sources."}},"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"]},"WanVace14bInput":{"required":["prompt"],"properties":{"enable_auto_downsample":{"default":false,"title":"Enable Auto Downsample","examples":[false],"type":"boolean","description":"If true, the model will automatically temporally downsample the video to an appropriate frame length for the model, then will interpolate it back to the original frame length."},"seed":{"title":"Seed","anyOf":[{"type":"integer"},{"type":"null"}],"description":"Random seed for reproducibility. If None, a random seed is chosen."},"auto_downsample_min_fps":{"maximum":60,"title":"Auto Downsample Min FPS","examples":[15],"default":15,"minimum":1,"type":"number","description":"The minimum frames per second to downsample the video to. This is used to help determine the auto downsample factor to try and find the lowest detail-preserving downsample factor. The default value is appropriate for most videos, if you are using a video with very fast motion, you may need to increase this value. If your video has a very low amount of motion, you could decrease this value to allow for higher downsampling and thus longer sequences."},"interpolator_model":{"default":"film","title":"Interpolator Model","examples":["film"],"enum":["rife","film"],"type":"string","description":"The model to use for frame interpolation. Options are 'rife' or 'film'."},"aspect_ratio":{"default":"auto","title":"Aspect Ratio","enum":["auto","16:9","1:1","9:16"],"type":"string","description":"Aspect ratio of the generated video."},"sampler":{"default":"unipc","title":"Sampler","examples":["unipc"],"enum":["unipc","dpm++","euler"],"type":"string","description":"Sampler to use for video generation."},"last_frame_url":{"title":"Last Frame URL","anyOf":[{"type":"string"},{"type":"null"}],"description":"URL to the last frame of the video. If provided, the model will use this frame as a reference."},"ref_image_urls":{"title":"Reference Image URLs","items":{"type":"string"},"type":"array","description":"URLs to source reference image. If provided, the model will use this image as reference."},"frames_per_second":{"default":16,"title":"Frames per Second","anyOf":[{"maximum":30,"minimum":5,"type":"integer"},{"type":"null"}],"description":"Frames per second of the generated video. Must be between 5 to 30. Ignored if match_input_frames_per_second is true."},"first_frame_url":{"title":"First Frame URL","anyOf":[{"type":"string"},{"type":"null"}],"description":"URL to the first frame of the video. If provided, the model will use this frame as a reference."},"task":{"default":"depth","title":"Task","enum":["depth","pose","inpainting","outpainting","reframe"],"type":"string","description":"Task type for the model."},"video_url":{"title":"Video URL","anyOf":[{"type":"string"},{"type":"null"}],"description":"URL to the source video file. If provided, the model will use this video as a reference."},"guidance_scale":{"maximum":10,"title":"Guidance Scale","examples":[5],"default":5,"minimum":1,"type":"number","description":"Guidance scale for classifier-free guidance. Higher values encourage the model to generate images closely related to the text prompt."},"prompt":{"title":"Prompt","examples":["The video shows a man riding a horse on a vast grassland. He has long lavender hair and wears a traditional dress of a white top and black pants. The animation style makes him look like he is doing some kind of outdoor activity or performing. The background is a spectacular mountain range and cloud sky, giving a sense of tranquility and vastness. The entire video is shot from a fixed angle, focusing on the rider and his horse."],"type":"string","description":"The text prompt to guide video generation."},"num_interpolated_frames":{"maximum":5,"title":"Number of Interpolated Frames","examples":[0],"default":0,"minimum":0,"type":"integer","description":"Number of frames to interpolate between the original frames. A value of 0 means no interpolation."},"transparency_mode":{"default":"content_aware","title":"Transparency Mode","examples":["content_aware"],"enum":["content_aware","white","black"],"type":"string","description":"The transparency mode to apply to the first and last frames. This controls how the transparent areas of the first and last frames are filled."},"shift":{"maximum":15,"title":"Shift","default":5,"minimum":1,"type":"number","description":"Shift parameter for video generation."},"mask_video_url":{"title":"Mask Video URL","anyOf":[{"type":"string"},{"type":"null"}],"description":"URL to the source mask file. If provided, the model will use this mask as a reference."},"resolution":{"default":"auto","title":"Resolution","enum":["auto","240p","360p","480p","580p","720p"],"type":"string","description":"Resolution of the generated video."},"num_frames":{"maximum":241,"title":"Number of Frames","default":81,"minimum":17,"type":"integer","description":"Number of frames to generate. Must be between 81 to 241 (inclusive)."},"num_inference_steps":{"maximum":50,"title":"Number of Inference Steps","default":30,"minimum":2,"type":"integer","description":"Number of inference steps for sampling. Higher values give better quality but take longer."},"enable_prompt_expansion":{"default":false,"title":"Enable Prompt Expansion","examples":[false],"type":"boolean","description":"Whether to enable prompt expansion."},"acceleration":{"default":"regular","title":"Acceleration","examples":["regular"],"anyOf":[{"enum":["none","low","regular"],"type":"string"},{"type":"null"}],"description":"Acceleration to use for inference. Options are 'none' or 'regular'. Accelerated inference will very slightly affect output, but will be significantly faster."},"sync_mode":{"default":false,"title":"Sync Mode","examples":[false],"type":"boolean","description":"If `True`, the media will be returned as a data URI and the output data won't be available in the request history."},"enable_safety_checker":{"default":false,"title":"Enable Safety Checker","examples":[true],"type":"boolean","description":"If set to true, the safety checker will be enabled. Disabling it requires account authorization; unauthorized requests are always checked."},"match_input_num_frames":{"default":false,"title":"Match Input Number of Frames","examples":[false],"type":"boolean","description":"If true, the number of frames in the generated video will match the number of frames in the input video. If false, the number of frames will be determined by the num_frames parameter."},"video_quality":{"default":"high","title":"Video Quality","examples":["high"],"enum":["low","medium","high","maximum"],"type":"string","description":"The quality of the generated video."},"return_frames_zip":{"default":false,"title":"Return Frames Zip","examples":[false],"type":"boolean","description":"If true, also return a ZIP file containing all generated frames."},"negative_prompt":{"default":"letterboxing, borders, black bars, bright colors, overexposed, static, blurred details, subtitles, style, artwork, painting, picture, still, overall gray, worst quality, low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured, malformed limbs, fused fingers, still picture, cluttered background, three legs, many people in the background, walking backwards","title":"Negative Prompt","examples":["letterboxing, borders, black bars, bright colors, overexposed, static, blurred details, subtitles, style, artwork, painting, picture, still, overall gray, worst quality, low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured, malformed limbs, fused fingers, still picture, cluttered background, three legs, many people in the background, walking backwards"],"type":"string","description":"Negative prompt for video generation."},"video_write_mode":{"default":"balanced","title":"Video Write Mode","examples":["balanced"],"enum":["fast","balanced","small"],"type":"string","description":"The write mode of the generated video."},"preprocess":{"default":false,"title":"Preprocess","examples":[false],"description":"Whether to preprocess the input video.","type":"boolean"},"mask_image_url":{"title":"Mask Image URL","anyOf":[{"type":"string"},{"type":"null"}],"description":"URL to the guiding mask file. If provided, the model will use this mask as a reference to create masked video. If provided mask video url will be ignored."},"temporal_downsample_factor":{"maximum":5,"title":"Temporal Downsample Factor","examples":[0],"default":0,"minimum":0,"type":"integer","description":"Temporal downsample factor for the video. This is an integer value that determines how many frames to skip in the video. A value of 0 means no downsampling. For each downsample factor, one upsample factor will automatically be applied."},"match_input_frames_per_second":{"default":false,"title":"Match Input Frames Per Second","examples":[false],"type":"boolean","description":"If true, the frames per second of the generated video will match the input video. If false, the frames per second will be determined by the frames_per_second parameter."}},"title":"WanVACERequest","x-fal-order-properties":["prompt","negative_prompt","match_input_num_frames","num_frames","match_input_frames_per_second","frames_per_second","task","seed","resolution","aspect_ratio","num_inference_steps","guidance_scale","sampler","shift","video_url","mask_video_url","mask_image_url","ref_image_urls","first_frame_url","last_frame_url","enable_safety_checker","enable_prompt_expansion","preprocess","acceleration","video_quality","video_write_mode","num_interpolated_frames","temporal_downsample_factor","enable_auto_downsample","auto_downsample_min_fps","interpolator_model","sync_mode","transparency_mode","return_frames_zip"],"type":"object"},"WanVace14bOutput":{"required":["video","prompt","seed"],"properties":{"seed":{"title":"Seed","type":"integer","description":"The seed used for generation."},"video":{"$ref":"#/components/schemas/VideoFile","description":"The generated video file."},"frames_zip":{"anyOf":[{"$ref":"#/components/schemas/File"},{"type":"null"}],"description":"ZIP archive of all video frames if requested."},"prompt":{"title":"Prompt","type":"string","description":"The prompt used for generation."}},"title":"WanVACEResponse","x-fal-order-properties":["video","prompt","seed","frames_zip"],"type":"object"},"VideoFile":{"required":["url"],"properties":{"url":{"title":"Url","type":"string","description":"The URL where the file can be downloaded from."},"num_frames":{"title":"Num Frames","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The number of frames in the video"},"file_name":{"title":"File Name","examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided."},"duration":{"title":"Duration","anyOf":[{"type":"number"},{"type":"null"}],"description":"The duration of the video"},"height":{"title":"Height","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The height of the video"},"file_size":{"title":"File Size","examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes."},"content_type":{"title":"Content Type","examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file."},"fps":{"title":"Fps","anyOf":[{"type":"number"},{"type":"null"}],"description":"The FPS of the video"},"width":{"title":"Width","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The width of the video"}},"title":"VideoFile","x-fal-order-properties":["url","content_type","file_name","file_size","width","height","fps","duration","num_frames"],"type":"object"},"File":{"required":["url"],"properties":{"url":{"title":"Url","type":"string","description":"The URL where the file can be downloaded from."},"file_size":{"title":"File Size","examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes."},"file_name":{"title":"File Name","examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided."},"content_type":{"title":"Content Type","examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file."}},"title":"File","x-fal-order-properties":["url","content_type","file_name","file_size"],"type":"object"}}},"paths":{"/fal-ai/wan-vace-14b/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/wan-vace-14b/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/wan-vace-14b":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WanVace14bInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/wan-vace-14b/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/WanVace14bOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/id-v2v","metadata":{"display_name":"ID-V2V","category":"video-to-video","description":"Restyle a video’s scene, lighting, and visual style from edited keyframes while preserving the source subjects’ identity, expressions, gaze, and motion. Developed by Eyeline Labs and Netflix researchers.","status":"active","tags":["stylized","transform","editing"],"updated_at":"2026-09-14T19:03:19.741Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0aaa6a17/6YqXGZz-1L8Z4GPc56Bld.jpg","model_url":"https://fal.run/fal-ai/id-v2v","license_type":"commercial","date":"2026-09-14T17:35:40.190Z","group":{"key":"id-v2v","label":"Video Restyling"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/id-v2v","version":"1.0.0","description":"ID-V2V is an identity-preserving video restylization model developed by researchers at Eyeline Labs and Netflix. It uses edited keyframes to guide scene, lighting, and style changes while retaining the source subjects’ likeness and performance.\n\nProvide a source video, a restyled first-frame image, and a text prompt. Optional additional keyframes guide the appearance at chosen frame indices. The source video anchors identity, expressions, gaze, and motion; the edited frames guide the new visual treatment.\n\nThe released model builds on Wan 2.1 with VACE control. The default variant uses SAM3 subject segmentation. This fal endpoint exposes 480p and 720p output and optional keyframe controls. Dedicated video relighting is available through fal-ai/id-v2v/relight.\n\nProject: https://eyeline-labs.github.io/ID-V2V/\nCode: https://github.com/Eyeline-Labs/ID-V2V\nWeights: https://huggingface.co/Eyeline-Labs/ID-V2V\nLicense: Apache-2.0.","x-fal-metadata":{"endpointId":"fal-ai/id-v2v","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0aaa6a17/6YqXGZz-1L8Z4GPc56Bld.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/id-v2v","documentationUrl":"https://fal.ai/models/fal-ai/id-v2v/api","about":"Restyle"}},"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"]},"IdV2vInput":{"x-fal-order-properties":["prompt","video_url","image_url","keyframes","resolution","num_frames","segmentation_prompt","num_inference_steps","guidance_scale","vace_scale","seed","enable_safety_checker"],"title":"IDV2VRequest","type":"object","properties":{"video_url":{"title":"Video Url","examples":["https://storage.googleapis.com/falserverless/model_tests/video_models/mmaudio_input.mp4"],"type":"string","description":"URL of the source video whose motion and framing drive the generation."},"segmentation_prompt":{"title":"Segmentation Prompt","examples":["person"],"type":"string","maxLength":100,"description":"Text prompt for SAM-3 subject segmentation. The segmented subject's pixels condition the generation; the rest of the frame is regenerated freely.","default":"person"},"prompt":{"title":"Prompt","examples":["An astronaut walking through an autumn forest"],"type":"string","description":"The prompt describing the restyled video to generate."},"num_frames":{"title":"Num Frames","maximum":241,"type":"integer","minimum":17,"description":"Maximum number of output frames. Capped at the source video's frame count.","default":81},"keyframes":{"title":"Keyframes","type":"array","items":{"$ref":"#/components/schemas/Keyframe"},"maxItems":5,"description":"Optional restyled keyframes pinned at specific output frame indices to anchor identity over long videos."},"resolution":{"title":"Resolution","enum":["480p","720p"],"type":"string","description":"Output resolution tier. Orientation follows the source video (720p is 1280x720 or 720x1280; 480p is 832x480 or 480x832).","default":"720p"},"num_inference_steps":{"title":"Num Inference Steps","maximum":40,"type":"integer","minimum":2,"description":"Number of diffusion sampling steps per clip. Higher improves quality but is slower.","default":30},"guidance_scale":{"title":"Guidance Scale","maximum":10,"type":"number","minimum":1,"description":"Classifier-free guidance scale. Controls prompt adherence versus creativity.","default":5},"vace_scale":{"title":"Vace Scale","maximum":2,"type":"number","minimum":0,"description":"VACE conditioning scale. Controls how strongly the source video's structure constrains the generation.","default":1},"seed":{"title":"Seed","description":"Random seed for reproducibility. The same seed is used for every clip of a multi-clip generation.","anyOf":[{"type":"integer"},{"type":"null"}]},"enable_safety_checker":{"title":"Enable Safety Checker","type":"boolean","description":"Enable safety checking of inputs and outputs.","default":true},"image_url":{"title":"Image Url","examples":["https://storage.googleapis.com/falserverless/example_inputs/ltxv-image-input.jpg"],"type":"string","description":"URL of the restyled first frame. The video is regenerated in this frame's identity/style."}},"required":["prompt","video_url","image_url"]},"IdV2vOutput":{"x-fal-order-properties":["video","seed"],"title":"IDV2VResponse","type":"object","properties":{"video":{"$ref":"#/components/schemas/File","examples":[{"file_size":1048576,"file_name":"output.mp4","content_type":"video/mp4","url":"https://storage.googleapis.com/falserverless/example_outputs/scail2-output.mp4"}],"description":"The generated video file."},"seed":{"title":"Seed","type":"integer","description":"The seed used for generation."}},"required":["video","seed"]},"Keyframe":{"x-fal-order-properties":["image_url","frame_index"],"title":"Keyframe","type":"object","properties":{"frame_index":{"title":"Frame Index","examples":[80],"type":"integer","minimum":1,"description":"0-based output frame index for this keyframe. Must be >= 1 (frame 0 is the restyled first frame from `image_url`) and less than the output frame count."},"image_url":{"title":"Image Url","examples":["https://storage.googleapis.com/falserverless/example_inputs/ltxv-image-input.jpg"],"type":"string","description":"URL of a restyled keyframe image. It is pinned verbatim at `frame_index` to anchor identity over long videos. Its aspect ratio must match the output aspect ratio within 0.1."}},"required":["image_url","frame_index"]},"File":{"x-fal-order-properties":["url","content_type","file_name","file_size"],"title":"File","type":"object","properties":{"file_size":{"title":"File Size","examples":[4404019],"description":"The size of the file in bytes.","anyOf":[{"type":"integer"},{"type":"null"}]},"file_name":{"title":"File Name","examples":["z9RV14K95DvU.png"],"description":"The name of the file. It will be auto-generated if not provided.","anyOf":[{"type":"string"},{"type":"null"}]},"url":{"title":"Url","type":"string","description":"The URL where the file can be downloaded from."},"content_type":{"title":"Content Type","examples":["image/png"],"description":"The mime type of the file.","anyOf":[{"type":"string"},{"type":"null"}]}},"required":["url"]}}},"paths":{"/fal-ai/id-v2v/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/id-v2v/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/id-v2v":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdV2vInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/id-v2v/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/IdV2vOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/film/video","metadata":{"display_name":"FILM","category":"video-to-video","description":"Interpolate videos with FILM - Frame Interpolation for Large Motion","status":"active","tags":["interpolation"],"updated_at":"2026-04-21T17:45:43.272Z","is_favorited":null,"thumbnail_url":"https://storage.googleapis.com/fal_cdn/fal/for%20videos.jpg","model_url":"https://fal.run/fal-ai/film/video","license_type":"commercial","date":"2025-07-22T20:08:28.407Z","group":{"key":"film","label":"Video Interpolation"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/film/video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/film/video queue.","x-fal-metadata":{"endpointId":"fal-ai/film/video","category":"video-to-video","thumbnailUrl":"https://storage.googleapis.com/fal_cdn/fal/for%20videos.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/film/video","documentationUrl":"https://fal.ai/models/fal-ai/film/video/api","about":"Interpolate between frames of a video using the FILM model."}},"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"]},"FilmVideoInput":{"title":"FILMVideoInput","properties":{"use_calculated_fps":{"title":"Use Calculated FPS","default":true,"description":"If True, the function will use the calculated FPS of the input video multiplied by the number of frames to determine the output FPS. If False, the passed FPS will be used.","type":"boolean"},"video_url":{"title":"Video URL","examples":["https://storage.googleapis.com/falserverless/example_inputs/interpolation-video-input.mp4"],"description":"The URL of the video to use for interpolation.","type":"string"},"video_write_mode":{"enum":["fast","balanced","small"],"title":"Video Write Mode","default":"balanced","examples":["balanced"],"type":"string","description":"The write mode of the output video. Only applicable if output_type is 'video'."},"num_frames":{"maximum":4,"title":"Number of Frames","default":1,"description":"The number of frames to generate between the input video frames.","type":"integer","minimum":1},"video_quality":{"enum":["low","medium","high","maximum"],"title":"Video Quality","default":"high","examples":["high"],"type":"string","description":"The quality of the output video. Only applicable if output_type is 'video'."},"use_scene_detection":{"title":"Use Scene Detection","default":false,"description":"If True, the input video will be split into scenes before interpolation. This removes smear frames between scenes, but can result in false positives if the scene detection is not accurate. If False, the entire video will be treated as a single scene.","type":"boolean"},"fps":{"title":"Frames Per Second","default":8,"description":"Frames per second for the output video. Only applicable if use_calculated_fps is False.","type":"integer","maximum":60,"minimum":1},"sync_mode":{"title":"Sync Mode","default":false,"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"},"loop":{"title":"Loop","default":false,"description":"If True, the final frame will be looped back to the first frame to create a seamless loop. If False, the final frame will not loop back.","type":"boolean"}},"required":["video_url"],"type":"object","x-fal-order-properties":["video_url","num_frames","use_scene_detection","use_calculated_fps","fps","loop","sync_mode","video_quality","video_write_mode"]},"FilmVideoOutput":{"title":"FILMVideoOutput","properties":{"video":{"$ref":"#/components/schemas/VideoFile","examples":[{"url":"https://storage.googleapis.com/falserverless/example_outputs/film-video-output.mp4"}],"description":"The generated video file with interpolated frames."}},"required":["video"],"type":"object","x-fal-order-properties":["video"]},"VideoFile":{"title":"VideoFile","properties":{"duration":{"title":"Duration","description":"The duration of the video","anyOf":[{"type":"number"},{"type":"null"}]},"content_type":{"title":"Content Type","examples":["image/png"],"description":"The mime type of the file.","anyOf":[{"type":"string"},{"type":"null"}]},"url":{"title":"Url","description":"The URL where the file can be downloaded from.","type":"string"},"num_frames":{"title":"Num Frames","description":"The number of frames in the video","anyOf":[{"type":"integer"},{"type":"null"}]},"file_name":{"title":"File Name","examples":["z9RV14K95DvU.png"],"description":"The name of the file. It will be auto-generated if not provided.","anyOf":[{"type":"string"},{"type":"null"}]},"fps":{"title":"Fps","description":"The FPS of the video","anyOf":[{"type":"number"},{"type":"null"}]},"file_size":{"title":"File Size","examples":[4404019],"description":"The size of the file in bytes.","anyOf":[{"type":"integer"},{"type":"null"}]},"height":{"title":"Height","description":"The height of the video","anyOf":[{"type":"integer"},{"type":"null"}]},"width":{"title":"Width","description":"The width of the video","anyOf":[{"type":"integer"},{"type":"null"}]}},"required":["url"],"type":"object","x-fal-order-properties":["url","content_type","file_name","file_size","width","height","fps","duration","num_frames"]}}},"paths":{"/fal-ai/film/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/film/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/film/video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilmVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/film/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/FilmVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/wan-vace-14b/inpainting","metadata":{"display_name":"Wan VACE 14B","category":"video-to-video","description":"VACE is a video generation model that uses a source image, mask, and video to create prompted videos with controllable sources.","status":"active","tags":["image-to-video","video-to-video","text-to-video"],"updated_at":"2026-04-21T17:56:15.116Z","is_favorited":null,"thumbnail_url":"https://storage.googleapis.com/fal_cdn/fal/Sound-1.jpg","model_url":"https://fal.run/fal-ai/wan-vace-14b/inpainting","license_type":"commercial","date":"2025-06-18T19:20:48.150Z","group":{"key":"wan-vace-14b","label":"Inpainting"},"highlighted":false,"kind":"inference","duration_estimate":1,"pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/wan-vace-14b/inpainting","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/wan-vace-14b/inpainting queue.","x-fal-metadata":{"endpointId":"fal-ai/wan-vace-14b/inpainting","category":"video-to-video","thumbnailUrl":"https://storage.googleapis.com/fal_cdn/fal/Sound-1.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/wan-vace-14b/inpainting","documentationUrl":"https://fal.ai/models/fal-ai/wan-vace-14b/inpainting/api","about":"Endpoint for inpainting a video from a source video and mask."}},"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"]},"WanVace14bInpaintingInput":{"required":["prompt","video_url"],"properties":{"enable_auto_downsample":{"default":false,"title":"Enable Auto Downsample","examples":[false],"type":"boolean","description":"If true, the model will automatically temporally downsample the video to an appropriate frame length for the model, then will interpolate it back to the original frame length."},"seed":{"title":"Seed","anyOf":[{"type":"integer"},{"type":"null"}],"description":"Random seed for reproducibility. If None, a random seed is chosen."},"auto_downsample_min_fps":{"maximum":60,"title":"Auto Downsample Min FPS","examples":[15],"default":15,"minimum":1,"type":"number","description":"The minimum frames per second to downsample the video to. This is used to help determine the auto downsample factor to try and find the lowest detail-preserving downsample factor. The default value is appropriate for most videos, if you are using a video with very fast motion, you may need to increase this value. If your video has a very low amount of motion, you could decrease this value to allow for higher downsampling and thus longer sequences."},"interpolator_model":{"default":"film","title":"Interpolator Model","examples":["film"],"enum":["rife","film"],"type":"string","description":"The model to use for frame interpolation. Options are 'rife' or 'film'."},"aspect_ratio":{"default":"auto","title":"Aspect Ratio","enum":["auto","16:9","1:1","9:16"],"type":"string","description":"Aspect ratio of the generated video."},"sampler":{"default":"unipc","title":"Sampler","examples":["unipc"],"enum":["unipc","dpm++","euler"],"type":"string","description":"Sampler to use for video generation."},"last_frame_url":{"title":"Last Frame URL","anyOf":[{"type":"string"},{"type":"null"}],"description":"URL to the last frame of the video. If provided, the model will use this frame as a reference."},"ref_image_urls":{"description":"Urls to source reference image. If provided, the model will use this image as reference.","title":"Reference Image URLs","examples":[["https://storage.googleapis.com/falserverless/vace/src_ref_image_1.png"]],"items":{"type":"string"},"type":"array"},"frames_per_second":{"default":16,"title":"Frames per Second","anyOf":[{"maximum":30,"minimum":5,"type":"integer"},{"type":"null"}],"description":"Frames per second of the generated video. Must be between 5 to 30. Ignored if match_input_frames_per_second is true."},"first_frame_url":{"title":"First Frame URL","anyOf":[{"type":"string"},{"type":"null"}],"description":"URL to the first frame of the video. If provided, the model will use this frame as a reference."},"video_url":{"title":"Video URL","examples":["https://storage.googleapis.com/falserverless/vace/src_video.mp4"],"type":"string","description":"URL to the source video file. Required for inpainting."},"guidance_scale":{"maximum":10,"title":"Guidance Scale","examples":[5],"default":5,"minimum":1,"type":"number","description":"Guidance scale for classifier-free guidance. Higher values encourage the model to generate images closely related to the text prompt."},"prompt":{"title":"Prompt","examples":["The video shows a man riding a horse on a vast grassland. He has long lavender hair and wears a traditional dress of a white top and black pants. The animation style makes him look like he is doing some kind of outdoor activity or performing. The background is a spectacular mountain range and cloud sky, giving a sense of tranquility and vastness. The entire video is shot from a fixed angle, focusing on the rider and his horse."],"type":"string","description":"The text prompt to guide video generation."},"num_interpolated_frames":{"maximum":5,"title":"Number of Interpolated Frames","examples":[0],"default":0,"minimum":0,"type":"integer","description":"Number of frames to interpolate between the original frames. A value of 0 means no interpolation."},"transparency_mode":{"default":"content_aware","title":"Transparency Mode","examples":["content_aware"],"enum":["content_aware","white","black"],"type":"string","description":"The transparency mode to apply to the first and last frames. This controls how the transparent areas of the first and last frames are filled."},"shift":{"maximum":15,"title":"Shift","default":5,"minimum":1,"type":"number","description":"Shift parameter for video generation."},"mask_video_url":{"title":"Mask Video URL","examples":["https://storage.googleapis.com/falserverless/vace/src_mask.mp4"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"URL to the source mask file. Required for inpainting."},"resolution":{"default":"auto","title":"Resolution","enum":["auto","240p","360p","480p","580p","720p"],"type":"string","description":"Resolution of the generated video."},"num_frames":{"maximum":241,"title":"Number of Frames","default":81,"minimum":17,"type":"integer","description":"Number of frames to generate. Must be between 81 to 241 (inclusive)."},"num_inference_steps":{"maximum":50,"title":"Number of Inference Steps","default":30,"minimum":2,"type":"integer","description":"Number of inference steps for sampling. Higher values give better quality but take longer."},"sync_mode":{"default":false,"title":"Sync Mode","examples":[false],"type":"boolean","description":"If `True`, the media will be returned as a data URI and the output data won't be available in the request history."},"acceleration":{"default":"regular","title":"Acceleration","examples":["regular"],"anyOf":[{"enum":["none","low","regular"],"type":"string"},{"type":"null"}],"description":"Acceleration to use for inference. Options are 'none' or 'regular'. Accelerated inference will very slightly affect output, but will be significantly faster."},"enable_prompt_expansion":{"default":false,"title":"Enable Prompt Expansion","examples":[false],"type":"boolean","description":"Whether to enable prompt expansion."},"enable_safety_checker":{"default":false,"title":"Enable Safety Checker","examples":[true],"type":"boolean","description":"If set to true, the safety checker will be enabled. Disabling it requires account authorization; unauthorized requests are always checked."},"match_input_num_frames":{"default":false,"title":"Match Input Number of Frames","examples":[false],"type":"boolean","description":"If true, the number of frames in the generated video will match the number of frames in the input video. If false, the number of frames will be determined by the num_frames parameter."},"video_quality":{"default":"high","title":"Video Quality","examples":["high"],"enum":["low","medium","high","maximum"],"type":"string","description":"The quality of the generated video."},"return_frames_zip":{"default":false,"title":"Return Frames Zip","examples":[false],"type":"boolean","description":"If true, also return a ZIP file containing all generated frames."},"negative_prompt":{"default":"letterboxing, borders, black bars, bright colors, overexposed, static, blurred details, subtitles, style, artwork, painting, picture, still, overall gray, worst quality, low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured, malformed limbs, fused fingers, still picture, cluttered background, three legs, many people in the background, walking backwards","title":"Negative Prompt","examples":["letterboxing, borders, black bars, bright colors, overexposed, static, blurred details, subtitles, style, artwork, painting, picture, still, overall gray, worst quality, low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured, malformed limbs, fused fingers, still picture, cluttered background, three legs, many people in the background, walking backwards"],"type":"string","description":"Negative prompt for video generation."},"video_write_mode":{"default":"balanced","title":"Video Write Mode","examples":["balanced"],"enum":["fast","balanced","small"],"type":"string","description":"The write mode of the generated video."},"preprocess":{"default":false,"title":"Preprocess","examples":[false],"description":"Whether to preprocess the input video.","type":"boolean"},"mask_image_url":{"title":"Mask Image URL","anyOf":[{"type":"string"},{"type":"null"}],"description":"URL to the guiding mask file. If provided, the model will use this mask as a reference to create masked video using salient mask tracking. Will be ignored if mask_video_url is provided."},"temporal_downsample_factor":{"maximum":5,"title":"Temporal Downsample Factor","examples":[0],"default":0,"minimum":0,"type":"integer","description":"Temporal downsample factor for the video. This is an integer value that determines how many frames to skip in the video. A value of 0 means no downsampling. For each downsample factor, one upsample factor will automatically be applied."},"match_input_frames_per_second":{"default":false,"title":"Match Input Frames Per Second","examples":[false],"type":"boolean","description":"If true, the frames per second of the generated video will match the input video. If false, the frames per second will be determined by the frames_per_second parameter."}},"title":"WanVACEInpaintingRequest","x-fal-order-properties":["prompt","negative_prompt","match_input_num_frames","num_frames","match_input_frames_per_second","frames_per_second","seed","resolution","aspect_ratio","num_inference_steps","guidance_scale","sampler","shift","video_url","mask_video_url","mask_image_url","ref_image_urls","first_frame_url","last_frame_url","enable_safety_checker","enable_prompt_expansion","preprocess","acceleration","video_quality","video_write_mode","num_interpolated_frames","temporal_downsample_factor","enable_auto_downsample","auto_downsample_min_fps","interpolator_model","sync_mode","transparency_mode","return_frames_zip"],"type":"object"},"WanVace14bInpaintingOutput":{"required":["video","prompt","seed"],"properties":{"seed":{"title":"Seed","type":"integer","description":"The seed used for generation."},"video":{"examples":[{"url":"https://storage.googleapis.com/falserverless/example_outputs/wan-vace-inpainting-output.mp4"}],"$ref":"#/components/schemas/VideoFile","description":"The generated inpainting video file."},"frames_zip":{"anyOf":[{"$ref":"#/components/schemas/File"},{"type":"null"}],"description":"ZIP archive of all video frames if requested."},"prompt":{"title":"Prompt","type":"string","description":"The prompt used for generation."}},"title":"WanVACEInpaintingResponse","x-fal-order-properties":["video","prompt","seed","frames_zip"],"type":"object"},"VideoFile":{"required":["url"],"properties":{"url":{"title":"Url","type":"string","description":"The URL where the file can be downloaded from."},"num_frames":{"title":"Num Frames","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The number of frames in the video"},"file_name":{"title":"File Name","examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided."},"duration":{"title":"Duration","anyOf":[{"type":"number"},{"type":"null"}],"description":"The duration of the video"},"height":{"title":"Height","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The height of the video"},"file_size":{"title":"File Size","examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes."},"content_type":{"title":"Content Type","examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file."},"fps":{"title":"Fps","anyOf":[{"type":"number"},{"type":"null"}],"description":"The FPS of the video"},"width":{"title":"Width","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The width of the video"}},"title":"VideoFile","x-fal-order-properties":["url","content_type","file_name","file_size","width","height","fps","duration","num_frames"],"type":"object"},"File":{"required":["url"],"properties":{"url":{"title":"Url","type":"string","description":"The URL where the file can be downloaded from."},"file_size":{"title":"File Size","examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes."},"file_name":{"title":"File Name","examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided."},"content_type":{"title":"Content Type","examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file."}},"title":"File","x-fal-order-properties":["url","content_type","file_name","file_size"],"type":"object"}}},"paths":{"/fal-ai/wan-vace-14b/inpainting/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/wan-vace-14b/inpainting/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/wan-vace-14b/inpainting":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WanVace14bInpaintingInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/wan-vace-14b/inpainting/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/WanVace14bInpaintingOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}}],"next_cursor":"MTA","has_more":true}
