{"provider":{"title":"Make Video","description":"Multi-model AI video generation via fal.ai (Kling, Seedance, Veo 3, Sora 2, Wan, Hailuo). POST /run accepts { model, prompt, ... } and runs the fal.ai job behind a paywrap charge. The price is computed dynamically from the (model, duration, resolution, generate_audio) tuple at a 15% markup over fal.ai cost. The 402 challenge advertises the exact computed amount on first attempt. Returns a job_id; poll GET /status/:job_id (free) for the final video URL. Surface map: paid `POST /run` (unified) plus 7 per-model alias routes (POST /kling, POST /seedance, POST /veo3-fast, POST /veo3, POST /sora2, POST /wan, POST /hailuo) — each accepts the same knobs without the `model` field; free `GET /price/:model` (preview charge for a config), `GET /status/:id` + `HEAD /status/:id` (poll job), `GET /spend` (operator dashboard).","paidRoutes":[{"method":"POST","path":"/run","protocol":"mpp","sku":"make-video-post-run","priceUsdcMicro":"dynamic","pricingVersion":1,"description":"Submit a video generation job to fal.ai. Charge is computed from the validated input. Preview the exact charge before paying via free `GET /price/:model?duration=…&resolution=…`. After submit, poll free `GET /status/:id` (or `HEAD /status/:id`) until the job completes — the response carries the final video URL. Per-model alias routes (POST /kling, POST /seedance, POST /veo3-fast, POST /veo3, POST /sora2, POST /wan, POST /hailuo) are equivalent entry points with the model preset."},{"method":"POST","path":"/kling","protocol":"mpp","sku":"make-video-post-kling","priceUsdcMicro":"dynamic","pricingVersion":1,"description":"Kling 2.5 Turbo Pro — text-to-video. Per-model alias for POST /run with model=\"kling\". Kuaishou Kling 2.5 Turbo Pro — top-tier realism and motion. 720p, durations 5/10s. Preview the charge via free GET /price/kling?duration=…&resolution=…; poll the job via free GET /status/:id (returned job_id)."},{"method":"POST","path":"/seedance","protocol":"mpp","sku":"make-video-post-seedance","priceUsdcMicro":"dynamic","pricingVersion":1,"description":"Seedance 1 Pro — text-to-video. Per-model alias for POST /run with model=\"seedance\". ByteDance Seedance 1 Pro — strong cinematic realism. 720p / 1080p, durations 5/10s. Preview the charge via free GET /price/seedance?duration=…&resolution=…; poll the job via free GET /status/:id (returned job_id)."},{"method":"POST","path":"/veo3-fast","protocol":"mpp","sku":"make-video-post-veo3-fast","priceUsdcMicro":"dynamic","pricingVersion":1,"description":"Google Veo 3 Fast — text-to-video. Per-model alias for POST /run with model=\"veo3-fast\". Google Veo 3 Fast — top-tier quality without audio. 720p, durations 4/6/8s. Preview the charge via free GET /price/veo3-fast?duration=…&resolution=…; poll the job via free GET /status/:id (returned job_id)."},{"method":"POST","path":"/veo3","protocol":"mpp","sku":"make-video-post-veo3","priceUsdcMicro":"dynamic","pricingVersion":1,"description":"Google Veo 3 (with audio) — text-to-video. Per-model alias for POST /run with model=\"veo3\". Google Veo 3 standard — top-tier realism with optional native audio. 720p, durations 4/6/8s. Preview the charge via free GET /price/veo3?duration=…&resolution=…; poll the job via free GET /status/:id (returned job_id)."},{"method":"POST","path":"/sora2","protocol":"mpp","sku":"make-video-post-sora2","priceUsdcMicro":"dynamic","pricingVersion":1,"description":"OpenAI Sora 2 — text-to-video. Per-model alias for POST /run with model=\"sora2\". OpenAI Sora 2 — premium quality with native audio. 720p, durations 4/8/12s. (Currently disabled — fal.ai upstream unavailable.) Preview the charge via free GET /price/sora2?duration=…&resolution=…; poll the job via free GET /status/:id (returned job_id)."},{"method":"POST","path":"/wan","protocol":"mpp","sku":"make-video-post-wan","priceUsdcMicro":"dynamic","pricingVersion":1,"description":"Wan 2.2 A14B — image-to-video. Per-model alias for POST /run with model=\"wan\". Alibaba Wan 2.2 A14B image-to-video — animate a starting image. 480p / 580p / 720p, durations 3–10s. Preview the charge via free GET /price/wan?duration=…&resolution=…; poll the job via free GET /status/:id (returned job_id)."},{"method":"POST","path":"/hailuo","protocol":"mpp","sku":"make-video-post-hailuo","priceUsdcMicro":"dynamic","pricingVersion":1,"description":"MiniMax Hailuo 02 Standard — image-to-video. Per-model alias for POST /run with model=\"hailuo\". MiniMax Hailuo 02 Standard image-to-video — strong motion fidelity. 768p, durations 6/10s. Preview the charge via free GET /price/hailuo?duration=…&resolution=…; poll the job via free GET /status/:id (returned job_id)."}],"freeRoutes":[{"method":"GET","path":"/status/:id","description":"Poll fal.ai for the job status / final video URL."},{"method":"HEAD","path":"/status/:id","description":"Headers-only variant of GET /status/:id."},{"method":"GET","path":"/price/:model","description":"Free price quote for a (model, duration, resolution, audio) config."},{"method":"GET","path":"/spend","description":"Aggregated fal.ai spend & revenue (operator)."},{"method":"GET","path":"/"},{"method":"GET","path":"/contract"},{"method":"GET","path":"/openapi.json"},{"method":"GET","path":"/health"}]}}