{"models":[{"endpoint_id":"luma/agent/ray/v3.2/video-to-video","metadata":{"display_name":"Luma Ray 3.2 Video to Video","category":"video-to-video","description":"Luma Ray 3.2 re-renders an existing video into new cinematic motion guided by a text prompt, preserving the source's look and movement while controlling resolution, duration, and HDR.","status":"active","tags":["stylized","transform","lipsync"],"updated_at":"2026-06-15T21:36:15.554Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a9dd626/fDtx2FCaRxBnEQmyYu2DY_d03821f138c94cf3a2cf165a9aa389bf.jpg","model_url":"https://fal.run/luma/agent/ray/v3.2/video-to-video","license_type":"commercial","date":"2026-06-11T07:05:04.335Z","group":{"key":"ray-32","label":"Video Edit"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for luma/agent/ray/v3.2/video-to-video","version":"1.0.0","description":"The OpenAPI schema for the luma/agent/ray/v3.2/video-to-video queue.","x-fal-metadata":{"endpointId":"luma/agent/ray/v3.2/video-to-video","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a9dd626/fDtx2FCaRxBnEQmyYu2DY_d03821f138c94cf3a2cf165a9aa389bf.jpg","playgroundUrl":"https://fal.ai/models/luma/agent/ray/v3.2/video-to-video","documentationUrl":"https://fal.ai/models/luma/agent/ray/v3.2/video-to-video/api","about":"ray-3.2 video-to-video editing via the Luma Agents API.\n\nEdits an existing source video according to the prompt (``video_edit``\noperation). ``loop`` does not apply to editing an existing clip, so —\nunlike text/image-to-video — there is no ``_reject_unsupported_video_options``\ncheck here."}},"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"]},"AgentRayV32VideoToVideoInput":{"required":["prompt","video_url"],"additionalProperties":false,"x-fal-order-properties":["prompt","video_url","user","start_image_url","resolution","duration","edit_strength","auto_controls","hdr","exr_export","controls","keyframes","keyframe_indexes"],"title":"RayVideoToVideoRequest","type":"object","properties":{"resolution":{"description":"Resolution of the edited video. Higher resolutions cost more.","enum":["540p","720p","1080p"],"title":"Resolution","type":"string","default":"540p"},"auto_controls":{"description":"Let the model derive the edit conditioning schedule from the source video. Cannot be combined with edit_strength.","title":"Auto Controls","type":"boolean","default":false},"hdr":{"description":"Generate an HDR-encoded MP4. Requires HDR access on the account and a resolution of 720p or 1080p.","title":"Hdr","type":"boolean","default":false},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User","description":"Optional opaque identifier for the end user making the request. Used only for abuse attribution; never interpreted by fal."},"duration":{"description":"Duration of the edited video.","enum":["5s","10s"],"title":"Duration","type":"string","default":"5s"},"start_image_url":{"examples":["https://storage.googleapis.com/falserverless/gallery/example_inputs_liuyifei.png"],"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Image Url","description":"Optional URL of an image to use as the edited video's first frame — e.g. a restyled version of the source's opening frame to steer the look of the edit. Leave unset to let the model derive the first frame from the source video."},"prompt":{"description":"Text prompt describing how to edit the source video.","examples":["Restyle the footage as a hand-painted watercolor animation with soft pastel colors."],"maxLength":6000,"title":"Prompt","type":"string","minLength":1},"keyframes":{"anyOf":[{"maxItems":64,"items":{"type":"string"},"minItems":1,"type":"array"},{"type":"null"}],"title":"Keyframes","description":"Multi-keyframe edit guide frames: up to 64 image URLs pinned at the source-frame positions given by keyframe_indexes. Mutually exclusive with start_image_url. Provide keyframes and keyframe_indexes together (same length)."},"controls":{"anyOf":[{"$ref":"#/components/schemas/RayEditControls"},{"type":"null"}],"description":"Per-signal conditioning controls (pose, depth, normals, trajectory, face) for finer control than edit_strength. Cannot be combined with auto_controls."},"video_url":{"examples":["https://storage.googleapis.com/falserverless/example_inputs/birefnet-video-input.mp4"],"minLength":1,"title":"Video Url","type":"string","description":"URL of the source video to edit."},"keyframe_indexes":{"anyOf":[{"maxItems":64,"items":{"type":"integer"},"minItems":1,"type":"array"},{"type":"null"}],"title":"Keyframe Indexes","description":"Source-video frame positions where each keyframes[i] is anchored. Non-negative, unique, and the same length as keyframes."},"exr_export":{"description":"Also export an EXR file alongside the MP4. Requires hdr=true and HDR access.","title":"Exr Export","type":"boolean","default":false},"edit_strength":{"anyOf":[{"enum":["adhere_1","adhere_2","adhere_3","flex_1","flex_2","flex_3","reimagine_1","reimagine_2","reimagine_3"],"type":"string"},{"type":"null"}],"title":"Edit Strength","description":"How closely the edit preserves the source video. 'adhere_*' stays closest to the source, 'flex_*' is balanced, and 'reimagine_*' diverges most. Leave unset to use Luma's default. Cannot be combined with auto_controls."}}},"AgentRayV32VideoToVideoOutput":{"required":["video"],"x-fal-order-properties":["video","exr_file"],"title":"VideoOutput","type":"object","properties":{"exr_file":{"anyOf":[{"$ref":"#/components/schemas/File"},{"type":"null"}],"description":"The generated EXR sidecar when exr_export is true. This may be a single EXR file or a ZIP package depending on Luma's export shape."},"video":{"$ref":"#/components/schemas/File","description":"The generated video."}}},"RayEditControls":{"description":"Per-signal conditioning controls for ray-3.2 video editing.\n\nEach signal is optional; include only the signals you want to tune. Cannot\nbe combined with auto_controls. Mirrors the Luma Agents ``video.edit.controls``\nobject — see https://docs.agents.lumalabs.ai/api/resources/generations.","additionalProperties":false,"x-fal-order-properties":["pose","depth","normals","trajectory","face"],"title":"RayEditControls","type":"object","properties":{"trajectory":{"anyOf":[{"$ref":"#/components/schemas/RayEditTrajectoryControl"},{"type":"null"}],"description":"Motion-trajectory conditioning."},"pose":{"anyOf":[{"$ref":"#/components/schemas/RayEditPoseControl"},{"type":"null"}],"description":"Pose / skeleton conditioning."},"depth":{"anyOf":[{"$ref":"#/components/schemas/RayEditDepthControl"},{"type":"null"}],"description":"Depth / scene-geometry conditioning."},"normals":{"anyOf":[{"$ref":"#/components/schemas/RayEditNormalsControl"},{"type":"null"}],"description":"Surface-normals conditioning."},"face":{"anyOf":[{"$ref":"#/components/schemas/RayEditFaceControl"},{"type":"null"}],"description":"Face-identity conditioning."}}},"File":{"required":["url"],"x-fal-order-properties":["url","content_type","file_name","file_size"],"title":"File","type":"object","properties":{"file_name":{"examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name","description":"The name of the file. It will be auto-generated if not provided."},"file_size":{"examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size","description":"The size of the file in bytes."},"content_type":{"examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type","description":"The mime type of the file."},"url":{"title":"Url","type":"string","description":"The URL where the file can be downloaded from."}}},"RayEditTrajectoryControl":{"additionalProperties":false,"x-fal-order-properties":["enabled","sparsity"],"title":"RayEditTrajectoryControl","type":"object","properties":{"enabled":{"description":"Enable motion-trajectory conditioning for the edit.","title":"Enabled","type":"boolean","default":true},"sparsity":{"anyOf":[{"maximum":1,"type":"number","minimum":0},{"type":"null"}],"title":"Sparsity","description":"Motion-trajectory sparsity. Higher values use fewer motion anchors. Leave unset for the default."}}},"RayEditPoseControl":{"additionalProperties":false,"x-fal-order-properties":["enabled","strength"],"title":"RayEditPoseControl","type":"object","properties":{"enabled":{"description":"Enable pose / skeleton conditioning for the edit.","title":"Enabled","type":"boolean","default":true},"strength":{"anyOf":[{"enum":["precise","coarse"],"type":"string"},{"type":"null"}],"title":"Strength","description":"Pose conditioning precision. 'precise' follows the source pose tightly; 'coarse' allows more freedom. Leave unset for the default."}}},"RayEditDepthControl":{"additionalProperties":false,"x-fal-order-properties":["enabled","blur"],"title":"RayEditDepthControl","type":"object","properties":{"enabled":{"description":"Enable depth / scene-geometry conditioning for the edit.","title":"Enabled","type":"boolean","default":true},"blur":{"anyOf":[{"maximum":1,"type":"number","minimum":0},{"type":"null"}],"title":"Blur","description":"Depth blur. Higher values allow more geometric freedom. Leave unset for the default."}}},"RayEditNormalsControl":{"additionalProperties":false,"x-fal-order-properties":["enabled","augmentation"],"title":"RayEditNormalsControl","type":"object","properties":{"enabled":{"description":"Enable surface-normals conditioning for the edit.","title":"Enabled","type":"boolean","default":true},"augmentation":{"anyOf":[{"maximum":1,"type":"number","minimum":0},{"type":"null"}],"title":"Augmentation","description":"Surface-normals augmentation. Higher values allow more reinterpretation of surface geometry. Leave unset for the default."}}},"RayEditFaceControl":{"additionalProperties":false,"x-fal-order-properties":["enabled"],"title":"RayEditFaceControl","type":"object","properties":{"enabled":{"description":"Enable face-identity conditioning for the edit.","title":"Enabled","type":"boolean","default":true}}}}},"paths":{"/luma/agent/ray/v3.2/video-to-video/requests/{request_id}/status":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}},{"name":"logs","in":"query","required":false,"schema":{"type":"number","description":"Whether to include logs (`1`) in the response or not (`0`)."}}],"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/luma/agent/ray/v3.2/video-to-video/requests/{request_id}/cancel":{"put":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"The request was cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the request was cancelled successfully."}}}}}}}}},"/luma/agent/ray/v3.2/video-to-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRayV32VideoToVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/luma/agent/ray/v3.2/video-to-video/requests/{request_id}":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"Result of the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRayV32VideoToVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"minimax/h3/reference-to-video/lora","metadata":{"display_name":"MiniMax H3 Reference to Video LoRA","category":"video-to-video","description":"References into video with synchronized audio using MiniMax H3","status":"active","tags":["utility","editing"],"updated_at":"2026-08-25T17:43:52.103Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0aa5d1a9/U9LZw7fmLzSjY6ycSnNYY.jpg","model_url":"https://fal.run/minimax/h3/reference-to-video/lora","license_type":"commercial","date":"2026-08-10T20:13:09.052Z","group":{"key":"hailuo-03-lora","label":"Reference to Video LoRA"},"highlighted":false,"kind":"inference","pinned":false,"training_endpoint_ids":["minimax/h3/flf2v/trainer","minimax/h3/i2v/trainer"]},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for minimax/h3/reference-to-video/lora","version":"1.0.0","description":"The OpenAPI schema for the minimax/h3/reference-to-video/lora queue.","x-fal-metadata":{"endpointId":"minimax/h3/reference-to-video/lora","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0aa5d1a9/U9LZw7fmLzSjY6ycSnNYY.jpg","playgroundUrl":"https://fal.ai/models/minimax/h3/reference-to-video/lora","documentationUrl":"https://fal.ai/models/minimax/h3/reference-to-video/lora/api","about":"Reference To Video Lora"}},"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"]},"H3ReferenceToVideoLoraInput":{"required":["prompt","loras"],"properties":{"reference_image_urls":{"maxItems":9,"type":"array","description":"URLs of subject/style reference images, referenced in the prompt as Image 1, Image 2, and so on. Reference images, videos, and audio clips must add up to at most 12 files.","items":{"type":"string"},"examples":[["https://storage.googleapis.com/falserverless/example_inputs/hailuo23/pro_i2v_in.jpg"]],"title":"Reference Image URLs"},"duration":{"default":5,"type":"integer","minimum":5,"description":"The duration of the video in seconds.","maximum":15,"title":"Duration"},"sync_mode":{"type":"boolean","description":"Return the generated video as base64 instead of a CDN URL.","title":"Sync Mode","default":false},"resolution":{"enum":["480P","768P","2K","4K"],"type":"string","description":"The resolution of the generated video. 480P and 768P are native generation modes; 2K and 4K upscale a 768P base result.","title":"Resolution","default":"2K"},"reference_video_urls":{"type":"array","description":"URLs of motion/reference video clips (2-15 seconds each, combined duration at most 15 seconds), referenced in the prompt as Video 1, Video 2, and so on. Reference images, videos, and audio clips must add up to at most 12 files.","items":{"type":"string"},"title":"Reference Video URLs","maxItems":3},"enable_safety_checker":{"type":"boolean","description":"If set to true, the safety checker will be enabled.","title":"Enable Safety Checker","default":true},"aspect_ratio":{"enum":["adaptive","21:9","16:9","4:3","1:1","3:4","9:16"],"type":"string","description":"The aspect ratio of the generated video.","title":"Aspect Ratio","default":"adaptive"},"prompt_expansion_mode":{"default":"balanced","anyOf":[{"type":"string"},{"type":"null"}],"description":"How much effort to spend rewriting the prompt before generation. 'disabled' skips prompt expansion. 'fast' returns in about a second. 'balanced' picks per request. 'quality' spends up to ~30s on a richer prompt.","examples":["disabled","fast","balanced","quality"],"title":"Prompt Expansion Mode"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Random seed. A random seed is selected when omitted.","title":"Seed"},"loras":{"minItems":1,"type":"array","description":"List of LoRA adapters to apply to the transformer.","items":{"$ref":"#/components/schemas/LoRAInput"},"maxItems":3,"title":"Loras"},"reference_audio_urls":{"type":"array","description":"URLs of reference audio clips (2-15 seconds each, combined duration at most 15 seconds), referenced in the prompt as Audio 1, Audio 2, and so on. Images, videos, and audio can be provided individually or together. Reference images, videos, and audio clips must add up to at most 12 files.","items":{"type":"string"},"title":"Reference Audio URLs","maxItems":3},"prompt":{"minLength":1,"type":"string","description":"Text prompt for video generation. Refer to reference assets by their modality and order in the reference lists: Image 1, Image 2, Video 1, Audio 1, and so on.","maxLength":50000,"examples":["Image 1 is the female protagonist. Image 2 is her small dog. Keep the woman and dog consistent with their respective reference images while they walk together through a sunlit garden."],"title":"Prompt"}},"type":"object","title":"ReferenceToVideoHailuo03LoRAInput","x-fal-order-properties":["prompt","duration","resolution","seed","enable_safety_checker","sync_mode","prompt_expansion_mode","aspect_ratio","reference_image_urls","reference_video_urls","reference_audio_urls","loras"]},"H3ReferenceToVideoLoraOutput":{"required":["video"],"properties":{"video":{"$ref":"#/components/schemas/File","description":"The generated video"},"expanded_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The prompt after expansion, as sent to the model. Null when prompt expansion was disabled, left the prompt unchanged, or was performed internally by MiniMax's hosted API.","title":"Expanded Prompt"}},"type":"object","title":"ReferenceToVideoHailuo03Output","x-fal-order-properties":["video","expanded_prompt"]},"LoRAInput":{"required":["path"],"properties":{"path":{"type":"string","description":"URL or HuggingFace repo id (owner/repo) of the LoRA weights.","examples":["https://huggingface.co/owner/repo/resolve/main/lora.safetensors"],"title":"Path"},"weight_name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name of the LoRA weight file. Only used when `path` is a HuggingFace repo and it holds more than one LoRA.","title":"Weight Name"},"scale":{"default":1,"type":"number","minimum":0,"description":"Strength of the LoRA (0.0 to 4.0).","title":"Scale","maximum":4}},"type":"object","description":"A single LoRA adapter to apply to the transformer.","title":"LoRAInput","x-fal-order-properties":["path","weight_name","scale"]},"File":{"required":["url"],"properties":{"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided.","examples":["z9RV14K95DvU.png"],"title":"File Name"},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes.","examples":[4404019],"title":"File Size"},"url":{"type":"string","description":"The URL where the file can be downloaded from.","title":"Url"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file.","examples":["image/png"],"title":"Content Type"}},"type":"object","title":"File","x-fal-order-properties":["url","content_type","file_name","file_size"]}}},"paths":{"/minimax/h3/reference-to-video/lora/requests/{request_id}/status":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}},{"name":"logs","in":"query","required":false,"schema":{"type":"number","description":"Whether to include logs (`1`) in the response or not (`0`)."}}],"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/minimax/h3/reference-to-video/lora/requests/{request_id}/cancel":{"put":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"The request was cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the request was cancelled successfully."}}}}}}}}},"/minimax/h3/reference-to-video/lora":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/H3ReferenceToVideoLoraInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/minimax/h3/reference-to-video/lora/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/H3ReferenceToVideoLoraOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/sam-3-1/video","metadata":{"display_name":"Sam 3 1","category":"video-to-video","description":"SAM 3.1 builds comes with Object Multiplex, a shared-memory approach for joint multi-object tracking that delivers faster speeds with larger number of objects tracked.","status":"active","tags":["segmentation","mask","real-time"],"updated_at":"2026-05-07T21:11:09.129Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a9443e9/RmwjI0HoW665F-GtnNKl5_81f96370160b47b6afd291fb7c80f8bb.jpg","model_url":"https://fal.run/fal-ai/sam-3-1/video","license_type":"commercial","date":"2026-03-30T16:39:11.488Z","group":{"key":"sam31","label":"Video to Video"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/sam-3-1/video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/sam-3-1/video queue.","x-fal-metadata":{"endpointId":"fal-ai/sam-3-1/video","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a9443e9/RmwjI0HoW665F-GtnNKl5_81f96370160b47b6afd291fb7c80f8bb.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/sam-3-1/video","documentationUrl":"https://fal.ai/models/fal-ai/sam-3-1/video/api","about":"Segment Video Simple"}},"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"]},"Sam31VideoInput":{"required":["video_url"],"x-fal-order-properties":["video_url","prompt","point_prompts","box_prompts","apply_mask","video_output_type","detection_threshold","max_num_objects"],"title":"SAM31VideoInput","type":"object","properties":{"video_output_type":{"default":"X264 (.mp4)","enum":["X264 (.mp4)","VP9 (.webm)"],"type":"string","description":"The output type of the generated video.","title":"Video Output Type"},"point_prompts":{"default":[],"items":{"$ref":"#/components/schemas/PointPromptBase"},"description":"List of point prompts","type":"array","title":"Point Prompts"},"box_prompts":{"default":[],"items":{"$ref":"#/components/schemas/BoxPromptBase"},"description":"List of box prompt coordinates (x_min, y_min, x_max, y_max).","type":"array","title":"Box Prompts"},"apply_mask":{"default":true,"type":"boolean","description":"Apply the mask on the video.","title":"Apply Mask"},"max_num_objects":{"maximum":128,"default":16,"type":"integer","minimum":1,"description":"Maximum number of objects to track in the video.","title":"Max Num Objects"},"prompt":{"default":"","type":"string","description":"Text prompt for segmentation. Use commas to track multiple objects (e.g., 'person, cloth').","examples":["person","person, cloth"],"title":"Prompt"},"detection_threshold":{"maximum":1,"default":0.5,"type":"number","minimum":0.1,"description":"Detection confidence threshold (0.0-1.0). Lower = more detections but less precise.","title":"Detection Threshold"},"video_url":{"type":"string","description":"The URL of the video to be segmented.","title":"Video Url","examples":["https://storage.googleapis.com/falserverless/example_inputs/birefnet-video-input.mp4"]}}},"Sam31VideoOutput":{"required":["video"],"x-fal-order-properties":["video","boundingbox_frames_zip"],"title":"SAM31VideoOutput","type":"object","properties":{"boundingbox_frames_zip":{"description":"Zip file containing per-frame bounding box overlays.","anyOf":[{"$ref":"#/components/schemas/File"},{"type":"null"}]},"video":{"$ref":"#/components/schemas/File","description":"The segmented video.","examples":["https://fal.media/files/lion/gr-RSvy2e7_AWbjxAq4mJ_output.mp4"]}}},"PointPromptBase":{"x-fal-order-properties":["x","y","label","object_id"],"title":"PointPromptBase","type":"object","properties":{"label":{"description":"1 for foreground, 0 for background","title":"Label","anyOf":[{"enum":[0,1],"type":"integer"},{"type":"null"}]},"x":{"description":"X Coordinate of the prompt","title":"X","anyOf":[{"type":"integer"},{"type":"null"}]},"object_id":{"description":"Optional object identifier. Prompts sharing an object id refine the same object. When a text prompt is also given, the id selects which detected object the points refine.","title":"Object Id","anyOf":[{"type":"integer"},{"type":"null"}]},"y":{"description":"Y Coordinate of the prompt","title":"Y","anyOf":[{"type":"integer"},{"type":"null"}]}}},"BoxPromptBase":{"x-fal-order-properties":["x_min","y_min","x_max","y_max","object_id"],"title":"BoxPromptBase","type":"object","properties":{"y_max":{"description":"Y Max Coordinate of the box","title":"Y Max","anyOf":[{"type":"integer"},{"type":"null"}]},"x_max":{"description":"X Max Coordinate of the box","title":"X Max","anyOf":[{"type":"integer"},{"type":"null"}]},"object_id":{"description":"Optional object identifier. Boxes sharing an object id refine the same object.","title":"Object Id","anyOf":[{"type":"integer"},{"type":"null"}]},"x_min":{"description":"X Min Coordinate of the box","title":"X Min","anyOf":[{"type":"integer"},{"type":"null"}]},"y_min":{"description":"Y Min Coordinate of the box","title":"Y Min","anyOf":[{"type":"integer"},{"type":"null"}]}}},"File":{"required":["url"],"x-fal-order-properties":["url","content_type","file_name","file_size"],"title":"File","type":"object","properties":{"url":{"type":"string","description":"The URL where the file can be downloaded from.","title":"Url"},"file_name":{"description":"The name of the file. It will be auto-generated if not provided.","title":"File Name","examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}]},"content_type":{"description":"The mime type of the file.","title":"Content Type","examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}]},"file_size":{"description":"The size of the file in bytes.","title":"File Size","examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}]}}}}},"paths":{"/fal-ai/sam-3-1/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/sam-3-1/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/sam-3-1/video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sam31VideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/sam-3-1/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/Sam31VideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"topaz/upscale/video/creative","metadata":{"display_name":"Topaz Upscale Video Creative","category":"video-to-video","description":"Professional creative video upscaling powered by Topaz Labs. Astra 2 reimagines fine detail and typically delivers 4K output. Best for cinematic shots that need maximum visual impact.","status":"active","tags":["upscale","video"],"updated_at":"2026-08-31T17:55:19.832Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0aa5f332/C_CTi7DkU-vpFO4ls5s05.jpg","model_url":"https://fal.run/topaz/upscale/video/creative","license_type":"commercial","date":"2026-08-11T20:03:42.667Z","group":{"key":"topaz-upscale","label":"Upscale Video Creative ( Astra 2 )"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for topaz/upscale/video/creative","version":"1.0.0","description":"The OpenAPI schema for the topaz/upscale/video/creative queue.","x-fal-metadata":{"endpointId":"topaz/upscale/video/creative","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0aa5f332/C_CTi7DkU-vpFO4ls5s05.jpg","playgroundUrl":"https://fal.ai/models/topaz/upscale/video/creative","documentationUrl":"https://fal.ai/models/topaz/upscale/video/creative/api","about":"# Topaz Creative Video Upscale (Astra 2)\n\nCreatively transforms AI-generated and stylized video while\nupscaling, inventing new detail and texture instead of only\npreserving what is there. Works best on stylized sources, wide\nshots and detail-sparse scenes.\n\n## Controls\n- **creativity** — how much new detail Astra 2 invents.\n- **prompt** — optional guidance for the generated detail (limits\nthe input to 450 frames).\n- **realism** — bias generated detail toward photorealism.\n- **sharp** — output sharpness (0.5 is neutral).\n\nVideos are limited to 5 minutes."}},"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"]},"UpscaleVideoCreativeInput":{"x-fal-order-properties":["video_url","prompt","creativity","realism","sharp","upscale_factor","target_fps","H264_output"],"properties":{"creativity":{"minimum":0,"description":"How much new detail and texture Astra 2 invents. 0.0 stays faithful to the source, 1.0 is maximally creative.","type":"number","title":"Creativity","maximum":1,"default":0.5},"target_fps":{"anyOf":[{"minimum":16,"type":"integer","maximum":60},{"type":"null"}],"description":"Target FPS for the output. Frame interpolation is enabled only when this differs from the source FPS.","title":"Target Fps"},"sharp":{"anyOf":[{"minimum":0,"type":"number","maximum":1},{"type":"null"}],"description":"Output sharpness. 0.0 softens, 0.5 is neutral passthrough, 1.0 applies strong sharpening. Defaults to Topaz's neutral 0.5.","title":"Sharp"},"upscale_factor":{"minimum":1,"description":"Requested upscale factor (e.g. 2.0 doubles width and height). Note: Astra 2 snaps to its own supported output resolutions (typically 4K when upscaling) and may override the requested target. Billing is based on the delivered resolution.","type":"number","title":"Upscale Factor","maximum":4,"default":2},"prompt":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"description":"Optional text prompt guiding the detail Astra 2 generates. When set, the input video is limited to 450 frames.","title":"Prompt"},"video_url":{"examples":["https://v3.fal.media/files/kangaroo/y5-1YTGpun17eSeggZMzX_video-1733468228.mp4"],"description":"URL of the video to upscale","type":"string","title":"Video Url"},"H264_output":{"description":"Whether to use H264 codec for output video. Default is H265.","type":"boolean","title":"H264 Output","default":false},"realism":{"anyOf":[{"minimum":0,"type":"number","maximum":1},{"type":"null"}],"description":"Bias generated detail toward photorealism (0.0-1.0).","title":"Realism"}},"type":"object","title":"VideoCreativeUpscaleRequest","required":["video_url"]},"UpscaleVideoCreativeOutput":{"x-fal-order-properties":["video"],"properties":{"video":{"examples":[{"url":"https://v3.fal.media/files/penguin/ztj_LB4gQlW6HIfVs8zX4_upscaled.mp4"}],"$ref":"#/components/schemas/File","description":"The upscaled video file"}},"type":"object","title":"VideoUpscaleOutput","required":["video"]},"File":{"x-fal-order-properties":["url","content_type","file_name","file_size"],"properties":{"file_size":{"examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes.","title":"File Size"},"url":{"description":"The URL where the file can be downloaded from.","type":"string","title":"Url"},"content_type":{"examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file.","title":"Content Type"},"file_name":{"examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided.","title":"File Name"}},"type":"object","title":"File","required":["url"]}}},"paths":{"/topaz/upscale/video/creative/requests/{request_id}/status":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}},{"name":"logs","in":"query","required":false,"schema":{"type":"number","description":"Whether to include logs (`1`) in the response or not (`0`)."}}],"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/topaz/upscale/video/creative/requests/{request_id}/cancel":{"put":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"The request was cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the request was cancelled successfully."}}}}}}}}},"/topaz/upscale/video/creative":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpscaleVideoCreativeInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/topaz/upscale/video/creative/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/UpscaleVideoCreativeOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/void-video-inpainting","metadata":{"display_name":"Void Video Inpainting","category":"video-to-video","description":"VOID removes objects from videos along with all interactions they induce on the scene","status":"active","tags":["utility","editing"],"updated_at":"2026-04-28T16:39:35.437Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a959ab1/J4yvJNbWY73Ca0TwDrlhE_e14266cf79374705aabff60c8ee7ac50.jpg","model_url":"https://fal.run/fal-ai/void-video-inpainting","license_type":"commercial","date":"2026-04-10T22:12:31.034Z","highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/void-video-inpainting","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/void-video-inpainting queue.","x-fal-metadata":{"endpointId":"fal-ai/void-video-inpainting","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a959ab1/J4yvJNbWY73Ca0TwDrlhE_e14266cf79374705aabff60c8ee7ac50.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/void-video-inpainting","documentationUrl":"https://fal.ai/models/fal-ai/void-video-inpainting/api","about":"Generate"}},"components":{"securitySchemes":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Fal Key"}},"schemas":{"QueueStatus":{"type":"object","properties":{"status":{"type":"string","enum":["IN_QUEUE","IN_PROGRESS","COMPLETED"]},"request_id":{"type":"string","description":"The request id."},"response_url":{"type":"string","description":"The response url."},"status_url":{"type":"string","description":"The status url."},"cancel_url":{"type":"string","description":"The cancel url."},"logs":{"type":"object","description":"The logs.","additionalProperties":true},"metrics":{"type":"object","description":"The metrics.","additionalProperties":true},"queue_position":{"type":"integer","description":"The queue position."}},"required":["status","request_id"]},"VoidVideoInpaintingInput":{"x-fal-order-properties":["video_url","quad_mask_video_url","mask_prompt","prompt","enable_pass2_refinement","negative_prompt","num_inference_steps","guidance_scale","strength","seed","num_frames","enable_safety_checker"],"properties":{"quad_mask_video_url":{"examples":["https://storage.googleapis.com/falserverless/kontext-blog/trimask_quadmask.mp4"],"description":"URL of a mask video for the removal target. For best results this should be a VOID-style quadmask video with 4 grayscale values: 0=object to remove, 63=overlap, 127=affected region, 255=background to keep. A simple binary mask (0=remove, 255=keep) also works. If omitted, the app will generate a temporary mask video from `mask_prompt` using the SAM-3 video endpoint and convert it to a quadmask automatically.","title":"Quad Mask Video Url","default":"","type":"string"},"mask_prompt":{"examples":["the person walking through the hallway"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"Text description of what should be masked in the input video, such as the object or person to remove. Used to generate a temporary mask video with SAM-3 when `quad_mask_video_url` is not provided.","title":"Mask Prompt"},"strength":{"minimum":0,"description":"Denoising strength. 1.0 means full denoising.","default":1,"title":"Strength","maximum":1,"type":"number"},"enable_safety_checker":{"description":"Enable content safety checking on the output.","default":true,"title":"Enable Safety Checker","type":"boolean"},"num_inference_steps":{"minimum":1,"description":"Number of denoising steps. Higher values improve quality but increase latency.","default":30,"title":"Num Inference Steps","maximum":50,"type":"integer"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Random seed for reproducibility.","title":"Seed"},"prompt":{"examples":["a video of buildings reflecting on a calm river"],"description":"Text description of the desired background after object removal.","type":"string","title":"Prompt"},"video_url":{"examples":["https://storage.googleapis.com/falserverless/kontext-blog/input_video.mp4"],"description":"URL of the input video containing the object to remove.","title":"Video Url","type":"string"},"enable_pass2_refinement":{"description":"Run VOID Pass 2 warped-noise refinement after Pass 1. This is slower but can improve temporal consistency on longer clips.","default":false,"title":"Enable Pass2 Refinement","type":"boolean"},"negative_prompt":{"description":"Negative prompt to guide generation away from undesired outputs.","default":"The video is not of a high quality, it has a low resolution. Watermark present in each frame. The background is solid. Strange body and strange trajectory. Distortion.","title":"Negative Prompt","type":"string"},"guidance_scale":{"minimum":0,"description":"Classifier-free guidance scale.","default":1,"title":"Guidance Scale","maximum":20,"type":"number"},"num_frames":{"minimum":1,"description":"Temporal window size for inference. The backend snaps this to the nearest CogVideoX-safe value that works with temporal compression and patching. Valid outputs are 69, 77, 85, ..., 197.","default":85,"title":"Num Frames","maximum":197,"type":"integer"}},"type":"object","title":"Input","required":["video_url","prompt"]},"VoidVideoInpaintingOutput":{"x-fal-order-properties":["video","seed","timings"],"properties":{"video":{"examples":[{"url":"https://v3b.fal.media/files/b/0a95b6f4/D89J5QV-wztq3B0OI44Sl_tmpl1cf522v.mp4"}],"$ref":"#/components/schemas/File","description":"The output video with the object removed."},"timings":{"description":"Timing breakdown for pipeline stages.","additionalProperties":{"type":"number"},"title":"Timings","type":"object"},"seed":{"description":"The seed used for generation.","type":"integer","title":"Seed"}},"type":"object","title":"Output","required":["video","seed","timings"]},"File":{"x-fal-order-properties":["url","content_type","file_name","file_size"],"properties":{"file_size":{"examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes.","title":"File Size"},"url":{"description":"The URL where the file can be downloaded from.","type":"string","title":"Url"},"content_type":{"examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file.","title":"Content Type"},"file_name":{"examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided.","title":"File Name"}},"type":"object","title":"File","required":["url"]}}},"paths":{"/fal-ai/void-video-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/void-video-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/void-video-inpainting":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoidVideoInpaintingInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/void-video-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/VoidVideoInpaintingOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"mirelo-ai/sfx-v1.5/video-to-video","metadata":{"display_name":"Mirelo SFX V1.5","category":"video-to-video","description":"Generate synced sounds for any video, and return it with its new sound track (like MMAudio)","status":"active","tags":["video-to-video","sfx"],"updated_at":"2026-01-26T21:42:39.808Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/penguin/ySuE0GYF98p7-856X4mvc_9371de55f14448e08b76871b7d77c059.jpg","model_url":"https://fal.run/mirelo-ai/sfx-v1.5/video-to-video","license_type":"commercial","date":"2025-10-15T11:11:27.394Z","group":{"key":"mirelo-sfx-v1.5","label":"Video To Video"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for mirelo-ai/sfx-v1.5/video-to-video","version":"1.0.0","description":"The OpenAPI schema for the mirelo-ai/sfx-v1.5/video-to-video queue.","x-fal-metadata":{"endpointId":"mirelo-ai/sfx-v1.5/video-to-video","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/penguin/ySuE0GYF98p7-856X4mvc_9371de55f14448e08b76871b7d77c059.jpg","playgroundUrl":"https://fal.ai/models/mirelo-ai/sfx-v1.5/video-to-video","documentationUrl":"https://fal.ai/models/mirelo-ai/sfx-v1.5/video-to-video/api","about":"Run Video To Video"}},"components":{"securitySchemes":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Fal Key"}},"schemas":{"QueueStatus":{"type":"object","properties":{"status":{"type":"string","enum":["IN_QUEUE","IN_PROGRESS","COMPLETED"]},"request_id":{"type":"string","description":"The request id."},"response_url":{"type":"string","description":"The response url."},"status_url":{"type":"string","description":"The status url."},"cancel_url":{"type":"string","description":"The cancel url."},"logs":{"type":"object","description":"The logs.","additionalProperties":true},"metrics":{"type":"object","description":"The metrics.","additionalProperties":true},"queue_position":{"type":"integer","description":"The queue position."}},"required":["status","request_id"]},"SfxV15VideoToVideoInput":{"required":["video_url"],"type":"object","title":"Input","properties":{"video_url":{"maxLength":2083,"examples":["https://di3otfzjg1gxa.cloudfront.net/battlefield_scene_silent.mp4"],"title":"Video Url","type":"string","format":"uri","minLength":1,"description":"A video url that can accessed from the API to process and add sound effects"},"duration":{"anyOf":[{"maximum":10,"type":"number","minimum":1},{"type":"null"}],"title":"Duration","default":10,"description":"The duration of the generated audio in seconds"},"num_samples":{"anyOf":[{"maximum":8,"type":"integer","minimum":2},{"type":"null"}],"title":"Num Samples","default":2,"description":"The number of samples to generate from the model"},"seed":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Seed","default":836,"description":"The seed to use for the generation. If not provided, a random seed will be used"},"start_offset":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Start Offset","default":0,"description":"The start offset in seconds to start the audio generation from"},"text_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"examples":[""],"title":"Text Prompt","description":"Additional description to guide the model"}},"x-fal-order-properties":["video_url","text_prompt","num_samples","seed","duration","start_offset"]},"SfxV15VideoToVideoOutput":{"required":["model","video"],"type":"object","title":"VideoOutput","properties":{"model":{"type":"string","title":"Model","pattern":"^sfx-[0-9]+\\.[0-9]+$"},"video":{"examples":[[{"url":"https://di3otfzjg1gxa.cloudfront.net/battlefield_scene_output_1.mp4","file_name":"generated_output_1.mp4","content_type":"video/mp4"},{"url":"https://di3otfzjg1gxa.cloudfront.net/battlefield_scene_output_2.mp4","file_name":"generated_output_2.mp4","content_type":"video/mp4"}]],"items":{"$ref":"#/components/schemas/Video"},"type":"array","title":"Video","description":"The processed video with sound effects"}},"x-fal-order-properties":["model","video"]},"Video":{"x-fal-order-properties":["url","content_type","file_name","file_size"],"required":["url"],"type":"object","title":"Video","properties":{"url":{"type":"string","title":"Url","description":"The URL where the file can be downloaded from."},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"examples":["z9RV14K95DvU.png"],"title":"File Name","description":"The name of the file. It will be auto-generated if not provided."},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"examples":["image/png"],"title":"Content Type","description":"The mime type of the file."},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"examples":[4404019],"title":"File Size","description":"The size of the file in bytes."}}}}},"paths":{"/mirelo-ai/sfx-v1.5/video-to-video/requests/{request_id}/status":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}},{"name":"logs","in":"query","required":false,"schema":{"type":"number","description":"Whether to include logs (`1`) in the response or not (`0`)."}}],"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/mirelo-ai/sfx-v1.5/video-to-video/requests/{request_id}/cancel":{"put":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"The request was cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the request was cancelled successfully."}}}}}}}}},"/mirelo-ai/sfx-v1.5/video-to-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SfxV15VideoToVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/mirelo-ai/sfx-v1.5/video-to-video/requests/{request_id}":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"Result of the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SfxV15VideoToVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/heygen/v3/lipsync/precision","metadata":{"display_name":"Heygen Lipsync - Precision","category":"video-to-video","description":"Replace or dub audio on an existing video with high-accuracy avatar-inference lip-sync.","status":"active","tags":["lipsync","stylized","transform",""],"updated_at":"2026-04-26T23:11:58.879Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a963882/KCALnCjdY-gy0UYJWXn3-_22975c38070b4ed290bbcc03cd49e439.jpg","model_url":"https://fal.run/fal-ai/heygen/v3/lipsync/precision","license_type":"commercial","date":"2026-04-14T12:40:39.915Z","group":{"key":"heygen-lipsync-v3","label":"Lipsync - Precision"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/heygen/v3/lipsync/precision","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/heygen/v3/lipsync/precision queue.","x-fal-metadata":{"endpointId":"fal-ai/heygen/v3/lipsync/precision","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a963882/KCALnCjdY-gy0UYJWXn3-_22975c38070b4ed290bbcc03cd49e439.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/heygen/v3/lipsync/precision","documentationUrl":"https://fal.ai/models/fal-ai/heygen/v3/lipsync/precision/api","about":"Lip-sync a video using Precision mode — higher quality lip-sync.\n\nBilled 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"]},"HeygenV3LipsyncPrecisionInput":{"type":"object","required":["video_url","audio_url"],"title":"V3LipsyncBaseRequest","x-fal-order-properties":["video_url","audio_url","title","enable_caption","enable_dynamic_duration","disable_music_track","enable_speech_enhancement","start_time","end_time"],"description":"Base request for lip-syncing a video (mode is determined by the endpoint).","properties":{"title":{"title":"Title","anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional title for the lipsync job."},"enable_dynamic_duration":{"type":"boolean","default":true,"title":"Enable Dynamic Duration","description":"Allow duration adjustment to match the new audio."},"audio_url":{"type":"string","examples":["https://v3b.fal.media/files/b/example/new_audio.mp3"],"title":"Audio Url","description":"URL of the replacement audio 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 source video to lip-sync."},"disable_music_track":{"type":"boolean","default":false,"title":"Disable Music Track","description":"Remove background music from the source video."},"start_time":{"title":"Start Time","anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"description":"Start time in seconds for partial lipsync."},"end_time":{"title":"End Time","anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"description":"End time in seconds for partial lipsync."},"enable_caption":{"type":"boolean","default":false,"title":"Enable Caption","description":"Generate captions in the output video."},"enable_speech_enhancement":{"type":"boolean","default":false,"title":"Enable Speech Enhancement","description":"Enhance the replacement audio quality."}}},"HeygenV3LipsyncPrecisionOutput":{"type":"object","required":["video"],"title":"V3LipsyncOutput","x-fal-order-properties":["video","caption_file"],"description":"Output from the Lipsync API.","properties":{"caption_file":{"anyOf":[{"$ref":"#/components/schemas/File"},{"type":"null"}],"description":"Generated caption file when enable_caption is enabled and HeyGen returns one."},"video":{"examples":[{"url":"https://v3b.fal.media/files/b/0a8f61f5/SwAbhEQ0tNLthNkyTqCRn_overdubbed.mp4"}],"description":"The lip-synced video file with new audio synced.","$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/v3/lipsync/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/v3/lipsync/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/v3/lipsync/precision":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeygenV3LipsyncPrecisionInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/heygen/v3/lipsync/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/HeygenV3LipsyncPrecisionOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/veo3.1/fast/extend-video","metadata":{"display_name":"Veo 3.1 Fast","category":"video-to-video","description":"Extend Veo-Created Videos up to 30 seconds","status":"active","tags":["extend-video",""],"updated_at":"2026-04-28T16:29:09.509Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a8674fa/XbhmACHhbyXpu2YHjob0-_cf9e946ef4df427cbf3111197d7a092a.jpg","model_url":"https://fal.run/fal-ai/veo3.1/fast/extend-video","license_type":"commercial","date":"2025-12-15T22:55:47.939Z","group":{"key":"veo3.1","label":"Extend Video (Fast)"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/veo3.1/fast/extend-video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/veo3.1/fast/extend-video queue.","x-fal-metadata":{"endpointId":"fal-ai/veo3.1/fast/extend-video","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a8674fa/XbhmACHhbyXpu2YHjob0-_cf9e946ef4df427cbf3111197d7a092a.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/veo3.1/fast/extend-video","documentationUrl":"https://fal.ai/models/fal-ai/veo3.1/fast/extend-video/api","about":"Extend a video using Google's Veo 3.1 Fast model.\n\nThis endpoint takes an existing video and extends it based on a text prompt.\nThe prompt should describe how the video should continue or be extended.\n\nInclude in your prompt:\n- Action: What should happen next in the video\n- Style: Maintain or transition to a specific visual style\n- Camera motion (optional): How the camera should move\n- Ambiance (optional): Desired mood and atmosphere\n\nMore details are available in our [prompting guide](https://blog.fal.ai/mastering-video-generation-with-veo-2-a-comprehensive-guide/).\n\nThe model supports:\n- Input videos up to 8 seconds in length\n- 720p or 1080p resolution\n- 16:9 or 9:16 aspect ratio\n- Natural motion continuation\n\nNote: Video extension is only supported via Vertex AI.\n\nSafety filters are applied to both input videos and generated content."}},"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"]},"Veo31FastExtendVideoInput":{"properties":{"negative_prompt":{"title":"Negative Prompt","description":"A negative prompt to guide the video generation.","anyOf":[{"type":"string"},{"type":"null"}]},"duration":{"title":"Duration","description":"The duration of the generated video.","default":"7s","type":"string","const":"7s"},"prompt":{"maxLength":20000,"title":"Prompt","description":"The text prompt describing how the video should be extended","examples":["Continue the scene naturally, maintaining the same style and motion."],"type":"string"},"video_url":{"title":"Video URL","description":"URL of the video to extend. The video should be 720p or 1080p resolution in 16:9 or 9:16 aspect ratio.","examples":["https://v3b.fal.media/files/b/0a8670fe/pY8UGl4_C452wOm9XUBYO_9ae04df8771c4f3f979fa5cabeca6ada.mp4"],"type":"string"},"resolution":{"title":"Resolution","description":"The resolution of the generated video.","default":"720p","type":"string","const":"720p"},"auto_fix":{"title":"Auto Fix","description":"Whether to automatically attempt to fix prompts that fail content policy or other validation checks by rewriting them.","default":false,"type":"boolean"},"seed":{"title":"Seed","description":"The seed for the random number generator.","anyOf":[{"type":"integer"},{"type":"null"}]},"generate_audio":{"title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"type":"boolean"},"aspect_ratio":{"enum":["auto","16:9","9:16"],"title":"Aspect Ratio","description":"The aspect ratio of the generated video.","default":"auto","type":"string"},"safety_tolerance":{"enum":["1","2","3","4","5","6"],"title":"Safety Tolerance","description":"The safety tolerance level for content moderation. 1 is the most strict (blocks most content), 6 is the least strict.","default":"4","type":"string"}},"title":"Veo31VideoToVideoInput","required":["prompt","video_url"],"type":"object","x-fal-order-properties":["prompt","aspect_ratio","duration","negative_prompt","resolution","generate_audio","seed","auto_fix","safety_tolerance","video_url"]},"Veo31FastExtendVideoOutput":{"properties":{"video":{"$ref":"#/components/schemas/File","description":"The extended video.","examples":[{"url":"https://v3b.fal.media/files/b/0a86711b/B_Z96VS4X9Dfd4M5ArB4H_c666e63f729f4a8fa1145c6727cef97d.mp4"}]}},"title":"Veo31VideoToVideoOutput","required":["video"],"type":"object","x-fal-order-properties":["video"]},"File":{"properties":{"url":{"title":"Url","description":"The URL where the file can be downloaded from.","type":"string"},"file_name":{"title":"File Name","description":"The name of the file. It will be auto-generated if not provided.","examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}]},"file_size":{"title":"File Size","description":"The size of the file in bytes.","examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}]},"content_type":{"title":"Content Type","description":"The mime type of the file.","examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}]}},"title":"File","required":["url"],"type":"object","x-fal-order-properties":["url","content_type","file_name","file_size"]}}},"paths":{"/fal-ai/veo3.1/fast/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/veo3.1/fast/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/veo3.1/fast/extend-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Veo31FastExtendVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/veo3.1/fast/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/Veo31FastExtendVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/wan-motion","metadata":{"display_name":"Wan Motion","category":"video-to-video","description":"Wan Motion is a streamlined character animation model that transfers motion from a driving video onto a reference character image. Based on Wan-Animate which preserves the original character's proportions, Simple uses pose retargeting to adapt the driving video's skeleton to match the reference character's body shape, producing more natural results when the two have different builds. It outputs at 720p with optimized defaults for fast, high-quality generation — just provide a video, an image, and an optional prompt.","status":"active","tags":[],"updated_at":"2026-08-20T22:07:55.072Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a8f09a5/VtSJnIbVr0WZ3bOi338JB_a99ce6847ee54a769903f4e17b36a82e.jpg","model_url":"https://fal.run/fal-ai/wan-motion","license_type":"commercial","date":"2026-02-19T01:00:51.825Z","highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/wan-motion","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/wan-motion queue.","x-fal-metadata":{"endpointId":"fal-ai/wan-motion","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a8f09a5/VtSJnIbVr0WZ3bOi338JB_a99ce6847ee54a769903f4e17b36a82e.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/wan-motion","documentationUrl":"https://fal.ai/models/fal-ai/wan-motion/api","about":"Simplified character animation endpoint.\nTakes a driving video and a reference image, transfers the motion\nto the character with retargeted pose."}},"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"]},"WanMotionInput":{"required":["video_url","image_url"],"x-fal-order-properties":["video_url","image_url","prompt","seed","acceleration","adapt_motion","enhance_identity","enable_safety_checker"],"type":"object","title":"WanAnimateSimpleInput","properties":{"seed":{"description":"Random seed for reproducibility.","title":"Seed","anyOf":[{"type":"integer"},{"type":"null"}]},"image_url":{"description":"URL of the reference image (provides the character appearance).","title":"Image URL","examples":["https://v3b.fal.media/files/b/0a8f0995/slF9l2eNL_YSD7SqU7tUz_i35fsR92.jpg"],"type":"string"},"video_url":{"description":"URL of the driving video (provides the motion).","title":"Video URL","examples":["https://v3b.fal.media/files/b/0a8f0997/JuDW2xl0mr6sJ_Kjz3Vxe_vidoeook.mp4"],"type":"string"},"prompt":{"description":"Optional text prompt to guide the generation.","title":"Prompt","examples":["woman dancing"],"type":"string","default":""},"adapt_motion":{"description":"Adapts the driving video's motion to match the reference image's body proportions. Recommended when the driving video subject and reference image have different body shapes or sizes.","title":"Adapt Motion","type":"boolean","default":true},"acceleration":{"description":"Acceleration level to use. 'regular' enables caching for faster generation, 'none' disables it.","title":"Acceleration","type":"string","default":"regular","enum":["none","regular"]},"enable_safety_checker":{"description":"If set to true, input and output will be checked for safety. Disabling it requires account authorization; unauthorized requests are always checked.","title":"Enable Safety Checker","type":"boolean","default":true},"enhance_identity":{"description":"Enhances identity preservation by preprocessing the reference image with Flux Kontext Edit before animation. Produces more faithful face and appearance transfer at the cost of slightly longer processing time.","title":"Enhance Identity","type":"boolean","default":false}}},"WanMotionOutput":{"required":["video","seed"],"x-fal-order-properties":["video","prompt","seed"],"type":"object","title":"WanAnimateSimpleOutput","properties":{"video":{"description":"The generated video file.","$ref":"#/components/schemas/File","examples":[{"url":"https://v3b.fal.media/files/b/0a8f2447/EjMyhbOyYfxL8tDM9T59K_wan_animate_output.mp4"}]},"seed":{"description":"The seed used for generation.","title":"Seed","examples":[924575000],"type":"integer"},"prompt":{"description":"The prompt used for generation.","title":"Prompt","examples":["woman dancing"],"type":"string","default":""}}},"File":{"required":["url"],"x-fal-order-properties":["url","content_type","file_name","file_size"],"type":"object","title":"File","properties":{"content_type":{"description":"The mime type of the file.","title":"Content Type","examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"description":"The URL where the file can be downloaded from.","title":"Url","type":"string"},"file_size":{"description":"The size of the file in bytes.","title":"File Size","examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}]},"file_name":{"description":"The name of the file. It will be auto-generated if not provided.","title":"File Name","examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}]}}}}},"paths":{"/fal-ai/wan-motion/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-motion/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-motion":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WanMotionInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/wan-motion/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/WanMotionOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/veo3.1/extend-video","metadata":{"display_name":"Veo 3.1","category":"video-to-video","description":"Extend Veo-Created Videos up to 30 seconds","status":"active","tags":["extend-video"],"updated_at":"2026-04-28T16:29:09.509Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a8674d8/bsNAkImO8tHGm28k4uMMZ_6c677c316f174eef8553ecdc67377ba6.jpg","model_url":"https://fal.run/fal-ai/veo3.1/extend-video","license_type":"commercial","date":"2025-12-15T22:50:52.774Z","group":{"key":"veo3.1","label":"Extend Video"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/veo3.1/extend-video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/veo3.1/extend-video queue.","x-fal-metadata":{"endpointId":"fal-ai/veo3.1/extend-video","category":"video-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a8674d8/bsNAkImO8tHGm28k4uMMZ_6c677c316f174eef8553ecdc67377ba6.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/veo3.1/extend-video","documentationUrl":"https://fal.ai/models/fal-ai/veo3.1/extend-video/api","about":"Extend a video using Google's Veo 3.1 model.\n\nThis endpoint takes an existing video and extends it based on a text prompt.\nThe prompt should describe how the video should continue or be extended.\n\nInclude in your prompt:\n- Action: What should happen next in the video\n- Style: Maintain or transition to a specific visual style\n- Camera motion (optional): How the camera should move\n- Ambiance (optional): Desired mood and atmosphere\n\nMore details are available in our [prompting guide](https://blog.fal.ai/mastering-video-generation-with-veo-2-a-comprehensive-guide/).\n\nThe model supports:\n- Input videos up to 8 seconds in length\n- 720p or 1080p resolution\n- 16:9 or 9:16 aspect ratio\n- Natural motion continuation\n\nNote: Video extension is only supported via Vertex AI.\n\nSafety filters are applied to both input videos and generated content."}},"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"]},"Veo31ExtendVideoInput":{"properties":{"negative_prompt":{"title":"Negative Prompt","description":"A negative prompt to guide the video generation.","anyOf":[{"type":"string"},{"type":"null"}]},"duration":{"title":"Duration","description":"The duration of the generated video.","default":"7s","type":"string","const":"7s"},"prompt":{"maxLength":20000,"title":"Prompt","description":"The text prompt describing how the video should be extended","examples":["Continue the scene naturally, maintaining the same style and motion."],"type":"string"},"video_url":{"title":"Video URL","description":"URL of the video to extend. The video should be 720p or 1080p resolution in 16:9 or 9:16 aspect ratio.","examples":["https://v3b.fal.media/files/b/0a8670fe/pY8UGl4_C452wOm9XUBYO_9ae04df8771c4f3f979fa5cabeca6ada.mp4"],"type":"string"},"resolution":{"title":"Resolution","description":"The resolution of the generated video.","default":"720p","type":"string","const":"720p"},"auto_fix":{"title":"Auto Fix","description":"Whether to automatically attempt to fix prompts that fail content policy or other validation checks by rewriting them.","default":false,"type":"boolean"},"seed":{"title":"Seed","description":"The seed for the random number generator.","anyOf":[{"type":"integer"},{"type":"null"}]},"generate_audio":{"title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"type":"boolean"},"aspect_ratio":{"enum":["auto","16:9","9:16"],"title":"Aspect Ratio","description":"The aspect ratio of the generated video.","default":"auto","type":"string"},"safety_tolerance":{"enum":["1","2","3","4","5","6"],"title":"Safety Tolerance","description":"The safety tolerance level for content moderation. 1 is the most strict (blocks most content), 6 is the least strict.","default":"4","type":"string"}},"title":"Veo31VideoToVideoInput","required":["prompt","video_url"],"type":"object","x-fal-order-properties":["prompt","aspect_ratio","duration","negative_prompt","resolution","generate_audio","seed","auto_fix","safety_tolerance","video_url"]},"Veo31ExtendVideoOutput":{"properties":{"video":{"$ref":"#/components/schemas/File","description":"The extended video.","examples":[{"url":"https://v3b.fal.media/files/b/0a86711b/B_Z96VS4X9Dfd4M5ArB4H_c666e63f729f4a8fa1145c6727cef97d.mp4"}]}},"title":"Veo31VideoToVideoOutput","required":["video"],"type":"object","x-fal-order-properties":["video"]},"File":{"properties":{"url":{"title":"Url","description":"The URL where the file can be downloaded from.","type":"string"},"file_name":{"title":"File Name","description":"The name of the file. It will be auto-generated if not provided.","examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}]},"file_size":{"title":"File Size","description":"The size of the file in bytes.","examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}]},"content_type":{"title":"Content Type","description":"The mime type of the file.","examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}]}},"title":"File","required":["url"],"type":"object","x-fal-order-properties":["url","content_type","file_name","file_size"]}}},"paths":{"/fal-ai/veo3.1/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/veo3.1/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/veo3.1/extend-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Veo31ExtendVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/veo3.1/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/Veo31ExtendVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}}],"next_cursor":"OA","has_more":true}
