{"tool_key":"video","description":"Generate a video from a text prompt and/or reference files (image-to-video, video-to-video, lipsync, upscale).","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"model":{"type":"string","minLength":1},"prompt":{"type":"string","maxLength":20000},"aspect_ratio":{"type":"string"},"files":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"media_type":{"type":"string"}},"required":["url"],"additionalProperties":false}},"options":{"type":"object","properties":{"webhook_url":{"type":"string","format":"uri"},"cache":{"type":"boolean"}},"additionalProperties":{}},"resolution":{"description":"Quality tier. Supported by this model: 720p, 1080p. Unsupported tiers fall back to the nearest available.","type":"string","enum":["480p","720p","1080p","4k"]},"audio":{"description":"Set true to generate the video with a native audio track.","type":"boolean"},"duration":{"description":"Length in seconds. Supported by this model's routes: fal: 5-20. A non-numeric value such as \"auto\" is routed to a route whose schema accepts it; when none does, the request is rejected.","anyOf":[{"type":"number","minimum":1,"maximum":120},{"type":"string"}]},"provider_options":{"type":"object","properties":{"fal":{"type":"object","properties":{"seed":{},"prompt":{"type":"string","description":"The text prompt describing the video you want to generate."},"duration":{"anyOf":[{"type":"number","const":5},{"type":"number","const":6},{"type":"number","const":7},{"type":"number","const":8},{"type":"number","const":9},{"type":"number","const":10},{"type":"number","const":11},{"type":"number","const":12},{"type":"number","const":13},{"type":"number","const":14},{"type":"number","const":15},{"type":"number","const":16},{"type":"number","const":17},{"type":"number","const":18},{"type":"number","const":19},{"type":"number","const":20}]},"resolution":{"type":"string","enum":["720p","1080p"]},"aspect_ratio":{"type":"string","enum":["auto","21:9","2:1","16:9","4:3","1:1","3:4","9:16"]},"generate_audio":{"type":"boolean","description":"Whether to generate audio for the video."},"reasoning_level":{"type":"string","enum":["low","high"]},"image_url":{"type":"string","description":"URL of the image the video starts from (PNG, JPEG, or WebP)."},"end_image_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"keyframes":{"type":"array","items":{"type":"object","properties":{"image_url":{"type":"string","description":"URL of the keyframe image (PNG, JPEG, or WebP)."},"frame_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Frame position of this keyframe in the generated 24 fps video. Must be unique and at most `duration * 24`."}},"required":["image_url","frame_index"],"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false}},"required":["model"],"additionalProperties":false},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"version":{"type":"string","const":"v1"},"outputs":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"file_id":{"type":"string"},"media_type":{"type":"string"},"size_bytes":{"type":"number"},"raw":{}},"required":["url"],"additionalProperties":false}}},"required":["version","outputs"],"additionalProperties":false},"example":{"input":{"model":"kling-v3","prompt":"a cat jumping over a fence, cinematic","aspect_ratio":"16:9","duration":5},"output":{"version":"v1","outputs":[{"url":"https://s3.varg.ai/o/job_abc123.mp4","media_type":"video/mp4","size_bytes":52428800}]}}}