{"id":"video-generation","slug":"video-generation","name":"Programmatic video generation","shortName":"Programmatic video generation","problemStatement":"Generate short videos via API for products/agents.","whenNotTopPick":"Creative suite workflows for humans — Runway UI; confirm Pika API maturity.","categoryIds":["cat-media-gen","cat-inference-apis"],"depotPickProviderId":"fal","depotPickRationale":"capability quality + dx API + pricePerf.","runnersUpIds":["runway","luma","pika","minimax","kling"],"weights":{"capabilityFit":0.25,"pricePerformance":0.18,"latencyReliability":0.15,"developerDx":0.15,"privacyPosture":0.1,"lockInRisk":0.07,"maturity":0.1},"methodologyNotes":"capability quality + dx API + pricePerf.","tags":["video"],"depth":{"whenNotToUse":{"text":"Creative suite workflows for humans — Runway UI; confirm Pika API maturity.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"runway","name":"Runway","overallForJob":7.75,"pickOverallForJob":8.5,"beatsPickOn":["maturity"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":4,"runnerUpLockInRisk":5.5,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[],"selfHostFallback":[],"migration":"The pick has lower stored lock-in risk than runner-up Runway (4 vs 5.5).","migrationReason":null,"derivedFrom":"stored lockInRisk scores, provider tags (oss, self-host, openai-compat, open-models), free rows that list this job, and verbatim provider notes. No migration guide was invented."}},"freshness":{"pick":{"score":{"asOf":"2026-10-19","ageDays":8,"stale":false,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-10-19","ageDays":8,"stale":false,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":1,"sourcesReachable":1,"pricingRows":3,"pricingRowsReconfirmed":2,"note":"A source re-check confirms the page is reachable and, for pricing rows, that the stored amount and SKU name appear on it. It does not re-derive or change the score.","reason":null}}},"depotPick":{"id":"fal","slug":"fal","name":"Fal","tagline":"Depot default for programmatic image/video/audio gen. One API to rule the media zoo.","overall":8.5},"runnersUp":[{"id":"runway","slug":"runway","name":"Runway","tagline":"Top creative video brand. For pure agent pipelines, also price-check Fal-hosted alternatives.","overall":7.75},{"id":"luma","slug":"luma","name":"Luma AI","tagline":"Solid video gen option — A/B with Runway/Pika/Fal-hosted models for your domain.","overall":7.69},{"id":"pika","slug":"pika","name":"Pika API (API Club)","tagline":"API story is no longer a mystery: self-serve keys + catalog quotes. Treat as a media aggregator (multi-vendor…","overall":7.88},{"id":"minimax","slug":"minimax","name":"MiniMax","tagline":"Primary indie-usable Chinese multimodal API alongside Moonshot. Prefer Anthropic/OpenAI for coding agents…","overall":7.83},{"id":"kling","slug":"kling","name":"Kling AI","tagline":"Video-gen peer to Runway/Luma/Fal. Prefer Fal for multi-model media API DX; Kling when quality demos win and…","overall":7.58}]}