{"models":[{"endpoint_id":"fal-ai/wan-25-preview/image-to-video","metadata":{"display_name":"Wan 2.5 Image to Video","category":"image-to-video","description":"Wan 2.5 image-to-video model.","status":"active","tags":[],"updated_at":"2026-04-26T23:07:28.840Z","is_favorited":null,"thumbnail_url":"https://v3.fal.media/files/rabbit/jryVrAZdQNdLdN_4rTlN7_9bebc94cb69a482fb4d948bdd06d6a5e.jpg","model_url":"https://fal.run/fal-ai/wan-25-preview/image-to-video","license_type":"commercial","date":"2025-09-24T01:52:47.880Z","group":{"key":"wan-25-preview","label":"Image to Video"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/wan-25-preview/image-to-video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/wan-25-preview/image-to-video queue.","x-fal-metadata":{"endpointId":"fal-ai/wan-25-preview/image-to-video","category":"image-to-video","thumbnailUrl":"https://v3.fal.media/files/rabbit/jryVrAZdQNdLdN_4rTlN7_9bebc94cb69a482fb4d948bdd06d6a5e.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/wan-25-preview/image-to-video","documentationUrl":"https://fal.ai/models/fal-ai/wan-25-preview/image-to-video/api","about":"Generate a video from an image using WAN 2.5 image-to-video model.\n\nWAN 2.5 image-to-video model features:\n- Using an image as the first frame\n- Motion generation based on text prompt\n- 480p and 1080p resolutions\n- 5 or 10-second video generation\n- Processing time: 1-3 minutes (longer for 10s videos)\n\nImage requirements:\n- Formats: JPEG, JPG, PNG (no alpha), BMP, WEBP\n- Resolution: 360-2000 pixels (width and height)\n- Max size: 10MB"}},"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"]},"Wan25PreviewImageToVideoInput":{"required":["prompt","image_url"],"title":"ImageToVideoInput","properties":{"seed":{"title":"Seed","anyOf":[{"type":"integer"},{"type":"null"}],"description":"Random seed for reproducibility. If None, a random seed is chosen."},"enable_safety_checker":{"title":"Enable Safety Checker","default":true,"type":"boolean","description":"If set to true, the safety checker will be enabled. Disabling it requires account authorization; unauthorized requests are always checked.","examples":[true]},"duration":{"title":"Duration","default":"5","enum":["5","10"],"type":"string","description":"Duration of the generated video in seconds. Choose between 5 or 10 seconds.","examples":["5","10"]},"prompt":{"title":"Prompt","type":"string","description":"The text prompt describing the desired video motion. Max 1500 characters.","minLength":1,"examples":["The white dragon warrior stands still, eyes full of determination and strength. The camera slowly moves closer or circles around the warrior, highlighting the powerful presence and heroic spirit of the character."]},"resolution":{"title":"Resolution","default":"1080p","enum":["480p","720p","1080p"],"type":"string","description":"Video resolution. Valid values: 480p, 720p, 1080p"},"image_url":{"max_width":8000,"max_height":8000,"min_height":240,"description":"URL of the image to use as the first frame. Must be publicly accessible or base64 data URI.","examples":["https://storage.googleapis.com/falserverless/model_tests/wan/dragon-warrior.jpg"],"title":"Image URL","max_file_size":26214400,"type":"string","min_width":240},"negative_prompt":{"title":"Negative Prompt","anyOf":[{"type":"string"},{"type":"null"}],"description":"Negative prompt to describe content to avoid. Max 500 characters.","examples":["low resolution, error, worst quality, low quality, defects"]},"enable_prompt_expansion":{"title":"Enable Prompt Expansion","default":true,"type":"boolean","description":"Whether to enable prompt rewriting using LLM."},"audio_url":{"title":"Audio Url","anyOf":[{"ui":{"field":"audio"},"type":"string"},{"type":"null"}],"description":"\nURL of the audio to use as the background music. Must be publicly accessible.\nLimit handling: If the audio duration exceeds the duration value (5 or 10 seconds),\nthe audio is truncated to the first 5 or 10 seconds, and the rest is discarded. If\nthe audio is shorter than the video, the remaining part of the video will be silent.\nFor example, if the audio is 3 seconds long and the video duration is 5 seconds, the\nfirst 3 seconds of the output video will have sound, and the last 2 seconds will be silent.\n- Format: WAV, MP3.\n- Duration: 3 to 30 s.\n- File size: Up to 15 MB.\n"}},"type":"object","x-fal-order-properties":["prompt","image_url","audio_url","resolution","duration","negative_prompt","enable_prompt_expansion","seed","enable_safety_checker"],"description":"Input for image-to-video generation"},"Wan25PreviewImageToVideoOutput":{"required":["video","seed"],"title":"VideoOutput","properties":{"video":{"description":"The generated video file","examples":[{"url":"https://storage.googleapis.com/falserverless/example_outputs/wan-25-i2v-output.mp4","content_type":"video/mp4"}],"$ref":"#/components/schemas/VideoFile"},"seed":{"title":"Seed","type":"integer","description":"The seed used for generation","examples":[175932751]},"actual_prompt":{"title":"Actual Prompt","anyOf":[{"type":"string"},{"type":"null"}],"description":"The actual prompt used if prompt rewriting was enabled","examples":["The white dragon warrior stands still in a grand cathedral-like structure, its glowing golden eyes fixed forward. The camera slowly moves closer, focusing on the warrior's armored chest and face. It then begins to circle around the warrior, capturing the intricate details of the white scale armor with gold accents. The warrior maintains a strong, determined posture. Ambient sounds and soft choral tones fill the background, enhancing the majestic atmosphere. The camera continues its slow circular motion, emphasizing the warrior's heroic presence before ending with a close-up of the face."]}},"type":"object","x-fal-order-properties":["video","seed","actual_prompt"],"description":"Base output for video generation"},"VideoFile":{"required":["url"],"title":"VideoFile","properties":{"num_frames":{"title":"Num Frames","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The number of frames in the video"},"url":{"title":"Url","type":"string","description":"The URL where the file can be downloaded from."},"duration":{"title":"Duration","anyOf":[{"type":"number"},{"type":"null"}],"description":"The duration of the video"},"fps":{"title":"Fps","anyOf":[{"type":"number"},{"type":"null"}],"description":"The FPS of the video"},"content_type":{"title":"Content Type","anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file.","examples":["image/png"]},"width":{"title":"Width","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The width of the video"},"file_size":{"title":"File Size","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes.","examples":[4404019]},"file_name":{"title":"File Name","anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided.","examples":["z9RV14K95DvU.png"]},"height":{"title":"Height","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The height of the video"}},"x-fal-order-properties":["url","content_type","file_name","file_size","width","height","fps","duration","num_frames"],"type":"object"}}},"paths":{"/fal-ai/wan-25-preview/image-to-video/requests/{request_id}/status":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}},{"name":"logs","in":"query","required":false,"schema":{"type":"number","description":"Whether to include logs (`1`) in the response or not (`0`)."}}],"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/wan-25-preview/image-to-video/requests/{request_id}/cancel":{"put":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"The request was cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the request was cancelled successfully."}}}}}}}}},"/fal-ai/wan-25-preview/image-to-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Wan25PreviewImageToVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/wan-25-preview/image-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/Wan25PreviewImageToVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/wan/v2.2-a14b/image-to-video","metadata":{"display_name":"Wan v2.2 A14B","category":"image-to-video","description":"fal-ai/wan/v2.2-A14B/image-to-video","status":"active","tags":[],"updated_at":"2026-04-21T17:56:26.445Z","is_favorited":null,"thumbnail_url":"https://v3.fal.media/files/penguin/xWl1TIQn-uRe7BsctByJk_3e01d1a4f7ff488c9483be0d81f5a3cc.jpg","model_url":"https://fal.run/fal-ai/wan/v2.2-a14B/image-to-video","license_type":"commercial","date":"2025-07-28T15:58:39.979Z","group":{"key":"wan-v22-large","label":"Image to Video"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/wan/v2.2-a14b/image-to-video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/wan/v2.2-a14b/image-to-video queue.","x-fal-metadata":{"endpointId":"fal-ai/wan/v2.2-a14b/image-to-video","category":"image-to-video","thumbnailUrl":"https://v3.fal.media/files/penguin/xWl1TIQn-uRe7BsctByJk_3e01d1a4f7ff488c9483be0d81f5a3cc.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/wan/v2.2-a14b/image-to-video","documentationUrl":"https://fal.ai/models/fal-ai/wan/v2.2-a14b/image-to-video/api","about":"Endpoint for generating a video from an image."}},"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"]},"WanV22A14bImageToVideoInput":{"required":["prompt","image_url"],"x-fal-order-properties":["image_url","prompt","num_frames","frames_per_second","negative_prompt","seed","resolution","aspect_ratio","num_inference_steps","enable_safety_checker","enable_output_safety_checker","enable_prompt_expansion","acceleration","guidance_scale","guidance_scale_2","shift","interpolator_model","num_interpolated_frames","adjust_fps_for_interpolation","video_quality","video_write_mode","end_image_url"],"type":"object","title":"WanI2VRequest","properties":{"video_write_mode":{"description":"The write mode of the output video. Faster write mode means faster results but larger file size, balanced write mode is a good compromise between speed and quality, and small write mode is the slowest but produces the smallest file size.","title":"Video Write Mode","examples":["balanced"],"type":"string","default":"balanced","enum":["fast","balanced","small"]},"shift":{"minimum":1,"description":"Shift value for the video. Must be between 1.0 and 10.0.","title":"Shift","examples":[5],"type":"number","maximum":10,"default":5},"seed":{"description":"Random seed for reproducibility. If None, a random seed is chosen.","title":"Seed","anyOf":[{"type":"integer"},{"type":"null"}]},"num_inference_steps":{"minimum":2,"description":"Number of inference steps for sampling. Higher values give better quality but take longer.","title":"Number of Inference Steps","examples":[27],"type":"integer","maximum":40,"default":27},"guidance_scale_2":{"minimum":1,"description":"Guidance scale for the second stage of the model. This is used to control the adherence to the prompt in the second stage of the model.","title":"Guidance Scale (2nd Stage)","examples":[3.5],"type":"number","maximum":10,"default":3.5},"frames_per_second":{"default":16,"description":"Frames per second of the generated video. Must be between 4 to 60. When using interpolation and `adjust_fps_for_interpolation` is set to true (default true,) the final FPS will be multiplied by the number of interpolated frames plus one. For example, if the generated frames per second is 16 and the number of interpolated frames is 1, the final frames per second will be 32. If `adjust_fps_for_interpolation` is set to false, this value will be used as-is.","title":"Frames per Second","examples":[16],"anyOf":[{"minimum":4,"type":"integer","maximum":60},{"type":"null"}]},"enable_prompt_expansion":{"description":"Whether to enable prompt expansion. This will use a large language model to expand the prompt with additional details while maintaining the original meaning.","title":"Enable Prompt Expansion","examples":[false],"type":"boolean","default":false},"guidance_scale":{"minimum":1,"description":"Classifier-free guidance scale. Higher values give better adherence to the prompt but may decrease quality.","title":"Guidance Scale (1st Stage)","examples":[3.5],"type":"number","maximum":10,"default":3.5},"num_interpolated_frames":{"minimum":0,"description":"Number of frames to interpolate between each pair of generated frames. Must be between 0 and 4.","title":"Number of Interpolated Frames","examples":[1],"type":"integer","maximum":4,"default":1},"adjust_fps_for_interpolation":{"description":"If true, the number of frames per second will be multiplied by the number of interpolated frames plus one. For example, if the generated frames per second is 16 and the number of interpolated frames is 1, the final frames per second will be 32. If false, the passed frames per second will be used as-is.","title":"Adjust FPS for Interpolation","examples":[true],"type":"boolean","default":true},"video_quality":{"description":"The quality of the output video. Higher quality means better visual quality but larger file size.","title":"Video Quality","examples":["high"],"type":"string","default":"high","enum":["low","medium","high","maximum"]},"enable_safety_checker":{"description":"If set to true, input data will be checked for safety before processing. Disabling it requires account authorization; unauthorized requests are always checked.","title":"Enable Safety Checker","examples":[true],"type":"boolean","default":false},"aspect_ratio":{"description":"Aspect ratio of the generated video. If 'auto', the aspect ratio will be determined automatically based on the input image.","title":"Aspect Ratio","type":"string","default":"auto","enum":["auto","16:9","9:16","1:1"]},"image_url":{"description":"URL of the input image. If the input image does not match the chosen aspect ratio, it is resized and center cropped.","title":"Image URL","examples":["https://storage.googleapis.com/falserverless/model_tests/wan/dragon-warrior.jpg"],"type":"string"},"interpolator_model":{"description":"The model to use for frame interpolation. If None, no interpolation is applied.","title":"Interpolator Model","examples":["film"],"type":"string","default":"film","enum":["none","film","rife"]},"prompt":{"description":"The text prompt to guide video generation.","title":"Prompt","examples":["The white dragon warrior stands still, eyes full of determination and strength. The camera slowly moves closer or circles around the warrior, highlighting the powerful presence and heroic spirit of the character."],"type":"string"},"acceleration":{"description":"Acceleration level to use. The more acceleration, the faster the generation, but with lower quality. The recommended value is 'regular'.","title":"Acceleration","examples":["regular"],"type":"string","default":"regular","enum":["none","regular"]},"num_frames":{"minimum":17,"description":"Number of frames to generate. Must be between 17 to 161 (inclusive).","title":"Number of Frames","maximum":161,"type":"integer","examples":[81],"default":81},"resolution":{"description":"Resolution of the generated video (480p, 580p, or 720p).","title":"Resolution","examples":["720p"],"type":"string","default":"720p","enum":["480p","580p","720p"]},"negative_prompt":{"description":"Negative prompt for video generation.","title":"Negative Prompt","type":"string","default":""},"enable_output_safety_checker":{"description":"If set to true, output video will be checked for safety after generation.","title":"Enable Output Safety Checker","examples":[false],"type":"boolean","default":false},"end_image_url":{"description":"URL of the end image.","title":"End Image URL","anyOf":[{"type":"string"},{"type":"null"}]}}},"WanV22A14bImageToVideoOutput":{"required":["video","seed"],"x-fal-order-properties":["video","prompt","seed"],"type":"object","title":"WanI2VResponse","properties":{"video":{"description":"The generated video file.","$ref":"#/components/schemas/File","examples":[{"url":"https://v3.fal.media/files/lion/Fbuh3lO_HMT-pS0DATbio_tmp08c3v477.mp4"}]},"seed":{"description":"The seed used for generation.","title":"Seed","type":"integer"},"prompt":{"description":"The text prompt used for video generation.","title":"Prompt","examples":["The white dragon warrior stands still, eyes full of determination and strength. The camera slowly moves closer or circles around the warrior, highlighting the powerful presence and heroic spirit of the character."],"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/v2.2-a14b/image-to-video/requests/{request_id}/status":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}},{"name":"logs","in":"query","required":false,"schema":{"type":"number","description":"Whether to include logs (`1`) in the response or not (`0`)."}}],"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/wan/v2.2-a14b/image-to-video/requests/{request_id}/cancel":{"put":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"The request was cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the request was cancelled successfully."}}}}}}}}},"/fal-ai/wan/v2.2-a14b/image-to-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WanV22A14bImageToVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/wan/v2.2-a14b/image-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/WanV22A14bImageToVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"bytedance/seedance-2.0/mini/image-to-video","metadata":{"display_name":"Seedance 2.0 Mini Image to Video","category":"image-to-video","description":"Seedance 2.0 Mini is a faster version of Seedance 2.0 that brings great performance and high generation speed at a lower cost.","status":"active","tags":["stylized","transform","lipsync"],"updated_at":"2026-07-17T03:48:03.287Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a9f7e64/hqSxiLW2DPExuIrP_Nh6e_9e1fcd4255554d659310e3fd469b3cb3.jpg","model_url":"https://fal.run/bytedance/seedance-2.0/mini/image-to-video","license_type":"commercial","date":"2026-06-23T19:22:43.862Z","group":{"key":"seedance-2.0-fal","label":"Image to Video Mini"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for bytedance/seedance-2.0/mini/image-to-video","version":"1.0.0","description":"The OpenAPI schema for the bytedance/seedance-2.0/mini/image-to-video queue.","x-fal-metadata":{"endpointId":"bytedance/seedance-2.0/mini/image-to-video","category":"image-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a9f7e64/hqSxiLW2DPExuIrP_Nh6e_9e1fcd4255554d659310e3fd469b3cb3.jpg","playgroundUrl":"https://fal.ai/models/bytedance/seedance-2.0/mini/image-to-video","documentationUrl":"https://fal.ai/models/bytedance/seedance-2.0/mini/image-to-video/api","about":"Mini Image 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"]},"Seedance20MiniImageToVideoInput":{"required":["prompt","image_url"],"x-fal-order-properties":["prompt","image_url","end_image_url","resolution","duration","aspect_ratio","generate_audio","end_user_id"],"title":"Seedance2I2VMiniInput","type":"object","properties":{"image_url":{"description":"The URL of the starting frame image to animate. Supported formats: JPEG, PNG, WebP. Max 30 MB.","title":"Image Url","examples":["https://v3b.fal.media/files/b/0a8eba37/Cqg-4Uwzyz4DELfceT1CF_a17e588773ec45b1a9e6f100a787b80b.jpg"],"type":"string"},"prompt":{"description":"The text prompt describing the desired motion and action for the video.","title":"Prompt","examples":["An octopus finds a football in the ocean and excitedly calls its octopus friends to come and play. Cut scene to an octopus football game under the sea."],"type":"string"},"generate_audio":{"description":"Whether to generate synchronized audio for the video, including sound effects, ambient sounds, and lip-synced speech. The cost of video generation is the same regardless of whether audio is generated or not.","title":"Generate Audio","type":"boolean","default":true},"duration":{"description":"Duration of the video in seconds. Supports 4 to 15 seconds, or auto to let the model decide based on the prompt.","type":"string","title":"Duration","default":"auto","enum":["auto","4","5","6","7","8","9","10","11","12","13","14","15"]},"resolution":{"description":"Video resolution - 480p for faster generation, 720p for balance.","type":"string","title":"Resolution","default":"720p","enum":["480p","720p"]},"end_user_id":{"description":"The unique user ID of the end user.","title":"End User Id","anyOf":[{"type":"string"},{"type":"null"}]},"end_image_url":{"description":"The URL of the image to use as the last frame of the video. When provided, the generated video will transition from the starting image to this ending image. Supported formats: JPEG, PNG, WebP. Max 30 MB.","title":"End Image Url","anyOf":[{"type":"string"},{"type":"null"}]},"aspect_ratio":{"description":"The aspect ratio of the generated video. Use 16:9 for landscape, 9:16 for portrait/vertical, 1:1 for square, 21:9 for ultrawide cinematic, or auto to infer from the input image.","title":"Aspect Ratio","type":"string","default":"auto","enum":["auto","21:9","16:9","4:3","1:1","3:4","9:16"]}}},"Seedance20MiniImageToVideoOutput":{"required":["video","seed"],"x-fal-order-properties":["video","seed"],"title":"Seedance2VideoOutput","type":"object","properties":{"video":{"description":"The generated video file.","$ref":"#/components/schemas/File","examples":[{"url":"https://storage.googleapis.com/falserverless/example_outputs/bytedance/seedance_2/output.mp4"}]},"seed":{"description":"The seed used for generation.","title":"Seed","examples":[42],"type":"integer"}}},"File":{"required":["url"],"x-fal-order-properties":["url","content_type","file_name","file_size"],"title":"File","type":"object","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":{"/bytedance/seedance-2.0/mini/image-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"}}}}}}},"/bytedance/seedance-2.0/mini/image-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."}}}}}}}}},"/bytedance/seedance-2.0/mini/image-to-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Seedance20MiniImageToVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/bytedance/seedance-2.0/mini/image-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/Seedance20MiniImageToVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"bytedance/seedance-2.0/us/image-to-video","metadata":{"display_name":"Seedance 2.0 US Image to Video","category":"image-to-video","description":"US hosted version of ByteDance's most advanced image-to-video model. Animate still images into cinematic video with synchronized audio, start and end frame control, and motion prompts.","status":"active","tags":["stylized","transform","lipsync"],"updated_at":"2026-09-15T20:39:01.294Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0aaa8c0f/moIjOdx9iGvFio-n6ROjH.jpg","model_url":"https://fal.run/bytedance/seedance-2.0/us/image-to-video","license_type":"commercial","date":"2026-09-15T16:56:27.143Z","group":{"key":"seedance-us","label":"Image to Video"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for bytedance/seedance-2.0/us/image-to-video","version":"1.0.0","description":"The OpenAPI schema for the bytedance/seedance-2.0/us/image-to-video queue.","x-fal-metadata":{"endpointId":"bytedance/seedance-2.0/us/image-to-video","category":"image-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0aaa8c0f/moIjOdx9iGvFio-n6ROjH.jpg","playgroundUrl":"https://fal.ai/models/bytedance/seedance-2.0/us/image-to-video","documentationUrl":"https://fal.ai/models/bytedance/seedance-2.0/us/image-to-video/api","about":"Us Image 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"]},"Seedance20UsImageToVideoInput":{"required":["prompt","image_url"],"x-fal-order-properties":["prompt","image_url","end_image_url","resolution","duration","aspect_ratio","generate_audio","bitrate_mode","end_user_id"],"title":"Seedance2I2VUSInput","type":"object","properties":{"image_url":{"description":"The URL of the starting frame image to animate. Supported formats: JPEG, PNG, WebP. Max 30 MB.","title":"Image Url","examples":["https://v3b.fal.media/files/b/0a8eba37/Cqg-4Uwzyz4DELfceT1CF_a17e588773ec45b1a9e6f100a787b80b.jpg"],"type":"string"},"prompt":{"description":"The text prompt describing the desired motion and action for the video.","title":"Prompt","examples":["An octopus finds a football in the ocean and excitedly calls its octopus friends to come and play. Cut scene to an octopus football game under the sea."],"type":"string"},"generate_audio":{"description":"Whether to generate synchronized audio for the video, including sound effects, ambient sounds, and lip-synced speech. The cost of video generation is the same regardless of whether audio is generated or not.","title":"Generate Audio","type":"boolean","default":true},"bitrate_mode":{"description":"Output bitrate mode. 'high' requests a higher-quality, larger-file encode from the model; 'standard' uses the default bitrate.","title":"Bitrate Mode","examples":["standard"],"type":"string","default":"standard","enum":["standard","high"]},"duration":{"description":"Duration of the video in seconds. Supports 4 to 15 seconds, or auto to let the model decide based on the prompt.","type":"string","title":"Duration","default":"auto","enum":["auto","4","5","6","7","8","9","10","11","12","13","14","15"]},"resolution":{"description":"Video resolution - 480p for faster generation, 720p for balance.","type":"string","title":"Resolution","default":"720p","enum":["480p","720p"]},"end_user_id":{"description":"The unique user ID of the end user.","title":"End User Id","anyOf":[{"type":"string"},{"type":"null"}]},"end_image_url":{"description":"The URL of the image to use as the last frame of the video. When provided, the generated video will transition from the starting image to this ending image. Supported formats: JPEG, PNG, WebP. Max 30 MB.","title":"End Image Url","anyOf":[{"type":"string"},{"type":"null"}]},"aspect_ratio":{"description":"The aspect ratio of the generated video. Use 16:9 for landscape, 9:16 for portrait/vertical, 1:1 for square, 21:9 for ultrawide cinematic, or auto to infer from the input image.","title":"Aspect Ratio","type":"string","default":"auto","enum":["auto","21:9","16:9","4:3","1:1","3:4","9:16"]}}},"Seedance20UsImageToVideoOutput":{"required":["video","seed"],"x-fal-order-properties":["video","seed"],"title":"Seedance2VideoOutput","type":"object","properties":{"video":{"description":"The generated video file.","$ref":"#/components/schemas/File","examples":[{"url":"https://storage.googleapis.com/falserverless/example_outputs/bytedance/seedance_2/output.mp4"}]},"seed":{"description":"The seed used for generation.","title":"Seed","examples":[42],"type":"integer"}}},"File":{"required":["url"],"x-fal-order-properties":["url","content_type","file_name","file_size"],"title":"File","type":"object","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":{"/bytedance/seedance-2.0/us/image-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"}}}}}}},"/bytedance/seedance-2.0/us/image-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."}}}}}}}}},"/bytedance/seedance-2.0/us/image-to-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Seedance20UsImageToVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/bytedance/seedance-2.0/us/image-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/Seedance20UsImageToVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/heygen/avatar4/image-to-video","metadata":{"display_name":"Heygen","category":"image-to-video","description":"Heygen Photo Avatar 4 Model","status":"active","tags":["image-to-video"],"updated_at":"2026-04-26T23:12:40.164Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a90145c/8wK3ckSYxnnVDeNdGTbc8_4c2266798c21413da1f19c6026d5df52.jpg","model_url":"https://fal.run/fal-ai/heygen/avatar4/image-to-video","license_type":"commercial","date":"2026-02-23T18:33:44.115Z","highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/heygen/avatar4/image-to-video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/heygen/avatar4/image-to-video queue.","x-fal-metadata":{"endpointId":"fal-ai/heygen/avatar4/image-to-video","category":"image-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a90145c/8wK3ckSYxnnVDeNdGTbc8_4c2266798c21413da1f19c6026d5df52.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/heygen/avatar4/image-to-video","documentationUrl":"https://fal.ai/models/fal-ai/heygen/avatar4/image-to-video/api","about":"Generate a video from a photo using HeyGen Avatar 4.\n\nUpload an image with a clear face and provide text for the avatar to speak.\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"]},"HeygenAvatar4ImageToVideoInput":{"required":["image_url"],"type":"object","title":"AvatarIVRequest","x-fal-order-properties":["image_url","prompt","voice","audio_url","talking_style","expression","background","resolution","aspect_ratio","caption"],"properties":{"prompt":{"examples":["Hey friends! Welcome to the GPU force podcast and today we are going to discuss about the rising GPU cost!"],"title":"Prompt","anyOf":[{"type":"string"},{"type":"null"}],"description":"The text the avatar will speak"},"talking_style":{"type":"string","default":"stable","title":"Talking Style","enum":["stable","expressive"],"description":"Talking style - 'stable' for minimal movement, 'expressive' for more animation"},"background":{"description":"Background configuration","$ref":"#/components/schemas/AvatarIVBackground"},"audio_url":{"title":"Audio Url","anyOf":[{"type":"string"},{"type":"null"}],"description":"URL of an audio file for the avatar to lip-sync to. When provided, overrides prompt and voice."},"expression":{"title":"Expression","anyOf":[{"type":"string","const":"happy"},{"type":"null"}],"description":"Facial expression"},"caption":{"type":"boolean","default":false,"title":"Caption","description":"Whether to add captions to the video"},"resolution":{"type":"string","default":"720p","title":"Resolution","enum":["360p","480p","540p","720p","1080p"],"description":"Video resolution preset. Options: 360p, 480p, 540p, 720p, 1080p"},"image_url":{"type":"string","examples":["https://v3b.fal.media/files/b/0a90062c/A7EIviZqNxZ2HAs0yHeZ6_77a05b99-8588-4ffc-90aa-be7f9d34e9d3.png"],"title":"Image Url","description":"URL of the image to animate. The image should contain a clear face."},"voice":{"examples":["Melissa"],"title":"Voice","enum":["Warm Pro Narrator","Chill Brian","Ivy","John Doe","Monika Sogam","Hope ","Archer ","Brittney","Patrick","David Castlemore","Michael C","Adam Stone ","Juniper","Cassidy ","Jessica Anne Bogart","Arabella","Andrew","Spuds Oxley ","Grace Elder","Helen","Canyon Rivers","Derya - Lifelike - Excited 🤩","Mellow Marcus","Jack Sterling - Broadcaster 🎙️","Brenda - UGC - 1.mp4","Reid","Reagan","Terry","Jenny","Radio Rick","Denise","Tim in car - Excited 🤩","Iskander","Thompson","Delicate Daisy - Excited 🤩","Kingston","George UGC 1","Bold Blake","Jane","Expressive Evan","Marianne - IA","Aaron","Modern Recipe Host - Voice 1","Willow","Cute Chloe - Friendly 😊","Rafael","June - Lifelike","Crisp Chloe","Slick Simon","Nassim - Informative","Baritone Ben","Maxwell","Ellie Faye - Excited 🤩","Milani","Feisty Fiona - Excited 🤩","Professor Dean","Rose - UGC - 1.mp4","Shona","Hudson Wilder","Ann - IA","Alastair Kensington","Oxley","Christina","Andrew Rizz ","Peyton","Gerardo - Outdoor","Chloe - Lifelike","Stephanie","Anthony - IA","Signal - Voice 1","Luca","Lisa - Voice 1","T.W.Tucker","Jack Sullivan - Serious 😐","Winter","Mireia - Lifelike","Georgia","Stella","Masha - Lifelike","Charming Charles - Friendly 😊","Serenity","Annie - Excited","Ralph","Bethany","Dominic","Mason Finn","Leena","Veteran Victor","Tamara","Nik Public","Calm Chloe","Sevik","Reilly","Raul","Imposing Ian","Relaxed Ray","Dexter - Professional","Relaxed Rick","Edwin","Rupert Blackwood","Ginny","Hope"],"description":"Name of the voice to use for the avatar","anyOf":[{"type":"string"},{"type":"null"}]},"aspect_ratio":{"type":"string","default":"16:9","title":"Aspect Ratio","enum":["16:9","9:16","4:5","5:4","1:1","auto"],"description":"Aspect ratio of the output video. Supported values: '16:9', '9:16', '4:5', '5:4', '1:1', and 'auto'. 'auto' preserves the source aspect ratio when HeyGen can read it, falling back to '16:9' otherwise."}}},"HeygenAvatar4ImageToVideoOutput":{"required":["video"],"type":"object","title":"AvatarIVOutput","x-fal-order-properties":["video"],"properties":{"video":{"examples":[{"url":"https://v3b.fal.media/files/b/0a900636/DUES0_z4i7FWnife02ieH_output.mp4","content_type":"video/mp4","file_name":"output.mp4","file_size":2466524}],"description":"The generated video file","$ref":"#/components/schemas/File"}}},"AvatarIVBackground":{"type":"object","title":"AvatarIVBackground","x-fal-order-properties":["type","value"],"properties":{"type":{"type":"string","default":"color","title":"Type","enum":["color","image","video"],"description":"Type of background"},"value":{"type":"string","default":"#FFFFFF","title":"Value","description":"Background value - hex color for 'color' type, URL for 'image' or 'video' type"}}},"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/avatar4/image-to-video/requests/{request_id}/status":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}},{"name":"logs","in":"query","required":false,"schema":{"type":"number","description":"Whether to include logs (`1`) in the response or not (`0`)."}}],"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/heygen/avatar4/image-to-video/requests/{request_id}/cancel":{"put":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"The request was cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the request was cancelled successfully."}}}}}}}}},"/fal-ai/heygen/avatar4/image-to-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeygenAvatar4ImageToVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/heygen/avatar4/image-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/HeygenAvatar4ImageToVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"google/gemini-omni-flash/reference-to-video","metadata":{"display_name":"Gemini Omni Flash","category":"image-to-video","description":"Generates video with audio from combined multimodal references. Accepts text, images, audio, and video together as input to guide subject, motion, style, and sound in the output.","status":"active","tags":["stylized","transform","lipsync"],"updated_at":"2026-07-09T23:22:58.277Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0aa064be/vTTSwDN_rUlhGecz3iWdY.jpg","model_url":"https://fal.run/google/gemini-omni-flash/reference-to-video","license_type":"commercial","date":"2026-06-30T16:38:47.365Z","group":{"key":"gemini-omni-flash","label":"Reference to Video"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for google/gemini-omni-flash/reference-to-video","version":"1.0.0","description":"The OpenAPI schema for the google/gemini-omni-flash/reference-to-video queue.","x-fal-metadata":{"endpointId":"google/gemini-omni-flash/reference-to-video","category":"image-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0aa064be/vTTSwDN_rUlhGecz3iWdY.jpg","playgroundUrl":"https://fal.ai/models/google/gemini-omni-flash/reference-to-video","documentationUrl":"https://fal.ai/models/google/gemini-omni-flash/reference-to-video/api","about":"Generate a video incorporating reference images using Gemini Omni Flash.\n\nProvide one or more reference images (e.g. subjects or styles) plus a\ntext prompt. You can bind images to roles inline using tags such as\n``<IMAGE_REF_0>`` (references start at 0). Referencing across multiple\nvideos is not supported. Supports 3-10 second durations.\n\nSafety filters are applied to both input images 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"]},"GeminiOmniFlashReferenceToVideoInput":{"type":"object","x-fal-order-properties":["prompt","image_urls","aspect_ratio","duration"],"properties":{"aspect_ratio":{"type":"string","description":"The aspect ratio of the generated video.","title":"Aspect Ratio","enum":["16:9","9:16"],"default":"16:9"},"prompt":{"type":"string","maxLength":20000,"description":"The text prompt describing the video. You can bind reference images to roles inline using tags like ``<IMAGE_REF_0>`` (see the Omni Flash prompt guide).","title":"Prompt","examples":["A cat playfully batting at a ball of yarn in a sunlit living room."]},"image_urls":{"examples":[["https://storage.googleapis.com/falserverless/example_inputs/veo31-r2v-input-1.png","https://storage.googleapis.com/falserverless/example_inputs/veo31-r2v-input-2.png"]],"description":"URLs of the reference images to incorporate into the video.","maxItems":10,"minItems":1,"type":"array","title":"Image URLs","items":{"type":"string"}},"duration":{"type":"integer","description":"The duration of the generated video, in seconds.","title":"Duration","minimum":3,"maximum":10,"default":8}},"required":["prompt","image_urls"],"title":"OmniFlashReferenceToVideoInput"},"GeminiOmniFlashReferenceToVideoOutput":{"type":"object","x-fal-order-properties":["video"],"properties":{"video":{"$ref":"#/components/schemas/File","description":"The generated video."}},"required":["video"],"title":"OmniFlashReferenceToVideoOutput"},"File":{"type":"object","x-fal-order-properties":["url","content_type","file_name","file_size"],"properties":{"content_type":{"examples":["image/png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file.","title":"Content Type"},"file_name":{"examples":["z9RV14K95DvU.png"],"anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided.","title":"File Name"},"url":{"type":"string","description":"The URL where the file can be downloaded from.","title":"Url"},"file_size":{"examples":[4404019],"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes.","title":"File Size"}},"required":["url"],"title":"File"}}},"paths":{"/google/gemini-omni-flash/reference-to-video/requests/{request_id}/status":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}},{"name":"logs","in":"query","required":false,"schema":{"type":"number","description":"Whether to include logs (`1`) in the response or not (`0`)."}}],"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/google/gemini-omni-flash/reference-to-video/requests/{request_id}/cancel":{"put":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"The request was cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the request was cancelled successfully."}}}}}}}}},"/google/gemini-omni-flash/reference-to-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeminiOmniFlashReferenceToVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/google/gemini-omni-flash/reference-to-video/requests/{request_id}":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"Result of the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeminiOmniFlashReferenceToVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/veo3.1/first-last-frame-to-video","metadata":{"display_name":"Veo 3.1","category":"image-to-video","description":"Generate videos from a first and last framed using Google's Veo 3.1","status":"active","tags":[],"updated_at":"2026-04-28T16:29:09.509Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/monkey/5YSsAJ8Fbwuj97_9vBiTW.jpg","model_url":"https://fal.run/fal-ai/veo3.1/first-last-frame-to-video","license_type":"commercial","date":"2025-10-08T17:09:32.703Z","group":{"key":"veo3.1","label":"First/Last Frame to Video"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/veo3.1/first-last-frame-to-video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/veo3.1/first-last-frame-to-video queue.","x-fal-metadata":{"endpointId":"fal-ai/veo3.1/first-last-frame-to-video","category":"image-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/monkey/5YSsAJ8Fbwuj97_9vBiTW.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/veo3.1/first-last-frame-to-video","documentationUrl":"https://fal.ai/models/fal-ai/veo3.1/first-last-frame-to-video/api","about":"Generate videos by animating between a first and last frame using Google's Veo 3.1 model.\n\nThe prompt should describe how to animate between the first and last frame. Include:\n- Action: How the first and last frame should be animated\n- Style: Desired animation style\n- Camera motion (optional): How 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 images up to 8MB in size\n- 720p or 1080p output resolution\n- 16:9 or 9:16 aspect ratio\n- Natural motion and realistic animations\n- Control over animation via text prompts\n\nSafety filters are applied to both input images 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"]},"Veo31FirstLastFrameToVideoInput":{"properties":{"last_frame_url":{"title":"Last Frame URL","description":"URL of the last frame of the video","examples":["https://storage.googleapis.com/falserverless/example_inputs/veo31-flf2v-input-2.jpeg"],"type":"string"},"negative_prompt":{"title":"Negative Prompt","description":"A negative prompt to guide the video generation.","anyOf":[{"type":"string"},{"type":"null"}]},"duration":{"enum":["4s","6s","8s"],"title":"Duration","description":"The duration of the generated video.","default":"8s","type":"string"},"prompt":{"maxLength":20000,"title":"Prompt","description":"The text prompt describing the video you want to generate","examples":["A woman looks into the camera, breathes in, then exclaims energetically, \"have you guys checked out Veo3.1 First-Last-Frame-to-Video on Fal? It's incredible!\""],"type":"string"},"first_frame_url":{"title":"First Frame URL","description":"URL of the first frame of the video","examples":["https://storage.googleapis.com/falserverless/example_inputs/veo31-flf2v-input-1.jpeg"],"type":"string"},"resolution":{"enum":["720p","1080p","4k"],"title":"Resolution","description":"The resolution of the generated video.","default":"720p","type":"string"},"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":"Veo31FirstLastFrameToVideoInput","required":["prompt","first_frame_url","last_frame_url"],"type":"object","x-fal-order-properties":["prompt","aspect_ratio","duration","negative_prompt","resolution","generate_audio","seed","auto_fix","safety_tolerance","first_frame_url","last_frame_url"]},"Veo31FirstLastFrameToVideoOutput":{"properties":{"video":{"$ref":"#/components/schemas/File","description":"The generated video.","examples":[{"url":"https://storage.googleapis.com/falserverless/example_outputs/veo31-flf2v-output.mp4"}]}},"title":"Veo31FirstLastFrameToVideoOutput","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/first-last-frame-to-video/requests/{request_id}/status":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}},{"name":"logs","in":"query","required":false,"schema":{"type":"number","description":"Whether to include logs (`1`) in the response or not (`0`)."}}],"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/veo3.1/first-last-frame-to-video/requests/{request_id}/cancel":{"put":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"The request was cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the request was cancelled successfully."}}}}}}}}},"/fal-ai/veo3.1/first-last-frame-to-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Veo31FirstLastFrameToVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/veo3.1/first-last-frame-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/Veo31FirstLastFrameToVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/veo3.1/fast/first-last-frame-to-video","metadata":{"display_name":"Veo 3.1 Fast","category":"image-to-video","description":"Generate videos from a first/last frame using Google's Veo 3.1 Fast","status":"active","tags":[],"updated_at":"2026-04-28T16:29:09.509Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/rabbit/8tRJcj1P_EtIcpbdkP3m7_f9984366e4054165a8919d0671acbcb3.jpg","model_url":"https://fal.run/fal-ai/veo3.1/fast/first-last-frame-to-video","license_type":"commercial","date":"2025-10-08T17:10:43.612Z","group":{"key":"veo3.1","label":"First/Last Frame to Video (Fast)"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/veo3.1/fast/first-last-frame-to-video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/veo3.1/fast/first-last-frame-to-video queue.","x-fal-metadata":{"endpointId":"fal-ai/veo3.1/fast/first-last-frame-to-video","category":"image-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/rabbit/8tRJcj1P_EtIcpbdkP3m7_f9984366e4054165a8919d0671acbcb3.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/veo3.1/fast/first-last-frame-to-video","documentationUrl":"https://fal.ai/models/fal-ai/veo3.1/fast/first-last-frame-to-video/api","about":"Generate videos by animating between a first and last frame using Google's Veo 3.1 Fast model.\n\nThe prompt should describe how to animate between the first and last frame. Include:\n- Action: How the first and last frame should be animated\n- Style: Desired animation style\n- Camera motion (optional): How 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 images up to 8MB in size\n- 720p or 1080p output resolution\n- 16:9 or 9:16 aspect ratio\n- Natural motion and realistic animations\n- Control over animation via text prompts\n\nSafety filters are applied to both input images 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"]},"Veo31FastFirstLastFrameToVideoInput":{"properties":{"last_frame_url":{"title":"Last Frame URL","description":"URL of the last frame of the video","examples":["https://storage.googleapis.com/falserverless/example_inputs/veo31-flf2v-input-2.jpeg"],"type":"string"},"negative_prompt":{"title":"Negative Prompt","description":"A negative prompt to guide the video generation.","anyOf":[{"type":"string"},{"type":"null"}]},"duration":{"enum":["4s","6s","8s"],"title":"Duration","description":"The duration of the generated video.","default":"8s","type":"string"},"prompt":{"maxLength":20000,"title":"Prompt","description":"The text prompt describing the video you want to generate","examples":["A woman looks into the camera, breathes in, then exclaims energetically, \"have you guys checked out Veo3.1 First-Last-Frame-to-Video on Fal? It's incredible!\""],"type":"string"},"first_frame_url":{"title":"First Frame URL","description":"URL of the first frame of the video","examples":["https://storage.googleapis.com/falserverless/example_inputs/veo31-flf2v-input-1.jpeg"],"type":"string"},"resolution":{"enum":["720p","1080p","4k"],"title":"Resolution","description":"The resolution of the generated video.","default":"720p","type":"string"},"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":"Veo31FirstLastFrameToVideoInput","required":["prompt","first_frame_url","last_frame_url"],"type":"object","x-fal-order-properties":["prompt","aspect_ratio","duration","negative_prompt","resolution","generate_audio","seed","auto_fix","safety_tolerance","first_frame_url","last_frame_url"]},"Veo31FastFirstLastFrameToVideoOutput":{"properties":{"video":{"$ref":"#/components/schemas/File","description":"The generated video.","examples":[{"url":"https://storage.googleapis.com/falserverless/example_outputs/veo31-flf2v-output.mp4"}]}},"title":"Veo31FirstLastFrameToVideoOutput","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/first-last-frame-to-video/requests/{request_id}/status":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}},{"name":"logs","in":"query","required":false,"schema":{"type":"number","description":"Whether to include logs (`1`) in the response or not (`0`)."}}],"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/veo3.1/fast/first-last-frame-to-video/requests/{request_id}/cancel":{"put":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"The request was cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the request was cancelled successfully."}}}}}}}}},"/fal-ai/veo3.1/fast/first-last-frame-to-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Veo31FastFirstLastFrameToVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/veo3.1/fast/first-last-frame-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/Veo31FastFirstLastFrameToVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/kling-video/v3/4k/image-to-video","metadata":{"display_name":"Kling Video","category":"image-to-video","description":"Kling's Native 4K is a video generation model that directly outputs professional-grade 4K video in one step, eliminating the need for post-production upscaling","status":"active","tags":["stylized","transform","lipsync"],"updated_at":"2026-04-26T22:25:17.147Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/0a9740b3/ctjfWfLHCPzYgYUcWgTAz_ea95e9bfce584107b6937050fa127cca.jpg","model_url":"https://fal.run/fal-ai/kling-video/v3/4k/image-to-video","license_type":"commercial","date":"2026-04-22T08:25:28.440Z","group":{"key":"kling-v3","label":"Image to Video (4K)"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/kling-video/v3/4k/image-to-video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/kling-video/v3/4k/image-to-video queue.","x-fal-metadata":{"endpointId":"fal-ai/kling-video/v3/4k/image-to-video","category":"image-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/0a9740b3/ctjfWfLHCPzYgYUcWgTAz_ea95e9bfce584107b6937050fa127cca.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/kling-video/v3/4k/image-to-video","documentationUrl":"https://fal.ai/models/fal-ai/kling-video/v3/4k/image-to-video/api","about":"Kling V3 (4k) Image to Video API.\n\nThe Kling V3 model with 4k resolution output. Only the Singapore server\nsupports this mode."}},"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"]},"KlingVideoV34kImageToVideoInput":{"required":["start_image_url"],"properties":{"start_image_url":{"type":"string","examples":["https://storage.googleapis.com/falserverless/example_inputs/kling-v3/pro-i2v/start_image.png"],"title":"Start Image Url","limit_description":"Max file size: 10.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s","x-fal":{"max_aspect_ratio":2.5,"min_width":300,"min_aspect_ratio":0.4,"timeout":20,"min_height":300,"max_file_size":10485760},"description":"URL of the image to be used for the video"},"elements":{"examples":[[{"frontal_image_url":"https://v3b.fal.media/files/b/0a8cfd5f/-kZL-ha3Iuelku5IHXC-A_glasses.png","reference_image_urls":["https://v3b.fal.media/files/b/0a8cfd62/psPCmzrD1y9vDgdyNfKAL_glasses_back.png"]},{"video_url":"https://v3b.fal.media/files/b/0a8cfd66/b03SOiQvKLlFx_jqdNZ9z_child_video.mp4"}]],"title":"Elements","anyOf":[{"items":{"$ref":"#/components/schemas/KlingV3ComboElementInput"},"type":"array"},{"type":"null"}],"description":"Elements (characters/objects) to include in the video. Each example can either be an image set (frontal + reference images) or a video. Reference in prompt as @Element1, @Element2, etc."},"prompt":{"examples":["The craftsman slowly examines the bowl, turning it gently in his weathered hands. His eyes reflect years of wisdom. Subtle smile forms on his face. Dust particles drift in warm light. Breathing motion, blinking eyes."],"title":"Prompt","anyOf":[{"maxLength":2500,"type":"string"},{"type":"null"}],"description":"Text prompt for video generation. Either prompt or multi_prompt must be provided, but not both."},"negative_prompt":{"default":"blur, distort, and low quality","maxLength":2500,"title":"Negative Prompt","type":"string"},"duration":{"default":"5","type":"string","title":"Duration","examples":["12"],"enum":["3","4","5","6","7","8","9","10","11","12","13","14","15"],"description":"The duration of the generated video in seconds"},"end_image_url":{"title":"End Image Url","anyOf":[{"ui":{"field":"image"},"x-fal":{"max_aspect_ratio":2.5,"min_width":300,"min_aspect_ratio":0.4,"timeout":20,"min_height":300,"max_file_size":10485760},"type":"string","limit_description":"Max file size: 10.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},{"type":"null"}],"description":"URL of the image to be used for the end of the video"},"multi_prompt":{"examples":[null],"title":"Multi Prompt","anyOf":[{"items":{"$ref":"#/components/schemas/KlingV3MultiPromptElement"},"type":"array"},{"type":"null"}],"description":"List of prompts for multi-shot video generation. If provided, divides the video into multiple shots."},"shot_type":{"default":"customize","title":"Shot Type","enum":["customize","intelligent"],"description":"The type of multi-shot video generation. 'intelligent' lets the model automatically determine shot structure.","type":"string"},"cfg_scale":{"minimum":0,"type":"number","title":"Cfg Scale","default":0.5,"description":"\n            The CFG (Classifier Free Guidance) scale is a measure of how close you want\n            the model to stick to your prompt.\n        ","maximum":1},"generate_audio":{"default":true,"type":"boolean","title":"Generate Audio","description":"Whether to generate native audio for the video. Supports Chinese and English voice output. Other languages are automatically translated to English. For English speech, use lowercase letters; for acronyms or proper nouns, use uppercase."}},"title":"ImageToVideoV3_4kRequest","type":"object","x-fal-order-properties":["prompt","multi_prompt","start_image_url","duration","generate_audio","end_image_url","elements","shot_type","negative_prompt","cfg_scale"]},"KlingVideoV34kImageToVideoOutput":{"required":["video"],"properties":{"video":{"$ref":"#/components/schemas/File","description":"The generated video","examples":[{"content_type":"video/mp4","file_size":8431922,"url":"https://storage.googleapis.com/falserverless/example_outputs/kling-v3/pro-i2v/out.mp4","file_name":"out.mp4"}]}},"title":"ImageToVideoV3_4kOutput","type":"object","x-fal-order-properties":["video"]},"KlingV3ComboElementInput":{"title":"KlingV3ComboElementInput","properties":{"voice_id":{"title":"Voice Id","anyOf":[{"type":"string"},{"type":"null"}],"description":"The voice ID for this element. The voice will be binded to the element and references to this element will use the binded voice. Get voice IDs from the following endpoint: https://fal.ai/models/fal-ai/kling-video/create-voice"},"frontal_image_url":{"title":"Frontal Image Url","anyOf":[{"ui":{"field":"image"},"x-fal":{"max_aspect_ratio":2.5,"min_width":300,"min_aspect_ratio":0.4,"timeout":20,"min_height":300,"max_file_size":10485760},"type":"string","limit_description":"Max file size: 10.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},{"type":"null"}],"description":"The frontal image of the element (main view)."},"reference_image_urls":{"title":"Reference Image Urls","anyOf":[{"items":{"ui":{"field":"image"},"x-fal":{"max_aspect_ratio":2.5,"min_width":300,"min_aspect_ratio":0.4,"timeout":20,"min_height":300,"max_file_size":10485760},"_fal_ui_field":"image","type":"string","limit_description":"Max file size: 10.0MB, Min width: 300px, Min height: 300px, Min aspect ratio: 0.40, Max aspect ratio: 2.50, Timeout: 20.0s"},"type":"array"},{"type":"null"}],"description":"Additional reference images from different angles. 1-3 images supported. At least one image is required."},"video_url":{"title":"Video Url","anyOf":[{"ui":{"field":"video"},"x-fal":{"min_fps":24,"max_duration":10.05,"max_file_size":209715200,"min_duration":3,"min_width":720,"max_height":2160,"max_fps":60,"min_height":720,"max_width":2160,"timeout":30},"type":"string","limit_description":"Max file size: 200.0MB, Min width: 720px, Min height: 720px, Max width: 2160px, Max height: 2160px, Min duration: 3.0s, Max duration: 10.05s, Min FPS: 24.0, Max FPS: 60.0, Timeout: 30.0s"},{"type":"null"}],"description":"The video URL of the element. A request can only have one element with a video."}},"type":"object","x-fal-order-properties":["frontal_image_url","reference_image_urls","video_url","voice_id"]},"KlingV3MultiPromptElement":{"required":["prompt"],"properties":{"prompt":{"title":"Prompt","description":"The prompt for this shot.","type":"string"},"duration":{"default":"5","title":"Duration","enum":["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15"],"description":"The duration of this shot in seconds","type":"string"}},"title":"KlingV3MultiPromptElement","type":"object","x-fal-order-properties":["prompt","duration"]},"File":{"required":["url"],"properties":{"content_type":{"title":"Content Type","anyOf":[{"type":"string"},{"type":"null"}],"description":"The mime type of the file.","examples":["image/png"]},"file_size":{"title":"File Size","anyOf":[{"type":"integer"},{"type":"null"}],"description":"The size of the file in bytes.","examples":[4404019]},"url":{"title":"Url","description":"The URL where the file can be downloaded from.","type":"string"},"file_name":{"title":"File Name","anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the file. It will be auto-generated if not provided.","examples":["z9RV14K95DvU.png"]}},"title":"File","type":"object","x-fal-order-properties":["url","content_type","file_name","file_size"]}}},"paths":{"/fal-ai/kling-video/v3/4k/image-to-video/requests/{request_id}/status":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}},{"name":"logs","in":"query","required":false,"schema":{"type":"number","description":"Whether to include logs (`1`) in the response or not (`0`)."}}],"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/kling-video/v3/4k/image-to-video/requests/{request_id}/cancel":{"put":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"The request was cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the request was cancelled successfully."}}}}}}}}},"/fal-ai/kling-video/v3/4k/image-to-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KlingVideoV34kImageToVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/kling-video/v3/4k/image-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/KlingVideoV34kImageToVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}},{"endpoint_id":"fal-ai/veo3.1/reference-to-video","metadata":{"display_name":"Veo 3.1","category":"image-to-video","description":"Generate Videos from images using Google's Veo 3.1","status":"active","tags":[],"updated_at":"2026-04-28T16:29:09.509Z","is_favorited":null,"thumbnail_url":"https://v3b.fal.media/files/b/tiger/IwzOGSbzp6e8N00QuLtFF_129417bb24f248298e95c3fa2b1b82fb.jpg","model_url":"https://fal.run/fal-ai/veo3.1/reference-to-video","license_type":"commercial","date":"2025-10-08T17:07:06.022Z","group":{"key":"veo3.1","label":"Reference to Video"},"highlighted":false,"kind":"inference","pinned":false},"openapi":{"openapi":"3.0.4","info":{"title":"Queue OpenAPI for fal-ai/veo3.1/reference-to-video","version":"1.0.0","description":"The OpenAPI schema for the fal-ai/veo3.1/reference-to-video queue.","x-fal-metadata":{"endpointId":"fal-ai/veo3.1/reference-to-video","category":"image-to-video","thumbnailUrl":"https://v3b.fal.media/files/b/tiger/IwzOGSbzp6e8N00QuLtFF_129417bb24f248298e95c3fa2b1b82fb.jpg","playgroundUrl":"https://fal.ai/models/fal-ai/veo3.1/reference-to-video","documentationUrl":"https://fal.ai/models/fal-ai/veo3.1/reference-to-video/api","about":"Generate videos from reference image(s) and text using Google's Veo 3.1 model.\n\nThe prompt should describe how to animate between the first and last frame. Include:\n- Action: How the first and last frame should be animated\n- Style: Desired animation style\n- Camera motion (optional): How 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 images up to 8MB in size\n- 720p or 1080p output resolution\n- Natural motion and realistic animations\n- Control over animation via text prompts\n\nSafety filters are applied to both input images 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"]},"Veo31ReferenceToVideoInput":{"properties":{"duration":{"title":"Duration","description":"The duration of the generated video.","default":"8s","type":"string","const":"8s"},"prompt":{"maxLength":20000,"title":"Prompt","description":"The text prompt describing the video you want to generate","examples":["A chimpanzee wearing overalls frolics in the grassy field, gently playing with the butterflies. In the background, a circus tent and carousel beckon."],"type":"string"},"resolution":{"enum":["720p","1080p","4k"],"title":"Resolution","description":"The resolution of the generated video.","default":"720p","type":"string"},"image_urls":{"items":{"type":"string"},"title":"Image Urls","description":"URLs of the reference images to use for consistent subject appearance","examples":[["https://storage.googleapis.com/falserverless/example_inputs/veo31-r2v-input-1.png","https://storage.googleapis.com/falserverless/example_inputs/veo31-r2v-input-2.png","https://storage.googleapis.com/falserverless/example_inputs/veo31-r2v-input-3.png"]],"type":"array"},"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"},"generate_audio":{"title":"Generate Audio","description":"Whether to generate audio for the video.","default":true,"type":"boolean"},"aspect_ratio":{"enum":["16:9","9:16"],"title":"Aspect Ratio","description":"The aspect ratio of the generated video.","default":"16:9","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":"Veo31ReferenceToVideoInput","required":["prompt","image_urls"],"type":"object","x-fal-order-properties":["prompt","aspect_ratio","duration","resolution","generate_audio","auto_fix","safety_tolerance","image_urls"]},"Veo31ReferenceToVideoOutput":{"properties":{"video":{"$ref":"#/components/schemas/File","description":"The generated video.","examples":[{"url":"https://storage.googleapis.com/falserverless/example_outputs/veo31-r2v-output.mp4"}]}},"title":"Veo31ReferenceToVideoOutput","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/reference-to-video/requests/{request_id}/status":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}},{"name":"logs","in":"query","required":false,"schema":{"type":"number","description":"Whether to include logs (`1`) in the response or not (`0`)."}}],"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/veo3.1/reference-to-video/requests/{request_id}/cancel":{"put":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"The request was cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the request was cancelled successfully."}}}}}}}}},"/fal-ai/veo3.1/reference-to-video":{"post":{"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Veo31ReferenceToVideoInput"}}}},"responses":{"200":{"description":"The request status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueStatus"}}}}}}},"/fal-ai/veo3.1/reference-to-video/requests/{request_id}":{"get":{"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","description":"Request ID"}}],"responses":{"200":{"description":"Result of the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Veo31ReferenceToVideoOutput"}}}}}}}},"servers":[{"url":"https://queue.fal.run"}],"security":[{"apiKeyAuth":[]}]}}],"next_cursor":"Nw","has_more":true}
