{"id":"media-generation","slug":"media-generation","name":"Unified media generation API","shortName":"Unified media generation API","problemStatement":"One API across many image/video/audio models.","whenNotTopPick":"Single-model specialist needs only.","categoryIds":["cat-media-gen","cat-inference-apis"],"depotPickProviderId":"fal","depotPickRationale":"dx + catalog capability.","runnersUpIds":["replicate","openai-media","black-forest-labs","ideogram","recraft"],"weights":{"capabilityFit":0.3,"pricePerformance":0.18,"latencyReliability":0.14,"developerDx":0.16,"privacyPosture":0.08,"lockInRisk":0.08,"maturity":0.06},"methodologyNotes":"dx + catalog capability.","tags":["media"],"depth":{"whenNotToUse":{"text":"Single-model specialist needs only.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"replicate","name":"Replicate","overallForJob":7.82,"pickOverallForJob":8.57,"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":4,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[],"selfHostFallback":[],"migration":null,"migrationReason":"no_stored_migration_data","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":9,"stale":false,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-10-19","ageDays":9,"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.57},"runnersUp":[{"id":"replicate","slug":"replicate","name":"Replicate","tagline":"Ship a model demo by lunch. Migrate hot paths to Modal/RunPod/Fireworks when the bill hurts.","overall":7.82},{"id":"openai-media","slug":"openai-media","name":"OpenAI Media (Images/Audio)","tagline":"Convenient if you're already on OpenAI. For best image variety/cost, keep Fal in the toolkit.","overall":8.08},{"id":"black-forest-labs","slug":"black-forest-labs","name":"Black Forest Labs","tagline":"First-party FLUX when you want BFL terms/quality without a reseller markup. Fal remains Depot media-gen…","overall":8.18},{"id":"ideogram","slug":"ideogram","name":"Ideogram","tagline":"Use when agents must render readable text in images. Fal remains default multi-model media router.","overall":7.92},{"id":"recraft","slug":"recraft","name":"Recraft","tagline":"Best when agents need SVG/brand-consistent assets. Fal for general media zoo; BFL for FLUX-first.","overall":8.11}]}