{"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: 480p, 720p. Unsupported tiers fall back to the nearest available.","type":"string","enum":["480p","720p","1080p","4k"]},"audio":{"description":"Native audio track request. Not supported by this model — ignored if sent.","type":"boolean"},"duration":{"description":"Length in seconds. Supported by this model's routes: fal: 3, 5. 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":{"anyOf":[{"type":"integer","minimum":0,"maximum":2147483647},{"type":"null"}]},"prompt":{"type":"string","description":"What happens in the video. Long, specific prompts steer WAN best."},"duration":{"anyOf":[{"type":"number","const":3},{"type":"number","const":5}]},"image_url":{"type":"string","description":"http(s) URL of the condition image the video starts from, at most 25 MiB and 100 megapixels. A JPEG or PNG within the endpoint's byte budget (2.5 MB by default) renders as sent; anything larger, and any other format, is re-encoded to fit (a JPEG stays JPEG, anything else becomes lossless PNG), scaled down only as far as needed and never below the requested resolution; where that resolution stops the shrink, it is sent as a JPEG of slightly lower quality instead."},"resolution":{"type":"string","enum":["480p","720p"]},"image_transform":{"type":"string","enum":["center_crop","resize"]},"prompt_processing":{"type":"string","enum":["original","enhanced"]}},"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}]}}}