From 9ecb64a6e1ecd4458a21edb205c458d57ef1cf83 Mon Sep 17 00:00:00 2001 From: Universe Date: Thu, 15 Oct 2026 03:13:23 +0900 Subject: [PATCH 1/2] feat: add sourced media models and endpoint contracts --- catalogue/PROVENANCE.md | 115 + catalogue/labs.json | 41 + catalogue/logos/fal.svg | 1 + catalogue/logos/minimax.webp | Bin 0 -> 7122 bytes catalogue/logos/reve.svg | 10 + catalogue/models.json | 5000 ++++++++++++----- models/alibaba/qwen-image-3.0/card.toml | 64 + .../black-forest-labs/flux-3-video/card.toml | 223 + models/bytedance/seedance-2.5/card.toml | 66 + models/fal/h3-max/card.toml | 101 + models/fal/lab.toml | 9 + models/fal/logo.svg | 1 + models/google/gemini-omni-1.1-flash/card.toml | 60 + models/ideogram/ideogram-4.5/card.toml | 132 + models/ideogram/lab.toml | 2 + models/meta/muse-image-1.0/card.toml | 26 +- models/minimax/h3/card.toml | 118 + models/minimax/lab.toml | 9 + models/minimax/logo.webp | Bin 0 -> 7122 bytes models/reve/lab.toml | 9 + models/reve/logo.svg | 10 + models/reve/reve-2.1/card.toml | 30 + models/xai/grok-imagine-video-1.5/card.toml | 30 + 23 files changed, 4673 insertions(+), 1384 deletions(-) create mode 100644 catalogue/logos/fal.svg create mode 100644 catalogue/logos/minimax.webp create mode 100644 catalogue/logos/reve.svg create mode 100644 models/alibaba/qwen-image-3.0/card.toml create mode 100644 models/black-forest-labs/flux-3-video/card.toml create mode 100644 models/fal/h3-max/card.toml create mode 100644 models/fal/lab.toml create mode 100644 models/fal/logo.svg create mode 100644 models/google/gemini-omni-1.1-flash/card.toml create mode 100644 models/ideogram/ideogram-4.5/card.toml create mode 100644 models/ideogram/lab.toml create mode 100644 models/minimax/h3/card.toml create mode 100644 models/minimax/lab.toml create mode 100644 models/minimax/logo.webp create mode 100644 models/reve/lab.toml create mode 100644 models/reve/logo.svg create mode 100644 models/reve/reve-2.1/card.toml diff --git a/catalogue/PROVENANCE.md b/catalogue/PROVENANCE.md index f5b0650..958aadb 100644 --- a/catalogue/PROVENANCE.md +++ b/catalogue/PROVENANCE.md @@ -1133,3 +1133,118 @@ USD 0.10 per million tokens, with no output or cache charges. The binding record that public contract without borrowing another provider's limits or price bands. Model release provenance, intrinsic facts and other providers' bindings are unchanged. + +## Video endpoint and provider qualifications (2026-10-15) + +### Seedance 2.5 and Grok Imagine Video 1.5 text variants + +The existing image variants and their published service contracts are retained. +The fal text variants are separate exact endpoints with their own parameters and +published billing facts: [Seedance 2.5](https://fal.ai/models/bytedance/seedance-2.5/text-to-video/api) +and [Grok 1.5](https://fal.ai/models/xai/grok-imagine-video/v1.5/text-to-video/api). + +Seedance's [detailed text page](https://fal.ai/models/bytedance/seedance-2.5/text-to-video) +defines output tokens as width × height × duration × 24 / 1024. At 480p and 720p, +the rate is USD 0.0214 per 1,000 output tokens. Its per-second examples are +approximations rather than a billing meter, and its summary calls the 1080p +token rate approximate. The exact-priced component is therefore limited to the +two resolutions whose rate is stated without qualification. The OpenAPI schema +includes 1080p even though the detailed page's older input table lists only +480p and 720p; endpoint parameters follow the exact OpenAPI schema. Defaults +and adaptive output options are not inferred as fixed billable output sizes. + +Grok text generation has no input-image charge. Its independently sourced +output-second rates are USD 0.08 at 480p, 0.14 at 720p and 0.25 at 1080p on +the [text endpoint page](https://fal.ai/models/xai/grok-imagine-video/v1.5/text-to-video). +The existing image endpoint's image surcharge is not copied to text generation. + +### MiniMax H3 and fal H3 Max + +MiniMax H3's model release is grounded in the [July 31 vendor announcement](https://www.minimax.io/blog/minimax-h3). +H3 Max is a distinct fal post-trained variant, grounded in fal's +[August 27 announcement](https://blog.fal.ai/introducing-h3-max-by-fal/). +The `minimax/h3-max` namespace on fal is its exact serving endpoint namespace, +not evidence that the variant's developer is MiniMax. The public catalogue +identity is `fal/h3-max`, with fal as its native reference. + +MiniMax [native API contracts](https://platform.minimax.io/docs/api-reference/video-generation-v2-create) +support H3 at 4–15 seconds, 768P/2K and H3 Max at 5–15 seconds, 480P/768P. +Their [native pricing](https://platform.minimax.io/docs/pricing/overview) +is independent of fal's prices. Native reference video and extra image charges +are explicitly qualified rather than treated as included output pricing. + +The exact fal [H3 text](https://fal.ai/models/minimax/h3/text-to-video/api) +and [image](https://fal.ai/models/minimax/h3/image-to-video/api) schemas instead +accept integer 5–15-second durations and 480P/768P/2K/4K. The first and last +images are optional independently, and the output canvas follows the supplied +frame. The actual frame endpoint is `minimax/h3/image-to-video`. + +fal's [H3 Max text schema](https://fal.ai/models/minimax/h3-max/text-to-video/api) +accepts fractional duration 0.92–15 seconds and warns that outputs can run +about 0.7 seconds longer. This warning does not establish an exact output +duration maximum, charged-duration rounding rule or requested-duration meter. +Its prompt expansion values are examples, not a schema enum. The regular +fal rates are explicitly stated on the [model page](https://fal.ai/models/minimax/h3-max/text-to-video): +USD 0.05/0.08/0.16 per output second at 480P/768P/1080P. Temporary discounted +rates are excluded from the catalogue. + +The [official H3 repository](https://github.com/MiniMax-AI/MiniMax-H3) +and [weight repository](https://huggingface.co/MiniMaxAI/MiniMax-H3) are retained +as distribution facts. Their [Community License](https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/LICENSE) +has specific use and territorial restrictions; public download availability +does not imply unrestricted use or grant hosted API rights. + +### FLUX 3 Video + +The [BFL August 4 announcement](https://bfl.ai/blog/flux-3-video) establishes +the first broad release of FLUX 3 Video, independently of later FLUX 3 Image +and Action variants. The native call ID remains `flux-3-video`; modes are +request parameters, not invented separate native endpoint IDs. + +[BFL pricing](https://docs.bfl.ai/quick_start/pricing) records output-second +prices by mode and resolution, with native 2K/4K rates distinct from the +[OpenRouter discovery SKUs](https://openrouter.ai/api/v1/videos/models). +Both records retain their provider's facts rather than flattening them into +one supposedly universal price. fal's [text](https://fal.ai/models/blackforestlabs/flux-3/text-to-video) +and [image](https://fal.ai/models/blackforestlabs/flux-3/image-to-video) routes +serve only 720p/1080p, priced at USD 0.17/0.29 per output second. + +[Vercel discovery](https://ai-gateway.vercel.sh/v1/models) lists `bfl/flux-3-video` +with capability metadata but an empty pricing object. The binding is recorded +without inventing a unit or price. Vercel's supported resolution spellings, +`hd` and `fhd`, retain their original form. + +### Gemini Omni 1.1 Flash + +The stable model's release comes from Google's [August 27 announcement](https://blog.google/innovation-and-ai/technology/developers-tools/build-with-gemini-omni-1-1-flash/). +The [native model page](https://ai.google.dev/gemini-api/docs/models/gemini-omni-flash) +and [standard pricing](https://ai.google.dev/gemini-api/docs/pricing) +identify `gemini-omni-1.1-flash` and token billing: USD 1.50/9.00/17.50 per +million input/text-output/video-output tokens. Google's 5,792 video-output +tokens per second at 720p are not a formula for every resolution. + +The exact versioned fal [text](https://fal.ai/models/google/gemini-omni-flash/v1.1/text-to-video) +and [image](https://fal.ai/models/google/gemini-omni-flash/v1.1/image-to-video) +endpoints use output-second pricing instead: USD 0.03/0.10/0.15/0.30 at +360p/720p/1080p/4k. Their schemas accept integer durations 3–10 seconds. +The stable variant is absent from OpenRouter video discovery and Vercel model +discovery; Vercel's separately listed preview is not represented as stable 1.1. + +## Image endpoint qualifications (2026-10-15) + +[Muse Image](https://fal.ai/models/meta/muse-image/text-to-image/api) uses ratios +at its fixed approximate pixel count; a ratio is not an exact size contract. +[Qwen Image 3.0](https://fal.ai/models/alibaba/qwen-image-3/text-to-image/api) +is the Standard model, distinct from Pro. Native pricing is in CNY and is not +converted to USD here. fal's regular 1K/2K rates do not document the precise +custom-size price breakpoint; no breakpoint is inferred. +[Ideogram 4.5 generation](https://fal.ai/models/ideogram/v4.5/api) and +[editing](https://fal.ai/models/ideogram/v4.5/edit/api) have distinct dimension +and source-image contracts. The exact launch day remains unknown, using +undated provider-endpoint provenance; native price parity is not inferred. +[Reve 2.1's fal tutorial](https://fal.ai/learn/tools/how-to-use-reve-2-1) +establishes a regular USD 0.25/generated-image price, but the exact endpoint +request/result schemas are unavailable in the public OpenAPI feed. Endpoint +identities are recorded without inventing edit fields or a result envelope. +Missing prices remain unknown, never zero. Current provider coverage follows +exact discovery identities, not similar predecessor names. diff --git a/catalogue/labs.json b/catalogue/labs.json index 705de2e..adbcf29 100644 --- a/catalogue/labs.json +++ b/catalogue/labs.json @@ -73,6 +73,18 @@ "retrieved": "2026-10-12" } }, + "fal": { + "id": "fal", + "name": "fal", + "url": "https://fal.ai/", + "logo": { + "path": "logos/fal.svg", + "media_type": "image/svg+xml", + "kind": "wordmark", + "source_url": "https://fal.ai/", + "retrieved": "2026-10-15" + } + }, "google": { "id": "google", "name": "Google", @@ -86,6 +98,11 @@ "retrieved": "2026-10-12" } }, + "ideogram": { + "id": "ideogram", + "name": "Ideogram", + "url": "https://ideogram.ai/" + }, "meta": { "id": "meta", "name": "Meta", @@ -112,6 +129,18 @@ "retrieved": "2026-10-12" } }, + "minimax": { + "id": "minimax", + "name": "MiniMax", + "url": "https://www.minimax.io/", + "logo": { + "path": "logos/minimax.webp", + "media_type": "image/webp", + "kind": "lockup", + "source_url": "https://www.minimax.io/assets/logo/minimax-horizontal-brand-black.webp", + "retrieved": "2026-10-15" + } + }, "openai": { "id": "openai", "name": "OpenAI", @@ -137,6 +166,18 @@ "retrieved": "2026-10-12" } }, + "reve": { + "id": "reve", + "name": "Reve", + "url": "https://reve.com/", + "logo": { + "path": "logos/reve.svg", + "media_type": "image/svg+xml", + "kind": "wordmark", + "source_url": "https://blog.reve.com/", + "retrieved": "2026-10-15" + } + }, "tencent": { "id": "tencent", "name": "Tencent", diff --git a/catalogue/logos/fal.svg b/catalogue/logos/fal.svg new file mode 100644 index 0000000..66342e8 --- /dev/null +++ b/catalogue/logos/fal.svg @@ -0,0 +1 @@ + diff --git a/catalogue/logos/minimax.webp b/catalogue/logos/minimax.webp new file mode 100644 index 0000000000000000000000000000000000000000..af8b7edbb4a2951ce32f229f7d23703b5eb9064c GIT binary patch literal 7122 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 literal 0 HcmV?d00001 diff --git a/catalogue/logos/reve.svg b/catalogue/logos/reve.svg new file mode 100644 index 0000000..c8341dd --- /dev/null +++ b/catalogue/logos/reve.svg @@ -0,0 +1,10 @@ + + + + diff --git a/catalogue/models.json b/catalogue/models.json index f60d562..471b963 100644 --- a/catalogue/models.json +++ b/catalogue/models.json @@ -6590,6 +6590,219 @@ } }, "image.models": { + "alibaba/qwen-image-3.0": { + "id": "alibaba/qwen-image-3.0", + "vendor": "alibaba", + "reference_provider": "alibaba", + "label": "Qwen Image 3.0", + "short_description": "Image generation and editing with multilingual text rendering.", + "release": { + "date": "2026-08-04", + "basis": "model", + "source_url": "https://help.aliyun.com/en/model-studio/newly-released-models" + }, + "providers": { + "alibaba": { + "provider": "alibaba", + "id": "qwen-image-3.0", + "url": "https://help.aliyun.com/en/model-studio/qwen-image-3-0", + "source_url": "https://help.aliyun.com/en/model-studio/qwen-image-3-0", + "capabilities": { + "source_url": "https://help.aliyun.com/en/model-studio/qwen-image-3-0", + "image_input": true + }, + "qualifications": [ + { + "source_url": "https://help.aliyun.com/en/model-studio/qwen-image-3-0", + "notes": "Native regular prices are quoted in CNY per input and generated image, with regional rates. No USD conversion is made. Qwen Image 3.0 Standard is distinct from qwen-image-3.0-pro." + } + ] + }, + "fal": { + "provider": "fal", + "id": "alibaba/qwen-image-3/text-to-image", + "source_url": "https://fal.ai/models/alibaba/qwen-image-3/text-to-image/api", + "url": "https://fal.ai/models/alibaba/qwen-image-3/text-to-image", + "pricing": { + "type": "per_image_tiered", + "tiers": { + "1K": 0.04, + "2K": 0.075 + }, + "source_url": "https://fal.ai/models/alibaba/qwen-image-3/text-to-image" + }, + "references": { + "id": "alibaba/qwen-image-3/edit", + "max": 3 + }, + "qualifications": [ + { + "source_url": "https://fal.ai/models/alibaba/qwen-image-3/edit/api", + "notes": "Reference images require each dimension between 384 and 2048 pixels, a maximum 10 MB per image, and JPEG, non-alpha PNG or WebP. The source quotes 1K/2K prices without an exact custom-size pixel breakpoint." + } + ], + "endpoints": [ + { + "id": "alibaba/qwen-image-3/text-to-image", + "input": "text", + "source_url": "https://fal.ai/models/alibaba/qwen-image-3/text-to-image/api", + "parameters": { + "seed": { + "type": "integer" + }, + "enable_prompt_expansion": { + "type": "boolean" + }, + "output_format": { + "enum": [ + "jpeg", + "png", + "webp" + ], + "type": "string" + }, + "prompt": { + "max_length": 5000, + "min_length": 1, + "type": "string" + }, + "sync_mode": { + "type": "boolean" + }, + "negative_prompt": { + "max_length": 500, + "type": "string" + }, + "image_size": { + "enum": [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9" + ], + "type": "string" + }, + "num_images": { + "maximum": 6, + "minimum": 1, + "type": "integer" + }, + "enable_safety_checker": { + "type": "boolean" + }, + "image_size.width": { + "type": "integer", + "minimum": 1, + "maximum": 14142 + }, + "image_size.height": { + "type": "integer", + "minimum": 1, + "maximum": 14142 + } + }, + "image_constraints": { + "min_pixels": 262144, + "max_pixels": 4194304 + } + }, + { + "id": "alibaba/qwen-image-3/edit", + "input": "multi_image", + "source_url": "https://fal.ai/models/alibaba/qwen-image-3/edit/api", + "parameters": { + "seed": { + "type": "integer" + }, + "enable_prompt_expansion": { + "type": "boolean" + }, + "output_format": { + "enum": [ + "jpeg", + "png", + "webp" + ], + "type": "string" + }, + "prompt": { + "max_length": 5000, + "min_length": 1, + "type": "string" + }, + "sync_mode": { + "type": "boolean" + }, + "negative_prompt": { + "max_length": 500, + "type": "string" + }, + "image_size": { + "enum": [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9" + ], + "type": "string" + }, + "image_urls": { + "type": "array", + "min_items": 1, + "max_items": 3 + }, + "num_images": { + "maximum": 6, + "minimum": 1, + "type": "integer" + }, + "enable_safety_checker": { + "type": "boolean" + }, + "image_size.width": { + "type": "integer", + "minimum": 1, + "maximum": 14142 + }, + "image_size.height": { + "type": "integer", + "minimum": 1, + "maximum": 14142 + } + }, + "image_constraints": { + "min_pixels": 262144, + "max_pixels": 4194304 + } + } + ] + } + }, + "provider_coverage": { + "openrouter": { + "disposition": "not_listed", + "source_url": "https://openrouter.ai/api/v1/models", + "reason": "The published model discovery list does not contain this exact model." + }, + "vercel": { + "disposition": "not_listed", + "source_url": "https://ai-gateway.vercel.sh/v1/models", + "reason": "The published model discovery list does not contain this exact model." + }, + "fal": { + "disposition": "listed", + "source_url": "https://fal.ai/models/alibaba/qwen-image-3/text-to-image" + }, + "alibaba": { + "disposition": "listed", + "source_url": "https://help.aliyun.com/en/model-studio/qwen-image-3-0" + } + } + }, "bfl/flux-2-max": { "reference_provider": "bfl", "id": "bfl/flux-2-max", @@ -9201,167 +9414,767 @@ "styles": null, "sizes": null }, - "meta/muse-image-1.0": { - "reference_provider": "meta", - "id": "meta/muse-image-1.0", - "label": "Muse Image 1.0", - "short_description": "Meta's agentic image model — reasons before it renders; generates and edits from text and references.", - "vendor": "meta", - "speed_label": "medium", - "speed_max": "30s", - "pricing": { - "type": "per_image_flat", - "usd": 0.01 - }, - "avg_cost_usd": 0.01, + "ideogram/ideogram-4.5": { + "id": "ideogram/ideogram-4.5", + "vendor": "ideogram", + "reference_provider": "ideogram", + "label": "Ideogram 4.5", + "short_description": "Image generation and precise editing with typography and reference-image control.", "release": { - "date": "2026-07-07", - "basis": "model", - "source_url": "https://about.fb.com/news/2026/07/introducing-muse-image-meta-ai/" + "basis": "provider_endpoint", + "source_url": "https://fal.ai/models/ideogram/v4.5/api", + "date": null }, "providers": { - "vercel": { - "provider": "vercel", - "id": "meta/muse-image-1.0", - "pricing": { - "type": "per_image_flat", - "usd": 0.01 - }, - "avg_cost_usd": 0.01 + "ideogram": { + "provider": "ideogram", + "id": "ideogram-4-5", + "url": "https://developer.ideogram.ai/ideogram-api/api-overview", + "source_url": "https://developer.ideogram.ai/ideogram-api/api-overview", + "qualifications": [ + { + "source_url": "https://ideogram.ai/pricing/?tool=ideogram", + "notes": "Native pricing distinguishes generation with and without source images and Precise Edit. The current pricing page returns dynamically loaded values; exact native regular rates are not copied from fal or an indexed snippet. Exact public launch day has not been established." + } + ], + "endpoints": [ + { + "id": "/v2/image/generate/ideogram-4-5", + "input": "text", + "source_url": "https://developer.ideogram.ai/api-reference/images/generate/ideogram-4-5" + }, + { + "id": "/v2/image/precise-edit/ideogram-4-5", + "input": "multi_image", + "source_url": "https://developer.ideogram.ai/api-reference/images/precise-edit/ideogram-4-5", + "parameters": { + "prompt": { + "type": "string", + "min_length": 1, + "max_length": 10000 + }, + "reference_images": { + "type": "array", + "max_items": 4 + } + } + } + ] }, "fal": { "provider": "fal", - "id": "meta/muse-image/text-to-image", - "pricing": { - "type": "per_image_flat", - "usd": 0.01 + "id": "ideogram/v4.5", + "url": "https://fal.ai/models/ideogram/v4.5", + "source_url": "https://fal.ai/models/ideogram/v4.5/api", + "references": { + "id": "ideogram/v4.5/edit", + "max": 5 }, - "avg_cost_usd": 0.01, - "url": "https://fal.ai/models/meta/muse-image/text-to-image" - }, - "meta": { - "provider": "meta", - "id": "muse-image-1.0", - "source_url": "https://dev.meta.ai/docs/image-generation", - "url": "https://dev.meta.ai/docs/image-generation", - "pricing": { - "type": "per_image_flat", - "usd": 0.01, - "billing_quantity": "successfully_generated_returned_images", - "source_url": "https://dev.meta.ai/docs/image-generation" - } - }, - "openrouter": { - "provider": "openrouter", - "id": "meta/muse-image", - "url": "https://openrouter.ai/meta/muse-image", - "source_url": "https://openrouter.ai/api/v1/models/meta/muse-image/endpoints", "pricing": { - "type": "per_token", - "image_input": 2.39520958083832, - "output": 2.39520958083832, - "source_url": "https://openrouter.ai/api/v1/models/meta/muse-image/endpoints" + "type": "per_image_tiered", + "tiers": { + "text/low": 0.03, + "text/medium": 0.06, + "text/high": 0.22, + "edit/very_low": 0.008, + "edit/low": 0.03, + "edit/medium": 0.06, + "edit/high": 0.22 + }, + "source_url": "https://fal.ai/models/ideogram/v4.5" }, "qualifications": [ { - "source_url": "https://openrouter.ai/api/v1/images/models/meta/muse-image/endpoints", - "notes": "The model is listed in image discovery, but image-specific endpoint metadata is empty. Published token meters come from general endpoint metadata; image parameter parity is not inferred." + "source_url": "https://fal.ai/models/ideogram/v4.5/api", + "notes": "Generation accepts only the documented 36 exact output sizes or fal presets, and charges by quality independently of image size." + }, + { + "source_url": "https://fal.ai/models/ideogram/v4.5/edit/api", + "notes": "Editing requires a primary image_url separate from up to four reference_image_urls. With a mask, at most three references are permitted. High-precision and masked edits require automatic output geometry; custom dimensions are valid only for unmasked regular edits." } - ] - } - }, - "provider_coverage": { - "openrouter": { - "disposition": "listed", - "source_url": "https://openrouter.ai/api/v1/models/meta/muse-image/endpoints" + ], + "endpoints": [ + { + "id": "ideogram/v4.5", + "input": "text", + "source_url": "https://fal.ai/models/ideogram/v4.5/api", + "parameters": { + "seed": { + "type": "integer" + }, + "sync_mode": { + "type": "boolean" + }, + "num_images": { + "minimum": 1, + "maximum": 8, + "type": "integer" + }, + "enable_prompt_expansion": { + "type": "boolean" + }, + "quality": { + "enum": [ + "low", + "medium", + "high" + ], + "type": "string" + }, + "prompt": { + "type": "string", + "max_length": 10000, + "min_length": 1 + }, + "image_size": { + "enum": [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9", + { + "width": 1024, + "height": 1024 + }, + { + "width": 1024, + "height": 3072 + }, + { + "width": 1120, + "height": 896 + }, + { + "width": 1152, + "height": 2944 + }, + { + "width": 1152, + "height": 864 + }, + { + "width": 1248, + "height": 3328 + }, + { + "width": 1248, + "height": 832 + }, + { + "width": 1280, + "height": 3072 + }, + { + "width": 1280, + "height": 720 + }, + { + "width": 1280, + "height": 800 + }, + { + "width": 1296, + "height": 3168 + }, + { + "width": 1440, + "height": 2560 + }, + { + "width": 1440, + "height": 2880 + }, + { + "width": 1440, + "height": 720 + }, + { + "width": 1600, + "height": 2560 + }, + { + "width": 1664, + "height": 2496 + }, + { + "width": 1728, + "height": 2304 + }, + { + "width": 1792, + "height": 2240 + }, + { + "width": 2048, + "height": 2048 + }, + { + "width": 2240, + "height": 1792 + }, + { + "width": 2304, + "height": 1728 + }, + { + "width": 2496, + "height": 1664 + }, + { + "width": 2560, + "height": 1440 + }, + { + "width": 2560, + "height": 1600 + }, + { + "width": 2880, + "height": 1440 + }, + { + "width": 2944, + "height": 1152 + }, + { + "width": 3072, + "height": 1024 + }, + { + "width": 3072, + "height": 1280 + }, + { + "width": 3168, + "height": 1296 + }, + { + "width": 3328, + "height": 1248 + }, + { + "width": 720, + "height": 1280 + }, + { + "width": 720, + "height": 1440 + }, + { + "width": 800, + "height": 1280 + }, + { + "width": 832, + "height": 1248 + }, + { + "width": 864, + "height": 1152 + }, + { + "width": 896, + "height": 1120 + } + ] + } + }, + "published_pricing": { + "source_url": "https://fal.ai/models/ideogram/v4.5", + "currency": "USD", + "components": [ + { + "id": "low", + "meter": "generated_images", + "unit": "image", + "usd_per_unit": "0.03", + "when": { + "required": [ + "quality" + ], + "properties": { + "quality": { + "const": "low" + } + } + } + }, + { + "id": "medium", + "meter": "generated_images", + "unit": "image", + "usd_per_unit": "0.06", + "when": { + "required": [ + "quality" + ], + "properties": { + "quality": { + "const": "medium" + } + } + } + }, + { + "id": "high", + "meter": "generated_images", + "unit": "image", + "usd_per_unit": "0.22", + "when": { + "required": [ + "quality" + ], + "properties": { + "quality": { + "const": "high" + } + } + } + } + ] + } + }, + { + "id": "ideogram/v4.5/edit", + "input": "multi_image", + "source_url": "https://fal.ai/models/ideogram/v4.5/edit/api", + "parameters": { + "image_size": { + "enum": [ + "auto", + "square", + "square_hd", + "portrait_4_3", + "landscape_4_3", + "portrait_16_9", + "landscape_16_9" + ], + "type": "string" + }, + "seed": { + "type": "integer" + }, + "mask_url": { + "type": "string" + }, + "reference_image_urls": { + "max_items": 4, + "type": "array" + }, + "edit_precision": { + "enum": [ + "regular", + "high" + ], + "type": "string" + }, + "num_images": { + "minimum": 1, + "maximum": 8, + "type": "integer" + }, + "image_url": { + "type": "string" + }, + "quality": { + "enum": [ + "very_low", + "low", + "medium", + "high" + ], + "type": "string" + }, + "prompt": { + "type": "string", + "max_length": 10000, + "min_length": 1 + }, + "sync_mode": { + "type": "boolean" + }, + "image_size.width": { + "type": "integer", + "minimum": 256, + "multiple_of": 32 + }, + "image_size.height": { + "type": "integer", + "minimum": 256, + "multiple_of": 32 + } + }, + "published_pricing": { + "source_url": "https://fal.ai/models/ideogram/v4.5/edit", + "currency": "USD", + "components": [ + { + "id": "very_low", + "meter": "generated_images", + "unit": "image", + "usd_per_unit": "0.008", + "when": { + "required": [ + "quality" + ], + "properties": { + "quality": { + "const": "very_low" + } + } + } + }, + { + "id": "low", + "meter": "generated_images", + "unit": "image", + "usd_per_unit": "0.03", + "when": { + "required": [ + "quality" + ], + "properties": { + "quality": { + "const": "low" + } + } + } + }, + { + "id": "medium", + "meter": "generated_images", + "unit": "image", + "usd_per_unit": "0.06", + "when": { + "required": [ + "quality" + ], + "properties": { + "quality": { + "const": "medium" + } + } + } + }, + { + "id": "high", + "meter": "generated_images", + "unit": "image", + "usd_per_unit": "0.22", + "when": { + "required": [ + "quality" + ], + "properties": { + "quality": { + "const": "high" + } + } + } + } + ] + } + } + ] + } + }, + "provider_coverage": { + "openrouter": { + "disposition": "not_listed", + "source_url": "https://openrouter.ai/api/v1/models", + "reason": "The published model discovery list does not contain this exact model." }, "vercel": { - "disposition": "listed", - "source_url": "https://ai-gateway.vercel.sh/v1/models" + "disposition": "not_listed", + "source_url": "https://ai-gateway.vercel.sh/v1/models", + "reason": "The published model discovery list does not contain this exact model." }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/meta/muse-image/text-to-image" + "source_url": "https://fal.ai/models/ideogram/v4.5" }, - "meta": { + "ideogram": { "disposition": "listed", - "source_url": "https://dev.meta.ai/docs/image-generation" + "source_url": "https://developer.ideogram.ai/ideogram-api/api-overview" } - }, - "styles": null, - "sizes": null, - "constraints": null + } }, - "openai/gpt-image-1-mini": { - "reference_provider": "openai", - "id": "openai/gpt-image-1-mini", - "label": "GPT Image Mini", - "short_description": "Cost-efficient image generation model", - "vendor": "openai", - "speed_label": "slow", - "speed_max": "1m", - "sizes": [ - [ - 1024, - 1024, - "1:1" - ], - [ - 1024, - 1536, - "2:3" - ], - [ - 1536, - 1024, - "3:2" - ] - ], - "avg_cost_usd": 0.011, + "meta/muse-image-1.0": { + "reference_provider": "meta", + "id": "meta/muse-image-1.0", + "label": "Muse Image 1.0", + "short_description": "Meta's agentic image model — reasons before it renders; generates and edits from text and references.", + "vendor": "meta", + "speed_label": "medium", + "speed_max": "30s", + "pricing": { + "type": "per_image_flat", + "usd": 0.01 + }, + "avg_cost_usd": 0.01, "release": { - "date": "2025-10-06", + "date": "2026-07-07", "basis": "model", - "source_url": "https://openai.com/devday/" + "source_url": "https://about.fb.com/news/2026/07/introducing-muse-image-meta-ai/" }, "providers": { "vercel": { "provider": "vercel", - "id": "openai/gpt-image-1-mini", + "id": "meta/muse-image-1.0", "pricing": { - "type": "per_token", - "input": 2, - "output": 8 + "type": "per_image_flat", + "usd": 0.01 }, - "avg_cost_usd": 0.011 - }, - "openai": { - "provider": "openai", - "id": "gpt-image-1-mini", - "source_url": "https://developers.openai.com/api/docs/models/gpt-image-1-mini", - "url": "https://developers.openai.com/api/docs/models/gpt-image-1-mini", - "pricing": { - "input": 2, - "cached_input": 0.2, - "image_input": 2.5, - "cached_image_input": 0.25, - "output": 8, - "type": "per_token", - "source_url": "https://developers.openai.com/api/docs/models/gpt-image-1-mini" - } + "avg_cost_usd": 0.01 }, "fal": { "provider": "fal", - "id": "fal-ai/gpt-image-1-mini", - "source_url": "https://fal.ai/models/fal-ai/gpt-image-1-mini", - "url": "https://fal.ai/models/fal-ai/gpt-image-1-mini", + "id": "meta/muse-image/text-to-image", + "source_url": "https://fal.ai/models/meta/muse-image/text-to-image/api", + "url": "https://fal.ai/models/meta/muse-image/text-to-image", "pricing": { - "type": "per_image_tiered", - "tiers": { - "low/1024x1024": 0.005, - "low/1024x1536": 0.006, - "low/1536x1024": 0.006, - "medium/1024x1024": 0.011, - "medium/1024x1536": 0.015, + "type": "per_image_flat", + "usd": 0.01, + "source_url": "https://fal.ai/models/meta/muse-image/text-to-image" + }, + "avg_cost_usd": 0.01, + "references": { + "id": "meta/muse-image/edit", + "max": 10 + }, + "qualifications": [ + { + "source_url": "https://fal.ai/models/meta/muse-image/text-to-image/api", + "notes": "Aspect ratios select shape at a fixed model resolution of approximately 2.5 megapixels; they do not specify output pixel dimensions." + } + ], + "endpoints": [ + { + "id": "meta/muse-image/text-to-image", + "input": "text", + "source_url": "https://fal.ai/models/meta/muse-image/text-to-image/api", + "parameters": { + "num_images": { + "minimum": 1, + "maximum": 10, + "type": "integer" + }, + "output_format": { + "enum": [ + "jpeg", + "png", + "webp" + ], + "type": "string" + }, + "sync_mode": { + "type": "boolean" + }, + "prompt": { + "min_length": 1, + "type": "string" + }, + "aspect_ratio": { + "type": "string" + } + }, + "image_constraints": { + "aspect_ratio": { + "min": 0.0625, + "max": 16 + } + }, + "published_pricing": { + "source_url": "https://fal.ai/models/meta/muse-image/text-to-image", + "currency": "USD", + "components": [ + { + "meter": "generated_images", + "unit": "image", + "usd_per_unit": "0.01" + } + ] + } + }, + { + "id": "meta/muse-image/edit", + "input": "multi_image", + "source_url": "https://fal.ai/models/meta/muse-image/edit/api", + "parameters": { + "num_images": { + "minimum": 1, + "maximum": 10, + "type": "integer" + }, + "output_format": { + "enum": [ + "jpeg", + "png", + "webp" + ], + "type": "string" + }, + "sync_mode": { + "type": "boolean" + }, + "image_urls": { + "type": "array", + "min_items": 1, + "max_items": 10 + }, + "prompt": { + "min_length": 1, + "type": "string" + }, + "aspect_ratio": { + "type": "string" + } + }, + "image_constraints": { + "aspect_ratio": { + "min": 0.0625, + "max": 16 + } + }, + "published_pricing": { + "source_url": "https://fal.ai/models/meta/muse-image/edit", + "currency": "USD", + "components": [ + { + "meter": "generated_images", + "unit": "image", + "usd_per_unit": "0.01" + } + ] + } + } + ] + }, + "meta": { + "provider": "meta", + "id": "muse-image-1.0", + "source_url": "https://dev.meta.ai/docs/image-generation", + "url": "https://dev.meta.ai/docs/image-generation", + "pricing": { + "type": "per_image_flat", + "usd": 0.01, + "billing_quantity": "successfully_generated_returned_images", + "source_url": "https://dev.meta.ai/docs/image-generation" + } + }, + "openrouter": { + "provider": "openrouter", + "id": "meta/muse-image", + "url": "https://openrouter.ai/meta/muse-image", + "source_url": "https://openrouter.ai/api/v1/models/meta/muse-image/endpoints", + "pricing": { + "type": "per_token", + "image_input": 2.39520958083832, + "output": 2.39520958083832, + "source_url": "https://openrouter.ai/api/v1/models/meta/muse-image/endpoints" + }, + "qualifications": [ + { + "source_url": "https://openrouter.ai/api/v1/images/models/meta/muse-image/endpoints", + "notes": "The model is listed in image discovery, but image-specific endpoint metadata is empty. Published token meters come from general endpoint metadata; image parameter parity is not inferred." + } + ] + } + }, + "provider_coverage": { + "openrouter": { + "disposition": "listed", + "source_url": "https://openrouter.ai/api/v1/models/meta/muse-image/endpoints" + }, + "vercel": { + "disposition": "listed", + "source_url": "https://ai-gateway.vercel.sh/v1/models" + }, + "fal": { + "disposition": "listed", + "source_url": "https://fal.ai/models/meta/muse-image/text-to-image" + }, + "meta": { + "disposition": "listed", + "source_url": "https://dev.meta.ai/docs/image-generation" + } + }, + "styles": null, + "sizes": null, + "constraints": null + }, + "openai/gpt-image-1-mini": { + "reference_provider": "openai", + "id": "openai/gpt-image-1-mini", + "label": "GPT Image Mini", + "short_description": "Cost-efficient image generation model", + "vendor": "openai", + "speed_label": "slow", + "speed_max": "1m", + "sizes": [ + [ + 1024, + 1024, + "1:1" + ], + [ + 1024, + 1536, + "2:3" + ], + [ + 1536, + 1024, + "3:2" + ] + ], + "avg_cost_usd": 0.011, + "release": { + "date": "2025-10-06", + "basis": "model", + "source_url": "https://openai.com/devday/" + }, + "providers": { + "vercel": { + "provider": "vercel", + "id": "openai/gpt-image-1-mini", + "pricing": { + "type": "per_token", + "input": 2, + "output": 8 + }, + "avg_cost_usd": 0.011 + }, + "openai": { + "provider": "openai", + "id": "gpt-image-1-mini", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-1-mini", + "url": "https://developers.openai.com/api/docs/models/gpt-image-1-mini", + "pricing": { + "input": 2, + "cached_input": 0.2, + "image_input": 2.5, + "cached_image_input": 0.25, + "output": 8, + "type": "per_token", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-1-mini" + } + }, + "fal": { + "provider": "fal", + "id": "fal-ai/gpt-image-1-mini", + "source_url": "https://fal.ai/models/fal-ai/gpt-image-1-mini", + "url": "https://fal.ai/models/fal-ai/gpt-image-1-mini", + "pricing": { + "type": "per_image_tiered", + "tiers": { + "low/1024x1024": 0.005, + "low/1024x1536": 0.006, + "low/1536x1024": 0.006, + "medium/1024x1024": 0.011, + "medium/1024x1536": 0.015, "medium/1536x1024": 0.015, "high/1024x1024": 0.036, "high/1024x1536": 0.052, @@ -11877,229 +12690,1470 @@ "styles": null, "sizes": null }, - "xai/grok-imagine-image-2.0": { - "reference_provider": "xai", - "id": "xai/grok-imagine-image-2.0", - "label": "Grok Imagine Image 2.0", - "short_description": "SpaceXAI's image model — fast 1K/2K generation with a low-cost quality tier.", - "vendor": "xai", - "speed_label": "fast", - "speed_max": "15s", - "constraints": { - "max_edge": 2048 - }, - "avg_cost_usd": 0.06, + "reve/reve-2.1": { + "id": "reve/reve-2.1", + "vendor": "reve", + "label": "Reve 2.1", + "short_description": "Native 4K generation and editing with layout and typography understanding.", "release": { - "date": "2026-08-07", + "date": "2026-07-09", "basis": "model", - "source_url": "https://x.ai/news/grok-imagine-image-2" + "source_url": "https://blog.reve.com/posts/launching-reve-2.1/" }, "providers": { - "vercel": { - "provider": "vercel", - "id": "spacexai/grok-imagine-image-2.0", - "avg_cost_usd": 0.06, + "fal": { + "provider": "fal", + "id": "reve/2.1/text-to-image", "pricing": { - "type": "per_image_tiered", - "tiers": { - "low/1024x1024": 0.04, - "medium/1024x1024": 0.06, - "low/2048x2048": 0.06, - "medium/2048x2048": 0.08 + "type": "per_image_flat", + "usd": 0.25, + "source_url": "https://fal.ai/learn/tools/how-to-use-reve-2-1" + }, + "url": "https://fal.ai/reve-2.1", + "source_url": "https://fal.ai/reve-2.1", + "qualifications": [ + { + "source_url": "https://fal.ai/reve-2.1", + "notes": "The provider landing page advertises generation, single-image edit and multi-reference remix. The exact endpoint schema could not be retrieved from the published endpoint documentation. Detailed parameter names, result envelope and limits are not inferred; regular per-image pricing is sourced independently from the provider tutorial." } + ], + "endpoints": [ + { + "id": "reve/2.1/text-to-image", + "input": "text", + "source_url": "https://fal.ai/reve-2.1" + }, + { + "id": "reve/2.1/edit", + "input": "image", + "source_url": "https://fal.ai/reve-2.1" + }, + { + "id": "reve/2.1/remix", + "input": "multi_image", + "source_url": "https://fal.ai/reve-2.1" + } + ] + } + }, + "provider_coverage": { + "openrouter": { + "disposition": "not_listed", + "source_url": "https://openrouter.ai/api/v1/models", + "reason": "The published model discovery list does not contain this exact model." + }, + "vercel": { + "disposition": "not_listed", + "source_url": "https://ai-gateway.vercel.sh/v1/models", + "reason": "The published model discovery list does not contain this exact model." + }, + "fal": { + "disposition": "listed", + "source_url": "https://fal.ai/reve-2.1" + } + } + }, + "xai/grok-imagine-image-2.0": { + "reference_provider": "xai", + "id": "xai/grok-imagine-image-2.0", + "label": "Grok Imagine Image 2.0", + "short_description": "SpaceXAI's image model — fast 1K/2K generation with a low-cost quality tier.", + "vendor": "xai", + "speed_label": "fast", + "speed_max": "15s", + "constraints": { + "max_edge": 2048 + }, + "avg_cost_usd": 0.06, + "release": { + "date": "2026-08-07", + "basis": "model", + "source_url": "https://x.ai/news/grok-imagine-image-2" + }, + "providers": { + "vercel": { + "provider": "vercel", + "id": "spacexai/grok-imagine-image-2.0", + "avg_cost_usd": 0.06, + "pricing": { + "type": "per_image_tiered", + "tiers": { + "low/1024x1024": 0.04, + "medium/1024x1024": 0.06, + "low/2048x2048": 0.06, + "medium/2048x2048": 0.08 + } + } + }, + "openrouter": { + "provider": "openrouter", + "id": "x-ai/grok-imagine-image-2.0", + "avg_cost_usd": 0.06, + "url": "https://openrouter.ai/x-ai/grok-imagine-image-2.0", + "references": { + "id": "x-ai/grok-imagine-image-2.0", + "max": 3 + }, + "pricing": { + "type": "per_image_tiered", + "tiers": { + "low/1024x1024": 0.04, + "medium/1024x1024": 0.06, + "low/2048x2048": 0.06, + "medium/2048x2048": 0.08 + } + } + }, + "fal": { + "provider": "fal", + "id": "xai/grok-imagine-image/v2.0/text-to-image", + "avg_cost_usd": 0.06, + "url": "https://fal.ai/models/xai/grok-imagine-image/v2.0/text-to-image", + "pricing": { + "type": "per_image_tiered", + "tiers": { + "low/1024x1024": 0.04, + "medium/1024x1024": 0.06, + "low/2048x2048": 0.06, + "medium/2048x2048": 0.08 + } + }, + "endpoints": [ + { + "id": "xai/grok-imagine-image/v2.0/edit", + "input": "image", + "source_url": "https://fal.ai/models/xai/grok-imagine-image/v2.0/edit/api", + "parameters": { + "aspect_ratio": { + "type": "string", + "enum": [ + "auto", + "2:1", + "20:9", + "19.5:9", + "16:9", + "4:3", + "3:2", + "1:1", + "2:3", + "3:4", + "9:16", + "9:19.5", + "9:20", + "1:2" + ] + }, + "enable_safety_checker": { + "type": "boolean" + }, + "image_urls": { + "type": "array", + "max_items": 5 + }, + "num_images": { + "maximum": 4, + "minimum": 1, + "type": "integer" + }, + "output_format": { + "type": "string", + "enum": [ + "jpeg", + "png", + "webp" + ] + }, + "prompt": { + "max_length": 8000, + "type": "string" + }, + "quality": { + "type": "string", + "enum": [ + "low", + "medium" + ] + }, + "resolution": { + "type": "string", + "enum": [ + "1k", + "2k" + ] + } + } + }, + { + "id": "xai/grok-imagine-image/v2.0/text-to-image", + "input": "text", + "source_url": "https://fal.ai/models/xai/grok-imagine-image/v2.0/text-to-image/api", + "parameters": { + "aspect_ratio": { + "type": "string", + "enum": [ + "2:1", + "20:9", + "19.5:9", + "16:9", + "4:3", + "3:2", + "1:1", + "2:3", + "3:4", + "9:16", + "9:19.5", + "9:20", + "1:2" + ] + }, + "enable_safety_checker": { + "type": "boolean" + }, + "num_images": { + "maximum": 4, + "minimum": 1, + "type": "integer" + }, + "output_format": { + "type": "string", + "enum": [ + "jpeg", + "png", + "webp" + ] + }, + "prompt": { + "max_length": 8000, + "type": "string" + }, + "quality": { + "type": "string", + "enum": [ + "low", + "medium" + ] + }, + "resolution": { + "type": "string", + "enum": [ + "1k", + "2k" + ] + } + } + } + ] + }, + "xai": { + "provider": "xai", + "id": "grok-imagine-image-2.0", + "source_url": "https://docs.x.ai/developers/models/grok-imagine-image-2.0", + "url": "https://docs.x.ai/developers/models/grok-imagine-image-2.0", + "pricing": { + "type": "per_image_tiered", + "tiers": { + "low/1k": 0.04, + "low/1.5k": 0.05, + "low/2k": 0.06, + "medium/1k": 0.06, + "medium/1.5k": 0.07, + "medium/2k": 0.08 + }, + "input_image_usd": 0.01, + "source_url": "https://docs.x.ai/developers/models/grok-imagine-image-2.0" + } + }, + "grida": { + "provider": "grida", + "id": "xai/grok-imagine-image-2.0", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "image.xai.grok-imagine-image-2.0.references", + "operation": "image.xai.grok-imagine-image-2.0.references", + "input": "multi_image", + "source_url": "https://gateway.grida.ai/schemas/operations.json", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.xai.grok-imagine-image-2.0.references.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_4", + "interface": "images.edits", + "published_pricing": { + "source_url": "https://gateway.grida.ai/v1/models", + "currency": "USD", + "components": [ + { + "id": "fal_output_units", + "meter": "fal_output_units", + "unit": "provider_unit", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.01" + } + ] + } + }, + { + "id": "image.xai.grok-imagine-image-2.0.text", + "operation": "image.xai.grok-imagine-image-2.0.text", + "input": "text", + "source_url": "https://gateway.grida.ai/schemas/operations.json", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.xai.grok-imagine-image-2.0.text.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_4", + "interface": "images.generations", + "published_pricing": { + "source_url": "https://gateway.grida.ai/v1/models", + "currency": "USD", + "components": [ + { + "id": "fal_output_units", + "meter": "fal_output_units", + "unit": "provider_unit", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.01" + } + ] + } + } + ] + } + }, + "pricing": { + "type": "per_image_tiered", + "tiers": { + "low/1024x1024": 0.04, + "medium/1024x1024": 0.06, + "low/2048x2048": 0.06, + "medium/2048x2048": 0.08 + } + }, + "provider_coverage": { + "openrouter": { + "disposition": "listed", + "source_url": "https://openrouter.ai/x-ai/grok-imagine-image-2.0" + }, + "vercel": { + "disposition": "listed", + "source_url": "https://ai-gateway.vercel.sh/v1/models" + }, + "fal": { + "disposition": "listed", + "source_url": "https://fal.ai/models/xai/grok-imagine-image/v2.0/text-to-image" + }, + "xai": { + "disposition": "listed", + "source_url": "https://docs.x.ai/developers/models/grok-imagine-image-2.0" + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" + } + }, + "styles": null, + "sizes": null + } + }, + "video.models": { + "alibaba/wan-3.0": { + "reference_provider": "alibaba", + "id": "alibaba/wan-3.0", + "label": "Wan 3.0", + "short_description": "Alibaba's flagship video model — long clips (up to 30s) with bundled audio at the lowest per-second rates in the catalogue.", + "vendor": "alibaba", + "aspect_ratios": [ + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ], + "min_duration": 2, + "max_duration": 30, + "audio": true, + "speed_label": "medium", + "url": "https://wan.video/", + "release": { + "date": "2026-08-06", + "basis": "model", + "source_url": "https://www.alibabacloud.com/help/en/model-studio/newly-released-models" + }, + "providers": { + "vercel": { + "provider": "vercel", + "id": "alibaba/wan-v3.0-video", + "input": "text-or-image", + "avg_cost_usd": 1, + "url": "https://vercel.com/ai-gateway/models/wan-v3.0-video", + "pricing": { + "type": "per_second", + "usd_per_second": { + "480p": { + "audio": 0.05 + }, + "720p": { + "audio": 0.1 + }, + "1080p": { + "audio": 0.2 + } + } + } + }, + "fal": { + "provider": "fal", + "id": "alibaba/wan-3.0/image-to-video", + "input": "image", + "avg_cost_usd": 1, + "url": "https://fal.ai/models/alibaba/wan-3.0/image-to-video", + "pricing": { + "type": "per_second", + "usd_per_second": { + "480p": { + "audio": 0.05 + }, + "720p": { + "audio": 0.1 + }, + "1080p": { + "audio": 0.2 + } + } + }, + "endpoints": [ + { + "id": "alibaba/wan-3.0/image-to-video", + "input": "image", + "source_url": "https://fal.ai/models/alibaba/wan-3.0/image-to-video/api", + "parameters": { + "aspect_ratio": { + "enum": [ + "adaptive", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ], + "type": "string" + }, + "audio": { + "type": "boolean" + }, + "duration": { + "maximum": 30, + "minimum": 2, + "type": "integer" + }, + "enable_prompt_expansion": { + "type": "boolean" + }, + "enable_safety_checker": { + "type": "boolean" + }, + "enable_thinking": { + "type": "boolean" + }, + "prompt": { + "max_length": 20000, + "type": "string" + }, + "resolution": { + "enum": [ + "480p", + "720p", + "1080p" + ], + "type": "string" + }, + "seed": { + "maximum": 2147483647, + "minimum": 0, + "type": "integer" + }, + "start_image_url": { + "type": "string" + } + } + }, + { + "id": "alibaba/wan-3.0/text-to-video", + "input": "text", + "source_url": "https://fal.ai/models/alibaba/wan-3.0/text-to-video/api", + "parameters": { + "aspect_ratio": { + "enum": [ + "adaptive", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ], + "type": "string" + }, + "audio": { + "type": "boolean" + }, + "duration": { + "maximum": 30, + "minimum": 2, + "type": "integer" + }, + "enable_prompt_expansion": { + "type": "boolean" + }, + "enable_safety_checker": { + "type": "boolean" + }, + "enable_thinking": { + "type": "boolean" + }, + "prompt": { + "max_length": 20000, + "min_length": 1, + "type": "string" + }, + "resolution": { + "enum": [ + "480p", + "720p", + "1080p" + ], + "type": "string" + }, + "seed": { + "maximum": 2147483647, + "minimum": 0, + "type": "integer" + } + } + } + ] + }, + "alibaba": { + "provider": "alibaba", + "id": "wan3.0-video", + "source_url": "https://www.alibabacloud.com/help/en/model-studio/wan3-0-video", + "url": "https://www.alibabacloud.com/help/en/model-studio/wan3-0-video", + "pricing": { + "type": "per_second", + "region": "Singapore", + "deployment_scope": "International", + "usd_per_second": { + "480p": 0.05, + "720p": 0.1, + "1080p": 0.2 + }, + "source_url": "https://www.alibabacloud.com/help/en/model-studio/wan3-0-video" + } + }, + "openrouter": { + "provider": "openrouter", + "id": "alibaba/wan-3.0", + "source_url": "https://openrouter.ai/api/v1/videos/models", + "url": "https://openrouter.ai/api/v1/videos/models", + "pricing": { + "type": "provider_skus", + "skus": { + "duration_seconds_480p": "0.05", + "duration_seconds_720p": "0.1", + "duration_seconds_1080p": "0.2" + }, + "source_unit_notes": "duration_seconds: USD/second; video_tokens: USD/token; cents_per: cents per named unit", + "source_url": "https://openrouter.ai/api/v1/videos/models" + }, + "endpoints": [ + { + "id": "alibaba/wan-3.0", + "source_url": "https://openrouter.ai/api/v1/videos/models", + "parameters": { + "resolution": { + "enum": [ + "480p", + "720p", + "1080p" + ] + }, + "duration": { + "type": "integer", + "enum": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + }, + "aspect_ratio": { + "type": "string", + "enum": [ + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ] + } + }, + "input": "text" + } + ] + }, + "grida": { + "provider": "grida", + "id": "alibaba/wan-3.0", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "video.alibaba.wan-3.0.image", + "operation": "video.alibaba.wan-3.0.image", + "input": "image", + "source_url": "https://gateway.grida.ai/schemas/operations.json", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.alibaba.wan-3.0.image.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", + "interface": "videos", + "published_pricing": { + "source_url": "https://gateway.grida.ai/v1/models", + "currency": "USD", + "components": [ + { + "id": "fal_output_units", + "meter": "fal_output_units", + "unit": "provider_unit", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.05" + } + ] + } + }, + { + "id": "video.alibaba.wan-3.0.text", + "operation": "video.alibaba.wan-3.0.text", + "input": "text", + "source_url": "https://gateway.grida.ai/schemas/operations.json", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.alibaba.wan-3.0.text.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", + "interface": "videos", + "published_pricing": { + "source_url": "https://gateway.grida.ai/v1/models", + "currency": "USD", + "components": [ + { + "id": "fal_output_units", + "meter": "fal_output_units", + "unit": "provider_unit", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.05" + } + ] + } + } + ] + } + }, + "provider_coverage": { + "openrouter": { + "disposition": "listed", + "source_url": "https://openrouter.ai/api/v1/videos/models" + }, + "vercel": { + "disposition": "listed", + "source_url": "https://vercel.com/ai-gateway/models/wan-v3.0-video" + }, + "fal": { + "disposition": "listed", + "source_url": "https://fal.ai/models/alibaba/wan-3.0/image-to-video" + }, + "alibaba": { + "disposition": "listed", + "source_url": "https://www.alibabacloud.com/help/en/model-studio/wan3-0-video" + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" + } + } + }, + "bfl/flux-3-video": { + "id": "bfl/flux-3-video", + "label": "FLUX 3 Video", + "vendor": "black-forest-labs", + "short_description": "Video generation from text or images with synchronized audio and clips up to 20 seconds.", + "url": "https://bfl.ai/models/flux-3-video", + "audio": true, + "reference_provider": "bfl", + "min_duration": 5, + "max_duration": 20, + "release": { + "date": "2026-08-04", + "basis": "model", + "source_url": "https://bfl.ai/blog/flux-3-video" + }, + "providers": { + "bfl": { + "provider": "bfl", + "id": "flux-3-video", + "input": "text-or-image", + "url": "https://docs.bfl.ai/flux_3/flux3_video", + "source_url": "https://api.bfl.ai/openapi.json", + "pricing": { + "type": "per_second_by_mode", + "usd_per_second": { + "t2v": { + "hd": 0.17, + "fhd": 0.29, + "qhd": 0.4, + "uhd": 0.8 + }, + "i2v": { + "hd": 0.17, + "fhd": 0.29, + "qhd": 0.4, + "uhd": 0.8 + }, + "v2v": { + "hd": 0.41, + "fhd": 0.53, + "qhd": 0.65, + "uhd": 0.95 + } + }, + "source_url": "https://docs.bfl.ai/quick_start/pricing" + }, + "endpoints": [ + { + "id": "flux-3-video", + "input": "text", + "source_url": "https://api.bfl.ai/openapi.json", + "parameters": { + "mode": { + "type": "string", + "enum": [ + "t2v", + "i2v", + "v2v", + "draft_enhance" + ] + }, + "duration": { + "enum": [ + "auto", + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + }, + "aspect_ratio": { + "type": "string", + "enum": [ + "auto", + "21:9", + "2:1", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16", + "9:21" + ] + }, + "resolution": { + "type": "string", + "enum": [ + "hd", + "fhd", + "qhd", + "uhd" + ] + } + } + } + ] + }, + "fal": { + "provider": "fal", + "id": "blackforestlabs/flux-3/text-to-video", + "input": "text-or-image", + "url": "https://fal.ai/models/blackforestlabs/flux-3/text-to-video", + "source_url": "https://fal.ai/models/blackforestlabs/flux-3/text-to-video", + "pricing": { + "type": "per_second", + "usd_per_second": { + "720p": { + "audio": 0.17 + }, + "1080p": { + "audio": 0.29 + } + }, + "source_url": "https://fal.ai/models/blackforestlabs/flux-3/text-to-video" + }, + "endpoints": [ + { + "id": "blackforestlabs/flux-3/text-to-video", + "input": "text", + "source_url": "https://fal.ai/models/blackforestlabs/flux-3/text-to-video/api", + "parameters": { + "duration": { + "enum": [ + "auto", + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + }, + "resolution": { + "enum": [ + "720p", + "1080p" + ], + "type": "string" + }, + "prompt": { + "type": "string" + }, + "generate_audio": { + "type": "boolean" + }, + "safety_tolerance": { + "type": "integer", + "maximum": 4, + "minimum": 0 + }, + "aspect_ratio": { + "enum": [ + "auto", + "21:9", + "2:1", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ], + "type": "string" + } + } + }, + { + "id": "blackforestlabs/flux-3/image-to-video", + "input": "image", + "source_url": "https://fal.ai/models/blackforestlabs/flux-3/image-to-video/api", + "parameters": { + "duration": { + "enum": [ + "auto", + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + }, + "resolution": { + "enum": [ + "720p", + "1080p" + ], + "type": "string" + }, + "prompt": { + "type": "string" + }, + "generate_audio": { + "type": "boolean" + }, + "image_url": { + "type": "string" + }, + "safety_tolerance": { + "type": "integer", + "maximum": 4, + "minimum": 0 + }, + "aspect_ratio": { + "enum": [ + "auto", + "21:9", + "2:1", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ], + "type": "string" + } + } + } + ] + }, + "openrouter": { + "provider": "openrouter", + "id": "black-forest-labs/flux-3-video", + "input": "text-or-image", + "url": "https://openrouter.ai/api/v1/videos/models", + "source_url": "https://openrouter.ai/api/v1/videos/models", + "pricing": { + "type": "provider_skus", + "skus": { + "cents_per_second_output": "17", + "cents_per_second_output_2k": "28", + "cents_per_second_output_4k": "41", + "cents_per_second_output_720p": "17", + "cents_per_second_output_1080p": "29", + "cents_per_second_video_continuation_2k": "31", + "cents_per_second_video_continuation_4k": "45", + "cents_per_second_video_continuation_720p": "41", + "cents_per_second_video_continuation_1080p": "53" + }, + "source_unit_notes": "cents_per: cents per named output/continuation unit", + "source_url": "https://openrouter.ai/api/v1/videos/models" + }, + "endpoints": [ + { + "id": "black-forest-labs/flux-3-video", + "input": "text", + "source_url": "https://openrouter.ai/api/v1/videos/models", + "parameters": { + "duration": { + "type": "integer", + "enum": [ + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + }, + "resolution": { + "type": "string", + "enum": [ + "720p", + "1080p", + "2K", + "4K" + ] + }, + "aspect_ratio": { + "type": "string", + "enum": [ + "21:9", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ] + } + } + } + ] + }, + "vercel": { + "provider": "vercel", + "id": "bfl/flux-3-video", + "input": "text-or-image", + "source_url": "https://ai-gateway.vercel.sh/v1/models", + "url": "https://ai-gateway.vercel.sh/v1/models", + "endpoints": [ + { + "id": "bfl/flux-3-video", + "input": "text", + "source_url": "https://ai-gateway.vercel.sh/v1/models", + "parameters": { + "duration": { + "enum": [ + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + }, + "resolution": { + "enum": [ + "hd", + "fhd" + ] + }, + "aspect_ratio": { + "enum": [ + "21:9", + "2:1", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ] + } + } + } + ], + "qualifications": [ + { + "source_url": "https://ai-gateway.vercel.sh/v1/models", + "notes": "The model is listed, but its pricing object is empty. No regular price or billing unit is inferred." + } + ] + } + }, + "provider_coverage": { + "bfl": { + "disposition": "listed", + "source_url": "https://api.bfl.ai/openapi.json" + }, + "fal": { + "disposition": "listed", + "source_url": "https://fal.ai/models/blackforestlabs/flux-3/text-to-video" + }, + "openrouter": { + "disposition": "listed", + "source_url": "https://openrouter.ai/api/v1/videos/models" + }, + "vercel": { + "disposition": "listed", + "source_url": "https://ai-gateway.vercel.sh/v1/models" + } + } + }, + "bytedance/seedance-2.0": { + "reference_provider": "byteplus", + "id": "bytedance/seedance-2.0", + "label": "Seedance 2.0", + "short_description": "ByteDance's video model — image-to-video with reference modes, up to 4K, at roughly two-thirds the price of Seedance 2.5.", + "vendor": "bytedance", + "aspect_ratios": [ + "21:9", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ], + "min_duration": 4, + "max_duration": 15, + "audio": true, + "speed_label": "slow", + "url": "https://seed.bytedance.com/en/seedance2_0", + "release": { + "date": "2026-02-12", + "basis": "model", + "source_url": "https://seed.bytedance.com/en/blog/seedance-2-0-%E6%AD%A3%E5%BC%8F%E5%8F%91%E5%B8%83" + }, + "providers": { + "fal": { + "provider": "fal", + "id": "bytedance/seedance-2.0/image-to-video", + "input": "image", + "avg_cost_usd": 1.52, + "url": "https://fal.ai/models/bytedance/seedance-2.0/image-to-video", + "pricing": { + "type": "per_second", + "usd_per_second": { + "720p": { + "audio": 0.3034 + }, + "1080p": { + "audio": 0.682 + } + } + }, + "endpoints": [ + { + "id": "bytedance/seedance-2.0/image-to-video", + "input": "image", + "source_url": "https://fal.ai/models/bytedance/seedance-2.0/image-to-video/api", + "parameters": { + "aspect_ratio": { + "type": "string", + "enum": [ + "auto", + "21:9", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ] + }, + "bitrate_mode": { + "enum": [ + "standard", + "high" + ], + "type": "string" + }, + "codec": { + "enum": [ + "auto", + "H264", + "H265" + ], + "type": "string" + }, + "duration": { + "enum": [ + "auto", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15" + ], + "type": "string" + }, + "generate_audio": { + "type": "boolean" + }, + "image_url": { + "type": "string" + }, + "prompt": { + "type": "string" + }, + "resolution": { + "enum": [ + "480p", + "720p", + "1080p", + "4k" + ], + "type": "string" + } + } + }, + { + "id": "bytedance/seedance-2.0/text-to-video", + "input": "text", + "source_url": "https://fal.ai/models/bytedance/seedance-2.0/text-to-video/api", + "parameters": { + "aspect_ratio": { + "type": "string", + "enum": [ + "auto", + "21:9", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ] + }, + "bitrate_mode": { + "enum": [ + "standard", + "high" + ], + "type": "string" + }, + "codec": { + "enum": [ + "auto", + "H264", + "H265" + ], + "type": "string" + }, + "duration": { + "enum": [ + "auto", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15" + ], + "type": "string" + }, + "generate_audio": { + "type": "boolean" + }, + "prompt": { + "type": "string" + }, + "resolution": { + "enum": [ + "480p", + "720p", + "1080p", + "4k" + ], + "type": "string" + } + } + } + ] + }, + "vercel": { + "provider": "vercel", + "id": "bytedance/seedance-2.0", + "source_url": "https://vercel.com/ai-gateway/models/seedance-2.0", + "url": "https://vercel.com/ai-gateway/models/seedance-2.0", + "pricing": { + "type": "video_token_tiers", + "tiers": [ + { + "resolution": "480p", + "no_video_input": { + "cost_per_million_tokens": "7" + }, + "with_video_input": { + "cost_per_million_tokens": "4.3" + } + }, + { + "resolution": "720p", + "no_video_input": { + "cost_per_million_tokens": "7" + }, + "with_video_input": { + "cost_per_million_tokens": "4.3" + } + }, + { + "resolution": "1080p", + "no_video_input": { + "cost_per_million_tokens": "7.7" + }, + "with_video_input": { + "cost_per_million_tokens": "4.7" + } + }, + { + "resolution": "4k", + "no_video_input": { + "cost_per_million_tokens": "4" + }, + "with_video_input": { + "cost_per_million_tokens": "2.4" + } + } + ], + "notes": "Pricing varies based on whether the input contains video. When video is included in the input, all tokens are billed at the reduced rate. Token count includes both input and output video and is subject to minimum token floors based on output duration.", + "source_url": "https://vercel.com/ai-gateway/models/seedance-2.0" + }, + "input": "text-or-image" + }, + "byteplus": { + "provider": "byteplus", + "id": "dreamina-seedance-2-0-260128", + "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", + "url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", + "pricing": { + "type": "video_token_tiers", + "usd_per_million_tokens": { + "480p": { + "without_video_input": 7, + "with_video_input": 4.3 + }, + "720p": { + "without_video_input": 7, + "with_video_input": 4.3 + }, + "1080p": { + "without_video_input": 7.7, + "with_video_input": 4.7 + }, + "4k": { + "without_video_input": 4, + "with_video_input": 2.4 + } + }, + "billing_quantity": "usage.completion_tokens", + "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" } }, "openrouter": { "provider": "openrouter", - "id": "x-ai/grok-imagine-image-2.0", - "avg_cost_usd": 0.06, - "url": "https://openrouter.ai/x-ai/grok-imagine-image-2.0", - "references": { - "id": "x-ai/grok-imagine-image-2.0", - "max": 3 - }, - "pricing": { - "type": "per_image_tiered", - "tiers": { - "low/1024x1024": 0.04, - "medium/1024x1024": 0.06, - "low/2048x2048": 0.06, - "medium/2048x2048": 0.08 - } - } - }, - "fal": { - "provider": "fal", - "id": "xai/grok-imagine-image/v2.0/text-to-image", - "avg_cost_usd": 0.06, - "url": "https://fal.ai/models/xai/grok-imagine-image/v2.0/text-to-image", + "id": "bytedance/seedance-2.0", + "source_url": "https://openrouter.ai/api/v1/videos/models", + "url": "https://openrouter.ai/api/v1/videos/models", "pricing": { - "type": "per_image_tiered", - "tiers": { - "low/1024x1024": 0.04, - "medium/1024x1024": 0.06, - "low/2048x2048": 0.06, - "medium/2048x2048": 0.08 - } + "type": "provider_skus", + "skus": { + "video_tokens": "0.000007", + "video_tokens_4k": "0.000004", + "video_tokens_1080p": "0.0000077", + "video_tokens_without_audio": "0.000007", + "video_tokens_with_video_input": "0.0000043", + "video_tokens_4k_with_video_input": "0.0000024", + "video_tokens_1080p_with_video_input": "0.0000047" + }, + "source_unit_notes": "duration_seconds: USD/second; video_tokens: USD/token; cents_per: cents per named unit", + "source_url": "https://openrouter.ai/api/v1/videos/models" }, "endpoints": [ { - "id": "xai/grok-imagine-image/v2.0/edit", - "input": "image", - "source_url": "https://fal.ai/models/xai/grok-imagine-image/v2.0/edit/api", + "id": "bytedance/seedance-2.0", + "source_url": "https://openrouter.ai/api/v1/videos/models", "parameters": { - "aspect_ratio": { - "type": "string", - "enum": [ - "auto", - "2:1", - "20:9", - "19.5:9", - "16:9", - "4:3", - "3:2", - "1:1", - "2:3", - "3:4", - "9:16", - "9:19.5", - "9:20", - "1:2" - ] - }, - "enable_safety_checker": { - "type": "boolean" - }, - "image_urls": { - "type": "array", - "max_items": 5 - }, - "num_images": { - "maximum": 4, - "minimum": 1, - "type": "integer" - }, - "output_format": { - "type": "string", + "resolution": { "enum": [ - "jpeg", - "png", - "webp" + "480p", + "720p", + "1080p", + "4K" ] }, - "prompt": { - "max_length": 8000, - "type": "string" - }, - "quality": { - "type": "string", + "duration": { + "type": "integer", "enum": [ - "low", - "medium" + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 ] }, - "resolution": { - "type": "string", - "enum": [ - "1k", - "2k" - ] - } - } - }, - { - "id": "xai/grok-imagine-image/v2.0/text-to-image", - "input": "text", - "source_url": "https://fal.ai/models/xai/grok-imagine-image/v2.0/text-to-image/api", - "parameters": { "aspect_ratio": { "type": "string", "enum": [ - "2:1", - "20:9", - "19.5:9", - "16:9", - "4:3", - "3:2", "1:1", - "2:3", "3:4", "9:16", - "9:19.5", - "9:20", - "1:2" - ] - }, - "enable_safety_checker": { - "type": "boolean" - }, - "num_images": { - "maximum": 4, - "minimum": 1, - "type": "integer" - }, - "output_format": { - "type": "string", - "enum": [ - "jpeg", - "png", - "webp" - ] - }, - "prompt": { - "max_length": 8000, - "type": "string" - }, - "quality": { - "type": "string", - "enum": [ - "low", - "medium" - ] - }, - "resolution": { - "type": "string", - "enum": [ - "1k", - "2k" + "4:3", + "16:9", + "21:9", + "9:21" ] } - } + }, + "input": "text" } ] }, - "xai": { - "provider": "xai", - "id": "grok-imagine-image-2.0", - "source_url": "https://docs.x.ai/developers/models/grok-imagine-image-2.0", - "url": "https://docs.x.ai/developers/models/grok-imagine-image-2.0", - "pricing": { - "type": "per_image_tiered", - "tiers": { - "low/1k": 0.04, - "low/1.5k": 0.05, - "low/2k": 0.06, - "medium/1k": 0.06, - "medium/1.5k": 0.07, - "medium/2k": 0.08 - }, - "input_image_usd": 0.01, - "source_url": "https://docs.x.ai/developers/models/grok-imagine-image-2.0" - } - }, "grida": { "provider": "grida", - "id": "xai/grok-imagine-image-2.0", + "id": "bytedance/seedance-2.0", "url": "https://gateway.grida.ai/v1/models", "endpoints": [ { - "id": "image.xai.grok-imagine-image-2.0.references", - "operation": "image.xai.grok-imagine-image-2.0.references", - "input": "multi_image", + "id": "video.bytedance.seedance-2.0.image", + "operation": "video.bytedance.seedance-2.0.image", + "input": "image", "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.xai.grok-imagine-image-2.0.references.input", - "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_4", - "interface": "images.edits", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.bytedance.seedance-2.0.image.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", + "interface": "videos", "published_pricing": { "source_url": "https://gateway.grida.ai/v1/models", "currency": "USD", @@ -12113,19 +14167,19 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.01" + "usd_per_unit": "0.014" } ] } }, { - "id": "image.xai.grok-imagine-image-2.0.text", - "operation": "image.xai.grok-imagine-image-2.0.text", + "id": "video.bytedance.seedance-2.0.text", + "operation": "video.bytedance.seedance-2.0.text", "input": "text", "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.xai.grok-imagine-image-2.0.text.input", - "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_4", - "interface": "images.generations", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.bytedance.seedance-2.0.text.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", + "interface": "videos", "published_pricing": { "source_url": "https://gateway.grida.ai/v1/models", "currency": "USD", @@ -12139,275 +14193,380 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.01" - } - ] - } - } - ] - } - }, - "pricing": { - "type": "per_image_tiered", - "tiers": { - "low/1024x1024": 0.04, - "medium/1024x1024": 0.06, - "low/2048x2048": 0.06, - "medium/2048x2048": 0.08 + "usd_per_unit": "0.014" + } + ] + } + } + ] } }, "provider_coverage": { "openrouter": { "disposition": "listed", - "source_url": "https://openrouter.ai/x-ai/grok-imagine-image-2.0" + "source_url": "https://openrouter.ai/api/v1/videos/models" }, "vercel": { "disposition": "listed", - "source_url": "https://ai-gateway.vercel.sh/v1/models" + "source_url": "https://vercel.com/ai-gateway/models/seedance-2.0" }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/xai/grok-imagine-image/v2.0/text-to-image" + "source_url": "https://fal.ai/models/bytedance/seedance-2.0/image-to-video" }, - "xai": { + "byteplus": { "disposition": "listed", - "source_url": "https://docs.x.ai/developers/models/grok-imagine-image-2.0" + "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" }, "grida": { "disposition": "listed", "source_url": "https://gateway.grida.ai/v1/models" } - }, - "styles": null, - "sizes": null - } - }, - "video.models": { - "alibaba/wan-3.0": { - "reference_provider": "alibaba", - "id": "alibaba/wan-3.0", - "label": "Wan 3.0", - "short_description": "Alibaba's flagship video model — long clips (up to 30s) with bundled audio at the lowest per-second rates in the catalogue.", - "vendor": "alibaba", + } + }, + "bytedance/seedance-2.5": { + "reference_provider": "byteplus", + "id": "bytedance/seedance-2.5", + "label": "Seedance 2.5", + "short_description": "ByteDance's latest video model — up to 30-second clips with native audio, reference and editing modes.", + "vendor": "bytedance", "aspect_ratios": [ "16:9", "4:3", "1:1", "3:4", - "9:16" + "9:16", + "21:9" ], - "min_duration": 2, + "min_duration": 4, "max_duration": 30, "audio": true, - "speed_label": "medium", - "url": "https://wan.video/", + "speed_label": "slow", + "url": "https://seed.bytedance.com/en/seedance", "release": { - "date": "2026-08-06", + "date": "2026-07-31", "basis": "model", - "source_url": "https://www.alibabacloud.com/help/en/model-studio/newly-released-models" + "source_url": "https://seed.bytedance.com/en/blog/one-take-creation-flexible-referencing-introducing-seedance-2-5" }, "providers": { - "vercel": { - "provider": "vercel", - "id": "alibaba/wan-v3.0-video", - "input": "text-or-image", - "avg_cost_usd": 1, - "url": "https://vercel.com/ai-gateway/models/wan-v3.0-video", - "pricing": { - "type": "per_second", - "usd_per_second": { - "480p": { - "audio": 0.05 - }, - "720p": { - "audio": 0.1 - }, - "1080p": { - "audio": 0.2 - } - } - } - }, "fal": { "provider": "fal", - "id": "alibaba/wan-3.0/image-to-video", + "id": "bytedance/seedance-2.5/image-to-video", "input": "image", - "avg_cost_usd": 1, - "url": "https://fal.ai/models/alibaba/wan-3.0/image-to-video", + "avg_cost_usd": 2.37, + "url": "https://fal.ai/models/bytedance/seedance-2.5/image-to-video", + "qualifications": [ + { + "source_url": "https://fal.ai/models/bytedance/seedance-2.5/text-to-video", + "notes": "The detailed text-to-video documentation requires end_user_id for B2B access. Its OpenAPI schema describes the same field as optional and nullable; that schema alone does not waive the documented B2B requirement." + } + ], "pricing": { "type": "per_second", "usd_per_second": { "480p": { - "audio": 0.05 + "audio": 0.2205 }, "720p": { - "audio": 0.1 + "audio": 0.473 }, "1080p": { - "audio": 0.2 + "audio": 1.164 } } }, "endpoints": [ { - "id": "alibaba/wan-3.0/image-to-video", + "id": "bytedance/seedance-2.5/image-to-video", "input": "image", - "source_url": "https://fal.ai/models/alibaba/wan-3.0/image-to-video/api", + "source_url": "https://fal.ai/models/bytedance/seedance-2.5/image-to-video/api", "parameters": { "aspect_ratio": { + "type": "string", "enum": [ - "adaptive", - "16:9", - "4:3", - "1:1", - "3:4", - "9:16" - ], - "type": "string" + "auto" + ] }, - "audio": { - "type": "boolean" + "bitrate_mode": { + "type": "string", + "enum": [ + "standard", + "high" + ] }, - "duration": { - "maximum": 30, - "minimum": 2, - "type": "integer" + "codec": { + "type": "string", + "enum": [ + "auto", + "H264", + "H265" + ] }, - "enable_prompt_expansion": { + "draft": { "type": "boolean" }, - "enable_safety_checker": { - "type": "boolean" + "duration": { + "type": "string", + "enum": [ + "auto", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30" + ] }, - "enable_thinking": { + "generate_audio": { "type": "boolean" }, + "image_url": { + "type": "string" + }, "prompt": { - "max_length": 20000, "type": "string" }, "resolution": { + "type": "string", "enum": [ "480p", "720p", "1080p" - ], - "type": "string" - }, - "seed": { - "maximum": 2147483647, - "minimum": 0, - "type": "integer" - }, - "start_image_url": { - "type": "string" + ] } } }, { - "id": "alibaba/wan-3.0/text-to-video", + "id": "bytedance/seedance-2.5/text-to-video", "input": "text", - "source_url": "https://fal.ai/models/alibaba/wan-3.0/text-to-video/api", + "source_url": "https://fal.ai/models/bytedance/seedance-2.5/text-to-video/api", "parameters": { - "aspect_ratio": { + "codec": { + "type": "string", "enum": [ - "adaptive", - "16:9", - "4:3", - "1:1", - "3:4", - "9:16" - ], - "type": "string" - }, - "audio": { - "type": "boolean" - }, - "duration": { - "maximum": 30, - "minimum": 2, - "type": "integer" + "auto", + "H264", + "H265" + ] }, - "enable_prompt_expansion": { - "type": "boolean" + "resolution": { + "type": "string", + "enum": [ + "480p", + "720p", + "1080p" + ] }, - "enable_safety_checker": { - "type": "boolean" + "prompt": { + "type": "string" }, - "enable_thinking": { + "generate_audio": { "type": "boolean" }, - "prompt": { - "max_length": 20000, - "min_length": 1, - "type": "string" + "bitrate_mode": { + "type": "string", + "enum": [ + "standard", + "high" + ] }, - "resolution": { + "duration": { + "type": "string", "enum": [ - "480p", - "720p", - "1080p" - ], + "auto", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30" + ] + }, + "end_user_id": { "type": "string" }, - "seed": { - "maximum": 2147483647, - "minimum": 0, - "type": "integer" + "draft": { + "type": "boolean" + }, + "aspect_ratio": { + "type": "string", + "enum": [ + "auto", + "21:9", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ] } + }, + "published_pricing": { + "source_url": "https://fal.ai/models/bytedance/seedance-2.5/text-to-video", + "currency": "USD", + "components": [ + { + "id": "output_tokens_480p_720p", + "meter": "output_tokens", + "unit": "token", + "per_quantity": "1000", + "usd_per_unit": "0.0214", + "when": { + "properties": { + "resolution": { + "enum": [ + "480p", + "720p" + ] + } + }, + "required": [ + "resolution" + ] + } + } + ] } } ] }, - "alibaba": { - "provider": "alibaba", - "id": "wan3.0-video", - "source_url": "https://www.alibabacloud.com/help/en/model-studio/wan3-0-video", - "url": "https://www.alibabacloud.com/help/en/model-studio/wan3-0-video", + "vercel": { + "provider": "vercel", + "id": "bytedance/seedance-2.5", + "source_url": "https://vercel.com/ai-gateway/models/seedance-2.5", + "url": "https://vercel.com/ai-gateway/models/seedance-2.5", "pricing": { - "type": "per_second", - "region": "Singapore", - "deployment_scope": "International", - "usd_per_second": { - "480p": 0.05, - "720p": 0.1, - "1080p": 0.2 + "type": "video_token_tiers", + "tiers": [ + { + "resolution": "480p", + "no_video_input": { + "cost_per_million_tokens": "10.7" + }, + "with_video_input": { + "cost_per_million_tokens": "6.4" + } + }, + { + "resolution": "720p", + "no_video_input": { + "cost_per_million_tokens": "10.7" + }, + "with_video_input": { + "cost_per_million_tokens": "6.4" + } + }, + { + "resolution": "1080p", + "no_video_input": { + "cost_per_million_tokens": "11.7" + }, + "with_video_input": { + "cost_per_million_tokens": "7" + } + } + ], + "notes": "Pricing varies based on whether the input contains video. When video is included in the input, all tokens are billed at the reduced rate. Token count includes both input and output video and is subject to minimum token floors based on output duration.", + "source_url": "https://vercel.com/ai-gateway/models/seedance-2.5" + }, + "input": "text-or-image" + }, + "byteplus": { + "provider": "byteplus", + "id": "dreamina-seedance-2-5-260628", + "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", + "url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", + "pricing": { + "type": "video_token_tiers", + "usd_per_million_tokens": { + "480p": { + "without_video_input": 10.7, + "with_video_input": 6.4 + }, + "720p": { + "without_video_input": 10.7, + "with_video_input": 6.4 + }, + "1080p": { + "without_video_input": 11.7, + "with_video_input": 7 + } }, - "source_url": "https://www.alibabacloud.com/help/en/model-studio/wan3-0-video" + "billing_quantity": "usage.completion_tokens", + "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" } }, "openrouter": { "provider": "openrouter", - "id": "alibaba/wan-3.0", + "id": "bytedance/seedance-2.5", "source_url": "https://openrouter.ai/api/v1/videos/models", "url": "https://openrouter.ai/api/v1/videos/models", "pricing": { "type": "provider_skus", "skus": { - "duration_seconds_480p": "0.05", - "duration_seconds_720p": "0.1", - "duration_seconds_1080p": "0.2" + "video_tokens": "0.0000107", + "video_tokens_without_audio": "0.0000107", + "video_tokens_with_video_input": "0.0000064" }, "source_unit_notes": "duration_seconds: USD/second; video_tokens: USD/token; cents_per: cents per named unit", "source_url": "https://openrouter.ai/api/v1/videos/models" }, "endpoints": [ { - "id": "alibaba/wan-3.0", + "id": "bytedance/seedance-2.5", "source_url": "https://openrouter.ai/api/v1/videos/models", "parameters": { "resolution": { "enum": [ "480p", - "720p", - "1080p" + "720p" ] }, "duration": { "type": "integer", "enum": [ - 2, - 3, 4, 5, 6, @@ -12444,7 +14603,8 @@ "4:3", "1:1", "3:4", - "9:16" + "9:16", + "21:9" ] } }, @@ -12454,41 +14614,15 @@ }, "grida": { "provider": "grida", - "id": "alibaba/wan-3.0", + "id": "bytedance/seedance-2.5", "url": "https://gateway.grida.ai/v1/models", "endpoints": [ { - "id": "video.alibaba.wan-3.0.image", - "operation": "video.alibaba.wan-3.0.image", + "id": "video.bytedance.seedance-2.5.image", + "operation": "video.bytedance.seedance-2.5.image", "input": "image", "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.alibaba.wan-3.0.image.input", - "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", - "interface": "videos", - "published_pricing": { - "source_url": "https://gateway.grida.ai/v1/models", - "currency": "USD", - "components": [ - { - "id": "fal_output_units", - "meter": "fal_output_units", - "unit": "provider_unit", - "per_quantity": "1", - "when": {}, - "quantity_rounding": { - "mode": "none" - }, - "usd_per_unit": "0.05" - } - ] - } - }, - { - "id": "video.alibaba.wan-3.0.text", - "operation": "video.alibaba.wan-3.0.text", - "input": "text", - "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.alibaba.wan-3.0.text.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.bytedance.seedance-2.5.image.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", "interface": "videos", "published_pricing": { @@ -12504,7 +14638,7 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.05" + "usd_per_unit": "0.0214" } ] } @@ -12519,15 +14653,15 @@ }, "vercel": { "disposition": "listed", - "source_url": "https://vercel.com/ai-gateway/models/wan-v3.0-video" + "source_url": "https://vercel.com/ai-gateway/models/seedance-2.5" }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/alibaba/wan-3.0/image-to-video" + "source_url": "https://fal.ai/models/bytedance/seedance-2.5/image-to-video" }, - "alibaba": { + "byteplus": { "disposition": "listed", - "source_url": "https://www.alibabacloud.com/help/en/model-studio/wan3-0-video" + "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" }, "grida": { "disposition": "listed", @@ -12535,128 +14669,81 @@ } } }, - "bytedance/seedance-2.0": { - "reference_provider": "byteplus", - "id": "bytedance/seedance-2.0", - "label": "Seedance 2.0", - "short_description": "ByteDance's video model — image-to-video with reference modes, up to 4K, at roughly two-thirds the price of Seedance 2.5.", - "vendor": "bytedance", - "aspect_ratios": [ - "21:9", - "16:9", - "4:3", - "1:1", - "3:4", - "9:16" - ], - "min_duration": 4, - "max_duration": 15, + "fal/h3-max": { + "id": "fal/h3-max", + "label": "H3 Max", + "vendor": "fal", + "short_description": "fal-developed post-trained MiniMax H3 variant with faster video generation and native audio.", + "url": "https://blog.fal.ai/introducing-h3-max-by-fal/", "audio": true, - "speed_label": "slow", - "url": "https://seed.bytedance.com/en/seedance2_0", + "reference_provider": "fal", + "max_duration": 15, "release": { - "date": "2026-02-12", + "date": "2026-08-27", "basis": "model", - "source_url": "https://seed.bytedance.com/en/blog/seedance-2-0-%E6%AD%A3%E5%BC%8F%E5%8F%91%E5%B8%83" + "source_url": "https://blog.fal.ai/introducing-h3-max-by-fal/" }, "providers": { "fal": { "provider": "fal", - "id": "bytedance/seedance-2.0/image-to-video", - "input": "image", - "avg_cost_usd": 1.52, - "url": "https://fal.ai/models/bytedance/seedance-2.0/image-to-video", + "id": "minimax/h3-max/text-to-video", + "input": "text-or-image", + "url": "https://fal.ai/models/minimax/h3-max/text-to-video", + "source_url": "https://fal.ai/models/minimax/h3-max/text-to-video", "pricing": { "type": "per_second", "usd_per_second": { - "720p": { - "audio": 0.3034 + "480P": { + "audio": 0.05 }, - "1080p": { - "audio": 0.682 + "768P": { + "audio": 0.08 + }, + "1080P": { + "audio": 0.16 } - } + }, + "source_url": "https://fal.ai/models/minimax/h3-max/text-to-video" }, "endpoints": [ { - "id": "bytedance/seedance-2.0/image-to-video", - "input": "image", - "source_url": "https://fal.ai/models/bytedance/seedance-2.0/image-to-video/api", + "id": "minimax/h3-max/text-to-video", + "input": "text", + "source_url": "https://fal.ai/models/minimax/h3-max/text-to-video/api", "parameters": { - "aspect_ratio": { + "resolution": { "type": "string", "enum": [ - "auto", - "21:9", - "16:9", - "4:3", - "1:1", - "3:4", - "9:16" + "480P", + "768P", + "1080P" ] }, - "bitrate_mode": { - "enum": [ - "standard", - "high" - ], - "type": "string" - }, - "codec": { - "enum": [ - "auto", - "H264", - "H265" - ], - "type": "string" - }, "duration": { - "enum": [ - "auto", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15" - ], + "minimum": 0.92, + "type": "number", + "maximum": 15 + }, + "prompt_expansion_mode": { "type": "string" }, - "generate_audio": { + "enable_safety_checker": { "type": "boolean" }, - "image_url": { - "type": "string" + "seed": { + "type": "integer" + }, + "sync_mode": { + "type": "boolean" }, "prompt": { + "max_length": 50000, + "min_length": 1, "type": "string" }, - "resolution": { - "enum": [ - "480p", - "720p", - "1080p", - "4k" - ], - "type": "string" - } - } - }, - { - "id": "bytedance/seedance-2.0/text-to-video", - "input": "text", - "source_url": "https://fal.ai/models/bytedance/seedance-2.0/text-to-video/api", - "parameters": { "aspect_ratio": { "type": "string", "enum": [ - "auto", "21:9", "16:9", "4:3", @@ -12665,393 +14752,502 @@ "9:16" ] }, - "bitrate_mode": { - "enum": [ - "standard", - "high" - ], + "target_audio_url": { + "min_length": 1, + "type": "string" + } + } + }, + { + "id": "minimax/h3-max/image-to-video", + "input": "image", + "source_url": "https://fal.ai/models/minimax/h3-max/image-to-video/api", + "parameters": { + "end_image_url": { "type": "string" }, - "codec": { + "resolution": { + "type": "string", "enum": [ - "auto", - "H264", - "H265" - ], - "type": "string" + "480P", + "768P", + "1080P" + ] }, "duration": { - "enum": [ - "auto", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15" - ], + "minimum": 0.92, + "type": "number", + "maximum": 15 + }, + "prompt_expansion_mode": { "type": "string" }, - "generate_audio": { + "enable_safety_checker": { + "type": "boolean" + }, + "seed": { + "type": "integer" + }, + "image_url": { + "type": "string" + }, + "sync_mode": { "type": "boolean" }, "prompt": { + "max_length": 50000, + "min_length": 1, + "type": "string" + }, + "target_audio_url": { + "min_length": 1, "type": "string" + } + } + } + ], + "qualifications": [ + { + "source_url": "https://fal.ai/models/minimax/h3-max/text-to-video", + "notes": "Rates are the explicitly stated regular prices, independently of an active temporary discount." + }, + { + "source_url": "https://fal.ai/models/minimax/h3-max/text-to-video/api", + "notes": "The duration parameter spans 0.92–15 seconds; output may last about 0.7 seconds longer. This is not a precise billable-duration ceiling or rounding guarantee. Prompt-expansion mode examples are not a published enum." + } + ] + }, + "minimax": { + "provider": "minimax", + "id": "MiniMax-H3-Max", + "input": "text-or-image", + "url": "https://platform.minimax.io/docs/api-reference/video-generation-v2-create", + "source_url": "https://platform.minimax.io/docs/api-reference/video-generation-v2-create", + "endpoints": [ + { + "id": "MiniMax-H3-Max", + "input": "text", + "source_url": "https://platform.minimax.io/docs/api-reference/video-generation-v2-create", + "parameters": { + "duration": { + "type": "integer", + "minimum": 5, + "maximum": 15 }, "resolution": { + "type": "string", "enum": [ - "480p", - "720p", - "1080p", - "4k" - ], + "480P", + "768P" + ] + }, + "extra.prompt_expansion_mode": { "type": "string" } } } + ], + "pricing": { + "type": "per_second", + "usd_per_second": { + "480P": { + "audio": 0.05 + }, + "768P": { + "audio": 0.08 + } + }, + "source_url": "https://platform.minimax.io/docs/pricing/overview" + }, + "qualifications": [ + { + "source_url": "https://platform.minimax.io/docs/pricing/overview", + "notes": "Native reference input video is billed separately at USD 0.0553/s for 480P or USD 0.143/s for 768P. The first two reference images are included; additional reference images cost USD 0.074 each. These charges are distinct from text-only and first/last-frame output pricing." + } ] }, "vercel": { "provider": "vercel", - "id": "bytedance/seedance-2.0", - "source_url": "https://vercel.com/ai-gateway/models/seedance-2.0", - "url": "https://vercel.com/ai-gateway/models/seedance-2.0", - "pricing": { - "type": "video_token_tiers", - "tiers": [ - { - "resolution": "480p", - "no_video_input": { - "cost_per_million_tokens": "7" - }, - "with_video_input": { - "cost_per_million_tokens": "4.3" - } - }, - { - "resolution": "720p", - "no_video_input": { - "cost_per_million_tokens": "7" + "id": "minimax/minimax-h3-max", + "input": "text-or-image", + "source_url": "https://ai-gateway.vercel.sh/v1/models", + "url": "https://ai-gateway.vercel.sh/v1/models", + "endpoints": [ + { + "id": "minimax/minimax-h3-max", + "input": "text", + "source_url": "https://ai-gateway.vercel.sh/v1/models", + "parameters": { + "duration": { + "enum": [ + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ] }, - "with_video_input": { - "cost_per_million_tokens": "4.3" - } - }, - { - "resolution": "1080p", - "no_video_input": { - "cost_per_million_tokens": "7.7" + "resolution": { + "enum": [ + "480p", + "768p" + ] }, - "with_video_input": { - "cost_per_million_tokens": "4.7" + "aspect_ratio": { + "enum": [ + "21:9", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ] } + } + } + ], + "pricing": { + "type": "per_second", + "usd_per_second": { + "480p": { + "audio": 0.05 }, - { - "resolution": "4k", - "no_video_input": { - "cost_per_million_tokens": "4" - }, - "with_video_input": { - "cost_per_million_tokens": "2.4" - } + "768p": { + "audio": 0.08 } - ], - "notes": "Pricing varies based on whether the input contains video. When video is included in the input, all tokens are billed at the reduced rate. Token count includes both input and output video and is subject to minimum token floors based on output duration.", - "source_url": "https://vercel.com/ai-gateway/models/seedance-2.0" + }, + "source_url": "https://ai-gateway.vercel.sh/v1/models" + } + } + }, + "provider_coverage": { + "fal": { + "disposition": "listed", + "source_url": "https://fal.ai/models/minimax/h3-max/text-to-video" + }, + "minimax": { + "disposition": "listed", + "source_url": "https://platform.minimax.io/docs/api-reference/video-generation-v2-create" + }, + "vercel": { + "disposition": "listed", + "source_url": "https://ai-gateway.vercel.sh/v1/models" + }, + "openrouter": { + "disposition": "not_listed", + "source_url": "https://openrouter.ai/api/v1/videos/models", + "reason": "The exact variant is absent from the published video model discovery response. Other variants do not establish its availability." + } + } + }, + "google/gemini-omni-1.1-flash": { + "id": "google/gemini-omni-1.1-flash", + "label": "Gemini Omni 1.1 Flash", + "vendor": "google", + "short_description": "Production Gemini video generation with native audio and first/last-frame control.", + "url": "https://ai.google.dev/gemini-api/docs/models/gemini-omni-flash", + "audio": true, + "reference_provider": "google", + "min_duration": 3, + "max_duration": 10, + "release": { + "date": "2026-08-27", + "basis": "model", + "source_url": "https://blog.google/innovation-and-ai/technology/developers-tools/build-with-gemini-omni-1-1-flash/" + }, + "providers": { + "google": { + "provider": "google", + "id": "gemini-omni-1.1-flash", + "input": "text-or-image", + "url": "https://ai.google.dev/gemini-api/docs/models/gemini-omni-flash", + "source_url": "https://ai.google.dev/gemini-api/docs/pricing", + "pricing": { + "type": "per_token", + "input": 1.5, + "output_text": 9.0, + "output_video": 17.5, + "unit": "USD_per_million_tokens", + "source_url": "https://ai.google.dev/gemini-api/docs/pricing" }, - "input": "text-or-image" + "qualifications": [ + { + "source_url": "https://ai.google.dev/gemini-api/docs/pricing", + "notes": "Native standard video billing is token-based. Google documents 5792 output tokens per second at 720p, not a general per-second rate for every resolution." + } + ] }, - "byteplus": { - "provider": "byteplus", - "id": "dreamina-seedance-2-0-260128", - "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", - "url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", + "fal": { + "provider": "fal", + "id": "google/gemini-omni-flash/v1.1/text-to-video", + "input": "text-or-image", + "url": "https://fal.ai/models/google/gemini-omni-flash/v1.1/text-to-video", + "source_url": "https://fal.ai/models/google/gemini-omni-flash/v1.1/text-to-video", "pricing": { - "type": "video_token_tiers", - "usd_per_million_tokens": { - "480p": { - "without_video_input": 7, - "with_video_input": 4.3 + "type": "per_second", + "usd_per_second": { + "360p": { + "audio": 0.03 }, "720p": { - "without_video_input": 7, - "with_video_input": 4.3 + "audio": 0.1 }, "1080p": { - "without_video_input": 7.7, - "with_video_input": 4.7 + "audio": 0.15 }, "4k": { - "without_video_input": 4, - "with_video_input": 2.4 + "audio": 0.3 } }, - "billing_quantity": "usage.completion_tokens", - "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" - } - }, - "openrouter": { - "provider": "openrouter", - "id": "bytedance/seedance-2.0", - "source_url": "https://openrouter.ai/api/v1/videos/models", - "url": "https://openrouter.ai/api/v1/videos/models", - "pricing": { - "type": "provider_skus", - "skus": { - "video_tokens": "0.000007", - "video_tokens_4k": "0.000004", - "video_tokens_1080p": "0.0000077", - "video_tokens_without_audio": "0.000007", - "video_tokens_with_video_input": "0.0000043", - "video_tokens_4k_with_video_input": "0.0000024", - "video_tokens_1080p_with_video_input": "0.0000047" - }, - "source_unit_notes": "duration_seconds: USD/second; video_tokens: USD/token; cents_per: cents per named unit", - "source_url": "https://openrouter.ai/api/v1/videos/models" + "source_url": "https://fal.ai/models/google/gemini-omni-flash/v1.1/text-to-video" }, "endpoints": [ { - "id": "bytedance/seedance-2.0", - "source_url": "https://openrouter.ai/api/v1/videos/models", + "id": "google/gemini-omni-flash/v1.1/text-to-video", + "input": "text", + "source_url": "https://fal.ai/models/google/gemini-omni-flash/v1.1/text-to-video/api", "parameters": { + "duration": { + "maximum": 10, + "minimum": 3, + "type": "integer" + }, + "aspect_ratio": { + "type": "string", + "enum": [ + "16:9", + "9:16" + ] + }, + "prompt": { + "max_length": 20000, + "type": "string" + }, "resolution": { + "type": "string", "enum": [ - "480p", + "360p", "720p", "1080p", - "4K" + "4k" ] - }, + } + } + }, + { + "id": "google/gemini-omni-flash/v1.1/image-to-video", + "input": "image", + "source_url": "https://fal.ai/models/google/gemini-omni-flash/v1.1/image-to-video/api", + "parameters": { "duration": { - "type": "integer", - "enum": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ] + "maximum": 10, + "minimum": 3, + "type": "integer" + }, + "end_image_url": { + "type": "string" }, "aspect_ratio": { "type": "string", "enum": [ - "1:1", - "3:4", - "9:16", - "4:3", "16:9", - "21:9", - "9:21" + "9:16" + ] + }, + "prompt": { + "max_length": 20000, + "type": "string" + }, + "image_url": { + "type": "string" + }, + "resolution": { + "type": "string", + "enum": [ + "360p", + "720p", + "1080p", + "4k" ] } - }, - "input": "text" - } - ] - }, - "grida": { - "provider": "grida", - "id": "bytedance/seedance-2.0", - "url": "https://gateway.grida.ai/v1/models", - "endpoints": [ - { - "id": "video.bytedance.seedance-2.0.image", - "operation": "video.bytedance.seedance-2.0.image", - "input": "image", - "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.bytedance.seedance-2.0.image.input", - "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", - "interface": "videos", - "published_pricing": { - "source_url": "https://gateway.grida.ai/v1/models", - "currency": "USD", - "components": [ - { - "id": "fal_output_units", - "meter": "fal_output_units", - "unit": "provider_unit", - "per_quantity": "1", - "when": {}, - "quantity_rounding": { - "mode": "none" - }, - "usd_per_unit": "0.014" - } - ] - } - }, - { - "id": "video.bytedance.seedance-2.0.text", - "operation": "video.bytedance.seedance-2.0.text", - "input": "text", - "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.bytedance.seedance-2.0.text.input", - "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", - "interface": "videos", - "published_pricing": { - "source_url": "https://gateway.grida.ai/v1/models", - "currency": "USD", - "components": [ - { - "id": "fal_output_units", - "meter": "fal_output_units", - "unit": "provider_unit", - "per_quantity": "1", - "when": {}, - "quantity_rounding": { - "mode": "none" - }, - "usd_per_unit": "0.014" - } - ] } } ] } }, "provider_coverage": { - "openrouter": { - "disposition": "listed", - "source_url": "https://openrouter.ai/api/v1/videos/models" - }, - "vercel": { + "google": { "disposition": "listed", - "source_url": "https://vercel.com/ai-gateway/models/seedance-2.0" + "source_url": "https://ai.google.dev/gemini-api/docs/pricing" }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/bytedance/seedance-2.0/image-to-video" + "source_url": "https://fal.ai/models/google/gemini-omni-flash/v1.1/text-to-video" }, - "byteplus": { - "disposition": "listed", - "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" + "openrouter": { + "disposition": "not_listed", + "source_url": "https://openrouter.ai/api/v1/videos/models", + "reason": "The exact variant is absent from the published video model discovery response. Other variants do not establish its availability." }, - "grida": { - "disposition": "listed", - "source_url": "https://gateway.grida.ai/v1/models" + "vercel": { + "disposition": "not_listed", + "source_url": "https://ai-gateway.vercel.sh/v1/models", + "reason": "The published discovery lists Gemini Omni Flash Preview, but not the stable Gemini Omni 1.1 Flash identity. Preview is not treated as the stable variant." } } }, - "bytedance/seedance-2.5": { - "reference_provider": "byteplus", - "id": "bytedance/seedance-2.5", - "label": "Seedance 2.5", - "short_description": "ByteDance's latest video model — up to 30-second clips with native audio, reference and editing modes.", - "vendor": "bytedance", + "google/veo-3.1": { + "reference_provider": "google", + "id": "google/veo-3.1", + "label": "Veo 3.1", + "short_description": "Google's flagship video model — strong prompt adherence with native, synchronized audio.", + "vendor": "google", "aspect_ratios": [ "16:9", - "4:3", - "1:1", - "3:4", - "9:16", - "21:9" + "9:16" ], "min_duration": 4, - "max_duration": 30, + "max_duration": 8, "audio": true, "speed_label": "slow", - "url": "https://seed.bytedance.com/en/seedance", + "url": "https://deepmind.google/models/veo/", "release": { - "date": "2026-07-31", + "date": "2025-10-15", "basis": "model", - "source_url": "https://seed.bytedance.com/en/blog/one-take-creation-flexible-referencing-introducing-seedance-2-5" + "source_url": "https://ai.google.dev/gemini-api/docs/changelog" }, "providers": { + "vercel": { + "provider": "vercel", + "id": "google/veo-3.1-generate-001", + "input": "text-or-image", + "avg_cost_usd": 3.2, + "url": "https://vercel.com/ai-gateway/models/veo-3.1-generate-001", + "pricing": { + "type": "per_second", + "usd_per_second": { + "720p": { + "audio": 0.4, + "silent": 0.2 + }, + "1080p": { + "audio": 0.4, + "silent": 0.2 + }, + "4k": { + "audio": 0.6, + "silent": 0.4 + } + } + } + }, "fal": { "provider": "fal", - "id": "bytedance/seedance-2.5/image-to-video", + "id": "fal-ai/veo3.1/image-to-video", "input": "image", - "avg_cost_usd": 2.37, - "url": "https://fal.ai/models/bytedance/seedance-2.5/image-to-video", + "avg_cost_usd": 3.2, + "url": "https://fal.ai/models/fal-ai/veo3.1/image-to-video", "pricing": { "type": "per_second", "usd_per_second": { - "480p": { - "audio": 0.2205 - }, "720p": { - "audio": 0.473 + "audio": 0.4, + "silent": 0.2 }, "1080p": { - "audio": 1.164 + "audio": 0.4, + "silent": 0.2 + }, + "4k": { + "audio": 0.6, + "silent": 0.4 } } }, "endpoints": [ { - "id": "bytedance/seedance-2.5/image-to-video", - "input": "image", - "source_url": "https://fal.ai/models/bytedance/seedance-2.5/image-to-video/api", + "id": "fal-ai/veo3.1", + "input": "text", + "source_url": "https://fal.ai/models/fal-ai/veo3.1/api", "parameters": { "aspect_ratio": { - "type": "string", "enum": [ - "auto" - ] + "16:9", + "9:16" + ], + "type": "string" + }, + "auto_fix": { + "type": "boolean" + }, + "duration": { + "enum": [ + "4s", + "6s", + "8s" + ], + "type": "string" }, - "bitrate_mode": { + "generate_audio": { + "type": "boolean" + }, + "prompt": { "type": "string", + "max_length": 20000 + }, + "resolution": { "enum": [ - "standard", - "high" - ] + "720p", + "1080p", + "4k" + ], + "type": "string" }, - "codec": { - "type": "string", + "safety_tolerance": { + "enum": [ + "1", + "2", + "3", + "4", + "5", + "6" + ], + "type": "string" + }, + "seed": { + "type": "integer" + } + } + }, + { + "id": "fal-ai/veo3.1/image-to-video", + "input": "image", + "source_url": "https://fal.ai/models/fal-ai/veo3.1/image-to-video/api", + "parameters": { + "aspect_ratio": { "enum": [ "auto", - "H264", - "H265" - ] + "16:9", + "9:16" + ], + "type": "string" }, - "draft": { + "auto_fix": { "type": "boolean" }, "duration": { - "type": "string", "enum": [ - "auto", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22", - "23", - "24", - "25", - "26", - "27", - "28", - "29", - "30" - ] + "4s", + "6s", + "8s" + ], + "type": "string" }, "generate_audio": { "type": "boolean" @@ -13060,171 +15256,85 @@ "type": "string" }, "prompt": { - "type": "string" + "type": "string", + "max_length": 20000 }, "resolution": { - "type": "string", "enum": [ - "480p", "720p", - "1080p" - ] - } - } - } - ] - }, - "vercel": { - "provider": "vercel", - "id": "bytedance/seedance-2.5", - "source_url": "https://vercel.com/ai-gateway/models/seedance-2.5", - "url": "https://vercel.com/ai-gateway/models/seedance-2.5", - "pricing": { - "type": "video_token_tiers", - "tiers": [ - { - "resolution": "480p", - "no_video_input": { - "cost_per_million_tokens": "10.7" - }, - "with_video_input": { - "cost_per_million_tokens": "6.4" - } - }, - { - "resolution": "720p", - "no_video_input": { - "cost_per_million_tokens": "10.7" + "1080p", + "4k" + ], + "type": "string" }, - "with_video_input": { - "cost_per_million_tokens": "6.4" - } - }, - { - "resolution": "1080p", - "no_video_input": { - "cost_per_million_tokens": "11.7" + "safety_tolerance": { + "enum": [ + "1", + "2", + "3", + "4", + "5", + "6" + ], + "type": "string" }, - "with_video_input": { - "cost_per_million_tokens": "7" + "seed": { + "type": "integer" } } - ], - "notes": "Pricing varies based on whether the input contains video. When video is included in the input, all tokens are billed at the reduced rate. Token count includes both input and output video and is subject to minimum token floors based on output duration.", - "source_url": "https://vercel.com/ai-gateway/models/seedance-2.5" - }, - "input": "text-or-image" - }, - "byteplus": { - "provider": "byteplus", - "id": "dreamina-seedance-2-5-260628", - "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", - "url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", - "pricing": { - "type": "video_token_tiers", - "usd_per_million_tokens": { - "480p": { - "without_video_input": 10.7, - "with_video_input": 6.4 - }, - "720p": { - "without_video_input": 10.7, - "with_video_input": 6.4 - }, - "1080p": { - "without_video_input": 11.7, - "with_video_input": 7 - } - }, - "billing_quantity": "usage.completion_tokens", - "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" - } + } + ] }, "openrouter": { "provider": "openrouter", - "id": "bytedance/seedance-2.5", - "source_url": "https://openrouter.ai/api/v1/videos/models", - "url": "https://openrouter.ai/api/v1/videos/models", - "pricing": { - "type": "provider_skus", - "skus": { - "video_tokens": "0.0000107", - "video_tokens_without_audio": "0.0000107", - "video_tokens_with_video_input": "0.0000064" - }, - "source_unit_notes": "duration_seconds: USD/second; video_tokens: USD/token; cents_per: cents per named unit", - "source_url": "https://openrouter.ai/api/v1/videos/models" - }, - "endpoints": [ - { - "id": "bytedance/seedance-2.5", - "source_url": "https://openrouter.ai/api/v1/videos/models", - "parameters": { - "resolution": { - "enum": [ - "480p", - "720p" - ] - }, - "duration": { - "type": "integer", - "enum": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ] - }, - "aspect_ratio": { - "type": "string", - "enum": [ - "16:9", - "4:3", - "1:1", - "3:4", - "9:16", - "21:9" - ] - } + "id": "google/veo-3.1", + "input": "text-or-image", + "avg_cost_usd": 3.2, + "url": "https://openrouter.ai/google/veo-3.1", + "pricing": { + "type": "per_second", + "usd_per_second": { + "720p": { + "audio": 0.4 }, - "input": "text" + "1080p": { + "audio": 0.4 + } } - ] + } + }, + "google": { + "provider": "google", + "id": "veo-3.1-generate-preview", + "source_url": "https://ai.google.dev/gemini-api/docs/pricing", + "url": "https://ai.google.dev/gemini-api/docs/pricing", + "pricing": { + "type": "per_second", + "usd_per_second": { + "720p": { + "audio": 0.4 + }, + "1080p": { + "audio": 0.4 + }, + "4k": { + "audio": 0.6 + } + }, + "source_url": "https://ai.google.dev/gemini-api/docs/pricing" + } }, "grida": { "provider": "grida", - "id": "bytedance/seedance-2.5", + "id": "google/veo-3.1", "url": "https://gateway.grida.ai/v1/models", "endpoints": [ { - "id": "video.bytedance.seedance-2.5.image", - "operation": "video.bytedance.seedance-2.5.image", + "id": "video.google.veo-3.1.image", + "operation": "video.google.veo-3.1.image", "input": "image", "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.bytedance.seedance-2.5.image.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.google.veo-3.1.image.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", "interface": "videos", "published_pricing": { @@ -13240,7 +15350,33 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.0214" + "usd_per_unit": "0.4" + } + ] + } + }, + { + "id": "video.google.veo-3.1.text", + "operation": "video.google.veo-3.1.text", + "input": "text", + "source_url": "https://gateway.grida.ai/schemas/operations.json", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.google.veo-3.1.text.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", + "interface": "videos", + "published_pricing": { + "source_url": "https://gateway.grida.ai/v1/models", + "currency": "USD", + "components": [ + { + "id": "fal_output_units", + "meter": "fal_output_units", + "unit": "provider_unit", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.4" } ] } @@ -13251,19 +15387,19 @@ "provider_coverage": { "openrouter": { "disposition": "listed", - "source_url": "https://openrouter.ai/api/v1/videos/models" + "source_url": "https://openrouter.ai/google/veo-3.1" }, "vercel": { "disposition": "listed", - "source_url": "https://vercel.com/ai-gateway/models/seedance-2.5" + "source_url": "https://vercel.com/ai-gateway/models/veo-3.1-generate-001" }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/bytedance/seedance-2.5/image-to-video" + "source_url": "https://fal.ai/models/fal-ai/veo3.1/image-to-video" }, - "byteplus": { + "google": { "disposition": "listed", - "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" + "source_url": "https://ai.google.dev/gemini-api/docs/pricing" }, "grida": { "disposition": "listed", @@ -13271,11 +15407,11 @@ } } }, - "google/veo-3.1": { + "google/veo-3.1-fast": { "reference_provider": "google", - "id": "google/veo-3.1", - "label": "Veo 3.1", - "short_description": "Google's flagship video model — strong prompt adherence with native, synchronized audio.", + "id": "google/veo-3.1-fast", + "label": "Veo 3.1 Fast", + "short_description": "Faster, cheaper Veo 3.1 — the same envelope and native audio at a fraction of the price.", "vendor": "google", "aspect_ratios": [ "16:9", @@ -13284,7 +15420,7 @@ "min_duration": 4, "max_duration": 8, "audio": true, - "speed_label": "slow", + "speed_label": "medium", "url": "https://deepmind.google/models/veo/", "release": { "date": "2025-10-15", @@ -13294,56 +15430,56 @@ "providers": { "vercel": { "provider": "vercel", - "id": "google/veo-3.1-generate-001", + "id": "google/veo-3.1-fast-generate-001", "input": "text-or-image", - "avg_cost_usd": 3.2, - "url": "https://vercel.com/ai-gateway/models/veo-3.1-generate-001", + "avg_cost_usd": 1.2, + "url": "https://vercel.com/ai-gateway/models/veo-3.1-fast-generate-001", "pricing": { "type": "per_second", "usd_per_second": { "720p": { - "audio": 0.4, - "silent": 0.2 + "audio": 0.15, + "silent": 0.1 }, "1080p": { - "audio": 0.4, - "silent": 0.2 + "audio": 0.15, + "silent": 0.1 }, "4k": { - "audio": 0.6, - "silent": 0.4 + "audio": 0.35, + "silent": 0.3 } } } }, "fal": { "provider": "fal", - "id": "fal-ai/veo3.1/image-to-video", + "id": "fal-ai/veo3.1/fast/image-to-video", "input": "image", - "avg_cost_usd": 3.2, - "url": "https://fal.ai/models/fal-ai/veo3.1/image-to-video", + "avg_cost_usd": 1.2, + "url": "https://fal.ai/models/fal-ai/veo3.1/fast/image-to-video", "pricing": { "type": "per_second", "usd_per_second": { "720p": { - "audio": 0.4, - "silent": 0.2 + "audio": 0.15, + "silent": 0.1 }, "1080p": { - "audio": 0.4, - "silent": 0.2 + "audio": 0.15, + "silent": 0.1 }, "4k": { - "audio": 0.6, - "silent": 0.4 + "audio": 0.35, + "silent": 0.3 } } }, "endpoints": [ { - "id": "fal-ai/veo3.1", + "id": "fal-ai/veo3.1/fast", "input": "text", - "source_url": "https://fal.ai/models/fal-ai/veo3.1/api", + "source_url": "https://fal.ai/models/fal-ai/veo3.1/fast/api", "parameters": { "aspect_ratio": { "enum": [ @@ -13395,9 +15531,9 @@ } }, { - "id": "fal-ai/veo3.1/image-to-video", + "id": "fal-ai/veo3.1/fast/image-to-video", "input": "image", - "source_url": "https://fal.ai/models/fal-ai/veo3.1/image-to-video/api", + "source_url": "https://fal.ai/models/fal-ai/veo3.1/fast/image-to-video/api", "parameters": { "aspect_ratio": { "enum": [ @@ -13454,56 +15590,88 @@ } ] }, - "openrouter": { - "provider": "openrouter", - "id": "google/veo-3.1", - "input": "text-or-image", - "avg_cost_usd": 3.2, - "url": "https://openrouter.ai/google/veo-3.1", - "pricing": { - "type": "per_second", - "usd_per_second": { - "720p": { - "audio": 0.4 - }, - "1080p": { - "audio": 0.4 - } - } - } - }, "google": { "provider": "google", - "id": "veo-3.1-generate-preview", + "id": "veo-3.1-fast-generate-preview", "source_url": "https://ai.google.dev/gemini-api/docs/pricing", "url": "https://ai.google.dev/gemini-api/docs/pricing", "pricing": { "type": "per_second", "usd_per_second": { "720p": { - "audio": 0.4 + "audio": 0.1 }, "1080p": { - "audio": 0.4 + "audio": 0.12 }, "4k": { - "audio": 0.6 + "audio": 0.3 } }, "source_url": "https://ai.google.dev/gemini-api/docs/pricing" } }, + "openrouter": { + "provider": "openrouter", + "id": "google/veo-3.1-fast", + "source_url": "https://openrouter.ai/api/v1/videos/models", + "url": "https://openrouter.ai/api/v1/videos/models", + "pricing": { + "type": "provider_skus", + "skus": { + "duration_seconds_with_audio": "0.12", + "duration_seconds_with_audio_4k": "0.30", + "duration_seconds_without_audio": "0.10", + "duration_seconds_with_audio_720p": "0.10", + "duration_seconds_without_audio_4k": "0.25", + "duration_seconds_without_audio_720p": "0.08" + }, + "source_unit_notes": "duration_seconds: USD/second; video_tokens: USD/token; cents_per: cents per named unit", + "source_url": "https://openrouter.ai/api/v1/videos/models" + }, + "endpoints": [ + { + "id": "google/veo-3.1-fast", + "source_url": "https://openrouter.ai/api/v1/videos/models", + "parameters": { + "resolution": { + "enum": [ + "720p", + "1080p", + "4K" + ] + }, + "duration": { + "type": "integer", + "enum": [ + 4, + 6, + 8 + ] + }, + "aspect_ratio": { + "type": "string", + "enum": [ + "16:9", + "9:16" + ] + } + }, + "input": "text" + } + ] + }, "grida": { "provider": "grida", - "id": "google/veo-3.1", + "id": "google/veo-3.1-fast", "url": "https://gateway.grida.ai/v1/models", "endpoints": [ { - "id": "video.google.veo-3.1.image", - "operation": "video.google.veo-3.1.image", + "id": "video.google.veo-3.1-fast.image", + "operation": "video.google.veo-3.1-fast.image", "input": "image", "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.google.veo-3.1.image.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.google.veo-3.1-fast.image.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", "interface": "videos", "published_pricing": { @@ -13519,17 +15687,17 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.4" + "usd_per_unit": "0.15" } ] } }, { - "id": "video.google.veo-3.1.text", - "operation": "video.google.veo-3.1.text", + "id": "video.google.veo-3.1-fast.text", + "operation": "video.google.veo-3.1-fast.text", "input": "text", "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.google.veo-3.1.text.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.google.veo-3.1-fast.text.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", "interface": "videos", "published_pricing": { @@ -13545,7 +15713,7 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.4" + "usd_per_unit": "0.15" } ] } @@ -13556,15 +15724,15 @@ "provider_coverage": { "openrouter": { "disposition": "listed", - "source_url": "https://openrouter.ai/google/veo-3.1" + "source_url": "https://openrouter.ai/api/v1/videos/models" }, "vercel": { "disposition": "listed", - "source_url": "https://vercel.com/ai-gateway/models/veo-3.1-generate-001" + "source_url": "https://vercel.com/ai-gateway/models/veo-3.1-fast-generate-001" }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/fal-ai/veo3.1/image-to-video" + "source_url": "https://fal.ai/models/fal-ai/veo3.1/fast/image-to-video" }, "google": { "disposition": "listed", @@ -13576,11 +15744,11 @@ } } }, - "google/veo-3.1-fast": { + "google/veo-3.1-lite": { "reference_provider": "google", - "id": "google/veo-3.1-fast", - "label": "Veo 3.1 Fast", - "short_description": "Faster, cheaper Veo 3.1 — the same envelope and native audio at a fraction of the price.", + "id": "google/veo-3.1-lite", + "label": "Veo 3.1 Lite", + "short_description": "Budget Veo 3.1 — 720p/1080p clips with native audio for a few cents a second.", "vendor": "google", "aspect_ratios": [ "16:9", @@ -13589,66 +15757,58 @@ "min_duration": 4, "max_duration": 8, "audio": true, - "speed_label": "medium", + "speed_label": "fast", "url": "https://deepmind.google/models/veo/", "release": { - "date": "2025-10-15", + "date": "2026-03-31", "basis": "model", - "source_url": "https://ai.google.dev/gemini-api/docs/changelog" + "source_url": "https://blog.google/innovation-and-ai/technology/ai/veo-3-1-lite/" }, "providers": { "vercel": { "provider": "vercel", - "id": "google/veo-3.1-fast-generate-001", + "id": "google/veo-3.1-lite-generate-001", "input": "text-or-image", - "avg_cost_usd": 1.2, - "url": "https://vercel.com/ai-gateway/models/veo-3.1-fast-generate-001", + "avg_cost_usd": 0.64, + "url": "https://vercel.com/ai-gateway/models/veo-3.1-lite-generate-001", "pricing": { "type": "per_second", "usd_per_second": { "720p": { - "audio": 0.15, - "silent": 0.1 + "audio": 0.05, + "silent": 0.03 }, "1080p": { - "audio": 0.15, - "silent": 0.1 - }, - "4k": { - "audio": 0.35, - "silent": 0.3 + "audio": 0.08, + "silent": 0.05 } } } }, "fal": { "provider": "fal", - "id": "fal-ai/veo3.1/fast/image-to-video", + "id": "fal-ai/veo3.1/lite/image-to-video", "input": "image", - "avg_cost_usd": 1.2, - "url": "https://fal.ai/models/fal-ai/veo3.1/fast/image-to-video", + "avg_cost_usd": 0.64, + "url": "https://fal.ai/models/fal-ai/veo3.1/lite/image-to-video", "pricing": { "type": "per_second", "usd_per_second": { "720p": { - "audio": 0.15, - "silent": 0.1 + "audio": 0.05, + "silent": 0.03 }, "1080p": { - "audio": 0.15, - "silent": 0.1 - }, - "4k": { - "audio": 0.35, - "silent": 0.3 + "audio": 0.08, + "silent": 0.05 } } }, "endpoints": [ { - "id": "fal-ai/veo3.1/fast", + "id": "fal-ai/veo3.1/lite", "input": "text", - "source_url": "https://fal.ai/models/fal-ai/veo3.1/fast/api", + "source_url": "https://fal.ai/models/fal-ai/veo3.1/lite/api", "parameters": { "aspect_ratio": { "enum": [ @@ -13678,8 +15838,7 @@ "resolution": { "enum": [ "720p", - "1080p", - "4k" + "1080p" ], "type": "string" }, @@ -13700,9 +15859,9 @@ } }, { - "id": "fal-ai/veo3.1/fast/image-to-video", + "id": "fal-ai/veo3.1/lite/image-to-video", "input": "image", - "source_url": "https://fal.ai/models/fal-ai/veo3.1/fast/image-to-video/api", + "source_url": "https://fal.ai/models/fal-ai/veo3.1/lite/image-to-video/api", "parameters": { "aspect_ratio": { "enum": [ @@ -13736,8 +15895,7 @@ "resolution": { "enum": [ "720p", - "1080p", - "4k" + "1080p" ], "type": "string" }, @@ -13761,20 +15919,17 @@ }, "google": { "provider": "google", - "id": "veo-3.1-fast-generate-preview", + "id": "veo-3.1-lite-generate-preview", "source_url": "https://ai.google.dev/gemini-api/docs/pricing", "url": "https://ai.google.dev/gemini-api/docs/pricing", "pricing": { "type": "per_second", "usd_per_second": { "720p": { - "audio": 0.1 + "audio": 0.05 }, "1080p": { - "audio": 0.12 - }, - "4k": { - "audio": 0.3 + "audio": 0.08 } }, "source_url": "https://ai.google.dev/gemini-api/docs/pricing" @@ -13782,40 +15937,37 @@ }, "openrouter": { "provider": "openrouter", - "id": "google/veo-3.1-fast", + "id": "google/veo-3.1-lite", "source_url": "https://openrouter.ai/api/v1/videos/models", "url": "https://openrouter.ai/api/v1/videos/models", "pricing": { "type": "provider_skus", "skus": { - "duration_seconds_with_audio": "0.12", - "duration_seconds_with_audio_4k": "0.30", - "duration_seconds_without_audio": "0.10", - "duration_seconds_with_audio_720p": "0.10", - "duration_seconds_without_audio_4k": "0.25", - "duration_seconds_without_audio_720p": "0.08" + "duration_seconds_with_audio": "0.08", + "duration_seconds_without_audio": "0.05", + "duration_seconds_with_audio_720p": "0.05", + "duration_seconds_without_audio_720p": "0.03" }, "source_unit_notes": "duration_seconds: USD/second; video_tokens: USD/token; cents_per: cents per named unit", "source_url": "https://openrouter.ai/api/v1/videos/models" }, "endpoints": [ { - "id": "google/veo-3.1-fast", + "id": "google/veo-3.1-lite", "source_url": "https://openrouter.ai/api/v1/videos/models", "parameters": { "resolution": { "enum": [ "720p", - "1080p", - "4K" + "1080p" ] }, "duration": { "type": "integer", "enum": [ + 8, 4, - 6, - 8 + 6 ] }, "aspect_ratio": { @@ -13832,15 +15984,15 @@ }, "grida": { "provider": "grida", - "id": "google/veo-3.1-fast", + "id": "google/veo-3.1-lite", "url": "https://gateway.grida.ai/v1/models", "endpoints": [ { - "id": "video.google.veo-3.1-fast.image", - "operation": "video.google.veo-3.1-fast.image", + "id": "video.google.veo-3.1-lite.image", + "operation": "video.google.veo-3.1-lite.image", "input": "image", "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.google.veo-3.1-fast.image.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.google.veo-3.1-lite.image.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", "interface": "videos", "published_pricing": { @@ -13856,17 +16008,17 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.15" + "usd_per_unit": "0.05" } ] } }, { - "id": "video.google.veo-3.1-fast.text", - "operation": "video.google.veo-3.1-fast.text", + "id": "video.google.veo-3.1-lite.text", + "operation": "video.google.veo-3.1-lite.text", "input": "text", "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.google.veo-3.1-fast.text.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.google.veo-3.1-lite.text.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", "interface": "videos", "published_pricing": { @@ -13882,7 +16034,7 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.15" + "usd_per_unit": "0.05" } ] } @@ -13897,11 +16049,11 @@ }, "vercel": { "disposition": "listed", - "source_url": "https://vercel.com/ai-gateway/models/veo-3.1-fast-generate-001" + "source_url": "https://vercel.com/ai-gateway/models/veo-3.1-lite-generate-001" }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/fal-ai/veo3.1/fast/image-to-video" + "source_url": "https://fal.ai/models/fal-ai/veo3.1/lite/image-to-video" }, "google": { "disposition": "listed", @@ -13913,324 +16065,312 @@ } } }, - "google/veo-3.1-lite": { - "reference_provider": "google", - "id": "google/veo-3.1-lite", - "label": "Veo 3.1 Lite", - "short_description": "Budget Veo 3.1 — 720p/1080p clips with native audio for a few cents a second.", - "vendor": "google", - "aspect_ratios": [ - "16:9", - "9:16" - ], - "min_duration": 4, - "max_duration": 8, + "minimax/h3": { + "id": "minimax/h3", + "label": "MiniMax H3", + "vendor": "minimax", + "short_description": "Multimodal video generation with native stereo audio and first/last-frame conditioning.", + "url": "https://www.minimax.io/blog/minimax-h3", "audio": true, - "speed_label": "fast", - "url": "https://deepmind.google/models/veo/", + "reference_provider": "minimax", + "min_duration": 4, + "max_duration": 15, "release": { - "date": "2026-03-31", + "date": "2026-07-31", "basis": "model", - "source_url": "https://blog.google/innovation-and-ai/technology/ai/veo-3-1-lite/" + "source_url": "https://www.minimax.io/blog/minimax-h3" + }, + "distribution": { + "source_url": "https://github.com/MiniMax-AI/MiniMax-H3", + "code": { + "repository_url": "https://github.com/MiniMax-AI/MiniMax-H3", + "license": { + "name": "MiniMax H3 Community License Agreement", + "url": "https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/LICENSE" + } + }, + "weights": [ + { + "id": "MiniMaxAI/MiniMax-H3", + "url": "https://huggingface.co/MiniMaxAI/MiniMax-H3", + "license": { + "name": "MiniMax H3 Community License Agreement", + "url": "https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/LICENSE" + }, + "access": "public" + } + ] }, "providers": { - "vercel": { - "provider": "vercel", - "id": "google/veo-3.1-lite-generate-001", + "minimax": { + "provider": "minimax", + "id": "MiniMax-H3", "input": "text-or-image", - "avg_cost_usd": 0.64, - "url": "https://vercel.com/ai-gateway/models/veo-3.1-lite-generate-001", + "url": "https://platform.minimax.io/docs/api-reference/video-generation-v2-create", + "source_url": "https://platform.minimax.io/docs/api-reference/video-generation-v2-create", "pricing": { "type": "per_second", "usd_per_second": { - "720p": { - "audio": 0.05, - "silent": 0.03 + "768P": { + "audio": 0.08 }, - "1080p": { - "audio": 0.08, - "silent": 0.05 + "2K": { + "audio": 0.13 + } + }, + "source_url": "https://platform.minimax.io/docs/pricing/overview" + }, + "endpoints": [ + { + "id": "MiniMax-H3", + "input": "text", + "source_url": "https://platform.minimax.io/docs/api-reference/video-generation-v2-create", + "parameters": { + "duration": { + "type": "integer", + "minimum": 4, + "maximum": 15 + }, + "resolution": { + "type": "string", + "enum": [ + "768P", + "2K" + ] + }, + "ratio": { + "type": "string", + "enum": [ + "21:9", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ] + } } } - } + ], + "qualifications": [ + { + "source_url": "https://platform.minimax.io/docs/pricing/overview", + "notes": "The native API charges reference input video seconds separately; its first five reference images are included and each additional image costs USD 0.04. These are distinct from frame-conditioned and text-only output rates." + } + ] }, "fal": { "provider": "fal", - "id": "fal-ai/veo3.1/lite/image-to-video", - "input": "image", - "avg_cost_usd": 0.64, - "url": "https://fal.ai/models/fal-ai/veo3.1/lite/image-to-video", + "id": "minimax/h3/text-to-video", + "input": "text-or-image", + "url": "https://fal.ai/models/minimax/h3/text-to-video", + "source_url": "https://fal.ai/models/minimax/h3/text-to-video", "pricing": { "type": "per_second", "usd_per_second": { - "720p": { - "audio": 0.05, - "silent": 0.03 + "480P": { + "audio": 0.05 }, - "1080p": { - "audio": 0.08, - "silent": 0.05 + "768P": { + "audio": 0.06 + }, + "2K": { + "audio": 0.13 + }, + "4K": { + "audio": 0.16 } - } + }, + "source_url": "https://fal.ai/models/minimax/h3/text-to-video" }, "endpoints": [ { - "id": "fal-ai/veo3.1/lite", + "id": "minimax/h3/text-to-video", "input": "text", - "source_url": "https://fal.ai/models/fal-ai/veo3.1/lite/api", + "source_url": "https://fal.ai/models/minimax/h3/text-to-video/api", "parameters": { - "aspect_ratio": { - "enum": [ - "16:9", - "9:16" - ], + "enable_safety_checker": { + "type": "boolean" + }, + "prompt": { + "max_length": 50000, + "min_length": 1, "type": "string" }, - "auto_fix": { + "seed": { + "type": "integer" + }, + "sync_mode": { "type": "boolean" }, - "duration": { + "aspect_ratio": { "enum": [ - "4s", - "6s", - "8s" + "21:9", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" ], "type": "string" }, - "generate_audio": { - "type": "boolean" - }, - "prompt": { - "type": "string", - "max_length": 20000 - }, "resolution": { "enum": [ - "720p", - "1080p" + "480P", + "768P", + "2K", + "4K" ], "type": "string" }, - "safety_tolerance": { - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], + "target_audio_url": { + "min_length": 1, "type": "string" }, - "seed": { + "duration": { + "maximum": 15, + "minimum": 5, "type": "integer" - } - } - }, - { - "id": "fal-ai/veo3.1/lite/image-to-video", - "input": "image", - "source_url": "https://fal.ai/models/fal-ai/veo3.1/lite/image-to-video/api", - "parameters": { - "aspect_ratio": { - "enum": [ - "auto", - "16:9", - "9:16" - ], - "type": "string" }, - "auto_fix": { + "prompt_expansion_mode": { + "type": "string" + } + } + }, + { + "id": "minimax/h3/image-to-video", + "input": "image", + "source_url": "https://fal.ai/models/minimax/h3/image-to-video/api", + "parameters": { + "enable_safety_checker": { "type": "boolean" }, - "duration": { - "enum": [ - "4s", - "6s", - "8s" - ], + "prompt": { + "max_length": 50000, + "min_length": 1, "type": "string" }, - "generate_audio": { + "seed": { + "type": "integer" + }, + "sync_mode": { "type": "boolean" }, "image_url": { "type": "string" }, - "prompt": { - "type": "string", - "max_length": 20000 - }, "resolution": { "enum": [ - "720p", - "1080p" + "480P", + "768P", + "2K", + "4K" ], "type": "string" }, - "safety_tolerance": { - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], + "end_image_url": { "type": "string" }, - "seed": { + "target_audio_url": { + "min_length": 1, + "type": "string" + }, + "duration": { + "maximum": 15, + "minimum": 5, "type": "integer" + }, + "prompt_expansion_mode": { + "type": "string" } } } + ], + "qualifications": [ + { + "source_url": "https://fal.ai/models/minimax/h3/image-to-video/api", + "notes": "First and last frame inputs are optional independently; a last frame can be supplied without a first frame. The output canvas follows the available frame. fal accepts integer durations 5–15, independently of native 4–15." + } ] }, - "google": { - "provider": "google", - "id": "veo-3.1-lite-generate-preview", - "source_url": "https://ai.google.dev/gemini-api/docs/pricing", - "url": "https://ai.google.dev/gemini-api/docs/pricing", - "pricing": { - "type": "per_second", - "usd_per_second": { - "720p": { - "audio": 0.05 - }, - "1080p": { - "audio": 0.08 - } - }, - "source_url": "https://ai.google.dev/gemini-api/docs/pricing" - } - }, - "openrouter": { - "provider": "openrouter", - "id": "google/veo-3.1-lite", - "source_url": "https://openrouter.ai/api/v1/videos/models", - "url": "https://openrouter.ai/api/v1/videos/models", - "pricing": { - "type": "provider_skus", - "skus": { - "duration_seconds_with_audio": "0.08", - "duration_seconds_without_audio": "0.05", - "duration_seconds_with_audio_720p": "0.05", - "duration_seconds_without_audio_720p": "0.03" - }, - "source_unit_notes": "duration_seconds: USD/second; video_tokens: USD/token; cents_per: cents per named unit", - "source_url": "https://openrouter.ai/api/v1/videos/models" - }, + "vercel": { + "provider": "vercel", + "id": "minimax/minimax-h3", + "input": "text-or-image", + "source_url": "https://ai-gateway.vercel.sh/v1/models", + "url": "https://ai-gateway.vercel.sh/v1/models", "endpoints": [ { - "id": "google/veo-3.1-lite", - "source_url": "https://openrouter.ai/api/v1/videos/models", + "id": "minimax/minimax-h3", + "input": "text", + "source_url": "https://ai-gateway.vercel.sh/v1/models", "parameters": { - "resolution": { + "duration": { "enum": [ - "720p", - "1080p" + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 ] }, - "duration": { - "type": "integer", + "resolution": { "enum": [ - 8, - 4, - 6 + "2k", + "768p" ] }, "aspect_ratio": { - "type": "string", "enum": [ + "21:9", "16:9", + "4:3", + "1:1", + "3:4", "9:16" ] } - }, - "input": "text" + } } - ] - }, - "grida": { - "provider": "grida", - "id": "google/veo-3.1-lite", - "url": "https://gateway.grida.ai/v1/models", - "endpoints": [ - { - "id": "video.google.veo-3.1-lite.image", - "operation": "video.google.veo-3.1-lite.image", - "input": "image", - "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.google.veo-3.1-lite.image.input", - "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", - "interface": "videos", - "published_pricing": { - "source_url": "https://gateway.grida.ai/v1/models", - "currency": "USD", - "components": [ - { - "id": "fal_output_units", - "meter": "fal_output_units", - "unit": "provider_unit", - "per_quantity": "1", - "when": {}, - "quantity_rounding": { - "mode": "none" - }, - "usd_per_unit": "0.05" - } - ] + ], + "pricing": { + "type": "per_second", + "usd_per_second": { + "2k": { + "audio": 0.13 + }, + "768p": { + "audio": 0.08 } }, - { - "id": "video.google.veo-3.1-lite.text", - "operation": "video.google.veo-3.1-lite.text", - "input": "text", - "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/video.google.veo-3.1-lite.text.input", - "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/single_video_result", - "interface": "videos", - "published_pricing": { - "source_url": "https://gateway.grida.ai/v1/models", - "currency": "USD", - "components": [ - { - "id": "fal_output_units", - "meter": "fal_output_units", - "unit": "provider_unit", - "per_quantity": "1", - "when": {}, - "quantity_rounding": { - "mode": "none" - }, - "usd_per_unit": "0.05" - } - ] - } - } - ] + "source_url": "https://ai-gateway.vercel.sh/v1/models" + } } }, "provider_coverage": { - "openrouter": { - "disposition": "listed", - "source_url": "https://openrouter.ai/api/v1/videos/models" - }, - "vercel": { + "minimax": { "disposition": "listed", - "source_url": "https://vercel.com/ai-gateway/models/veo-3.1-lite-generate-001" + "source_url": "https://platform.minimax.io/docs/api-reference/video-generation-v2-create" }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/fal-ai/veo3.1/lite/image-to-video" + "source_url": "https://fal.ai/models/minimax/h3/text-to-video" }, - "google": { + "vercel": { "disposition": "listed", - "source_url": "https://ai.google.dev/gemini-api/docs/pricing" + "source_url": "https://ai-gateway.vercel.sh/v1/models" }, - "grida": { - "disposition": "listed", - "source_url": "https://gateway.grida.ai/v1/models" + "openrouter": { + "disposition": "not_listed", + "source_url": "https://openrouter.ai/api/v1/videos/models", + "reason": "The exact variant is absent from the published video model discovery response. Other variants do not establish its availability." } } }, @@ -14328,6 +16468,102 @@ ] } } + }, + { + "id": "xai/grok-imagine-video/v1.5/text-to-video", + "input": "text", + "source_url": "https://fal.ai/models/xai/grok-imagine-video/v1.5/text-to-video/api", + "parameters": { + "prompt": { + "type": "string", + "max_length": 4096 + }, + "aspect_ratio": { + "type": "string", + "enum": [ + "16:9", + "4:3", + "3:2", + "1:1", + "2:3", + "3:4", + "9:16" + ] + }, + "enable_safety_checker": { + "type": "boolean" + }, + "duration": { + "type": "integer", + "maximum": 15, + "minimum": 1 + }, + "resolution": { + "type": "string", + "enum": [ + "480p", + "720p", + "1080p" + ] + } + }, + "published_pricing": { + "source_url": "https://fal.ai/models/xai/grok-imagine-video/v1.5/text-to-video", + "currency": "USD", + "components": [ + { + "id": "output_seconds_480p", + "meter": "output_seconds", + "unit": "second", + "per_quantity": "1", + "usd_per_unit": "0.08", + "when": { + "properties": { + "resolution": { + "const": "480p" + } + }, + "required": [ + "resolution" + ] + } + }, + { + "id": "output_seconds_720p", + "meter": "output_seconds", + "unit": "second", + "per_quantity": "1", + "usd_per_unit": "0.14", + "when": { + "properties": { + "resolution": { + "const": "720p" + } + }, + "required": [ + "resolution" + ] + } + }, + { + "id": "output_seconds_1080p", + "meter": "output_seconds", + "unit": "second", + "per_quantity": "1", + "usd_per_unit": "0.25", + "when": { + "properties": { + "resolution": { + "const": "1080p" + } + }, + "required": [ + "resolution" + ] + } + } + ] + } } ] }, diff --git a/models/alibaba/qwen-image-3.0/card.toml b/models/alibaba/qwen-image-3.0/card.toml new file mode 100644 index 0000000..081137d --- /dev/null +++ b/models/alibaba/qwen-image-3.0/card.toml @@ -0,0 +1,64 @@ +id = "alibaba/qwen-image-3.0" +section = "image.models" +vendor = "alibaba" +reference_provider = "alibaba" +label = "Qwen Image 3.0" +short_description = "Image generation and editing with multilingual text rendering." + +[release] +date = "2026-08-04" +basis = "model" +source_url = "https://help.aliyun.com/en/model-studio/newly-released-models" + +[providers.alibaba] +provider = "alibaba" +id = "qwen-image-3.0" +url = "https://help.aliyun.com/en/model-studio/qwen-image-3-0" +source_url = "https://help.aliyun.com/en/model-studio/qwen-image-3-0" +capabilities = { "source_url" = "https://help.aliyun.com/en/model-studio/qwen-image-3-0", "image_input" = true } +qualifications = [ + { "source_url" = "https://help.aliyun.com/en/model-studio/qwen-image-3-0", "notes" = "Native regular prices are quoted in CNY per input and generated image, with regional rates. No USD conversion is made. Qwen Image 3.0 Standard is distinct from qwen-image-3.0-pro." }, +] + +[providers.fal] +provider = "fal" +id = "alibaba/qwen-image-3/text-to-image" +source_url = "https://fal.ai/models/alibaba/qwen-image-3/text-to-image/api" +url = "https://fal.ai/models/alibaba/qwen-image-3/text-to-image" +pricing = { "type" = "per_image_tiered", "tiers" = { "1K" = 0.04, "2K" = 0.075 }, "source_url" = "https://fal.ai/models/alibaba/qwen-image-3/text-to-image" } +references = { "id" = "alibaba/qwen-image-3/edit", "max" = 3 } +qualifications = [ + { "source_url" = "https://fal.ai/models/alibaba/qwen-image-3/edit/api", "notes" = "Reference images require each dimension between 384 and 2048 pixels, a maximum 10 MB per image, and JPEG, non-alpha PNG or WebP. The source quotes 1K/2K prices without an exact custom-size pixel breakpoint." }, +] +endpoints = [ + { "id" = "alibaba/qwen-image-3/text-to-image", "input" = "text", "source_url" = "https://fal.ai/models/alibaba/qwen-image-3/text-to-image/api", "parameters" = { "seed" = { "type" = "integer" }, "enable_prompt_expansion" = { "type" = "boolean" }, "output_format" = { "enum" = [ + "jpeg", + "png", + "webp", + ], "type" = "string" }, "prompt" = { "max_length" = 5000, "min_length" = 1, "type" = "string" }, "sync_mode" = { "type" = "boolean" }, "negative_prompt" = { "max_length" = 500, "type" = "string" }, "image_size" = { "enum" = [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9", + ], "type" = "string" }, "num_images" = { "maximum" = 6, "minimum" = 1, "type" = "integer" }, "enable_safety_checker" = { "type" = "boolean" }, "image_size.width" = { "type" = "integer", "minimum" = 1, "maximum" = 14142 }, "image_size.height" = { "type" = "integer", "minimum" = 1, "maximum" = 14142 } }, "image_constraints" = { "min_pixels" = 262144, "max_pixels" = 4194304 } }, + { "id" = "alibaba/qwen-image-3/edit", "input" = "multi_image", "source_url" = "https://fal.ai/models/alibaba/qwen-image-3/edit/api", "parameters" = { "seed" = { "type" = "integer" }, "enable_prompt_expansion" = { "type" = "boolean" }, "output_format" = { "enum" = [ + "jpeg", + "png", + "webp", + ], "type" = "string" }, "prompt" = { "max_length" = 5000, "min_length" = 1, "type" = "string" }, "sync_mode" = { "type" = "boolean" }, "negative_prompt" = { "max_length" = 500, "type" = "string" }, "image_size" = { "enum" = [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9", + ], "type" = "string" }, "image_urls" = { "type" = "array", "min_items" = 1, "max_items" = 3 }, "num_images" = { "maximum" = 6, "minimum" = 1, "type" = "integer" }, "enable_safety_checker" = { "type" = "boolean" }, "image_size.width" = { "type" = "integer", "minimum" = 1, "maximum" = 14142 }, "image_size.height" = { "type" = "integer", "minimum" = 1, "maximum" = 14142 } }, "image_constraints" = { "min_pixels" = 262144, "max_pixels" = 4194304 } }, +] + +[provider_coverage] +openrouter = { "disposition" = "not_listed", "source_url" = "https://openrouter.ai/api/v1/models", "reason" = "The published model discovery list does not contain this exact model." } +vercel = { "disposition" = "not_listed", "source_url" = "https://ai-gateway.vercel.sh/v1/models", "reason" = "The published model discovery list does not contain this exact model." } +fal = { "disposition" = "listed", "source_url" = "https://fal.ai/models/alibaba/qwen-image-3/text-to-image" } +alibaba = { "disposition" = "listed", "source_url" = "https://help.aliyun.com/en/model-studio/qwen-image-3-0" } diff --git a/models/black-forest-labs/flux-3-video/card.toml b/models/black-forest-labs/flux-3-video/card.toml new file mode 100644 index 0000000..5d26ded --- /dev/null +++ b/models/black-forest-labs/flux-3-video/card.toml @@ -0,0 +1,223 @@ +id = "bfl/flux-3-video" +section = "video.models" +label = "FLUX 3 Video" +vendor = "black-forest-labs" +short_description = "Video generation from text or images with synchronized audio and clips up to 20 seconds." +url = "https://bfl.ai/models/flux-3-video" +audio = true +reference_provider = "bfl" +min_duration = 5 +max_duration = 20 + +[release] +date = "2026-08-04" +basis = "model" +source_url = "https://bfl.ai/blog/flux-3-video" + +[providers.bfl] +provider = "bfl" +id = "flux-3-video" +input = "text-or-image" +url = "https://docs.bfl.ai/flux_3/flux3_video" +source_url = "https://api.bfl.ai/openapi.json" +pricing = { "type" = "per_second_by_mode", "usd_per_second" = { "t2v" = { "hd" = 0.17, "fhd" = 0.29, "qhd" = 0.4, "uhd" = 0.8 }, "i2v" = { "hd" = 0.17, "fhd" = 0.29, "qhd" = 0.4, "uhd" = 0.8 }, "v2v" = { "hd" = 0.41, "fhd" = 0.53, "qhd" = 0.65, "uhd" = 0.95 } }, "source_url" = "https://docs.bfl.ai/quick_start/pricing" } +endpoints = [ + { id = "flux-3-video", input = "text", source_url = "https://api.bfl.ai/openapi.json", parameters = { mode = { type = "string", enum = [ + "t2v", + "i2v", + "v2v", + "draft_enhance", + ] }, duration = { enum = [ + "auto", + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + ] }, aspect_ratio = { type = "string", enum = [ + "auto", + "21:9", + "2:1", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16", + "9:21", + ] }, resolution = { type = "string", enum = [ + "hd", + "fhd", + "qhd", + "uhd", + ] } } }, +] + +[providers.fal] +provider = "fal" +id = "blackforestlabs/flux-3/text-to-video" +input = "text-or-image" +url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-video" +source_url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-video" +pricing = { "type" = "per_second", "usd_per_second" = { "720p" = { "audio" = 0.17 }, "1080p" = { "audio" = 0.29 } }, "source_url" = "https://fal.ai/models/blackforestlabs/flux-3/text-to-video" } +endpoints = [ + { "id" = "blackforestlabs/flux-3/text-to-video", "input" = "text", "source_url" = "https://fal.ai/models/blackforestlabs/flux-3/text-to-video/api", "parameters" = { "duration" = { "enum" = [ + "auto", + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + ] }, "resolution" = { "enum" = [ + "720p", + "1080p", + ], "type" = "string" }, "prompt" = { "type" = "string" }, "generate_audio" = { "type" = "boolean" }, "safety_tolerance" = { "type" = "integer", "maximum" = 4, "minimum" = 0 }, "aspect_ratio" = { "enum" = [ + "auto", + "21:9", + "2:1", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16", + ], "type" = "string" } } }, + { "id" = "blackforestlabs/flux-3/image-to-video", "input" = "image", "source_url" = "https://fal.ai/models/blackforestlabs/flux-3/image-to-video/api", "parameters" = { "duration" = { "enum" = [ + "auto", + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + ] }, "resolution" = { "enum" = [ + "720p", + "1080p", + ], "type" = "string" }, "prompt" = { "type" = "string" }, "generate_audio" = { "type" = "boolean" }, "image_url" = { "type" = "string" }, "safety_tolerance" = { "type" = "integer", "maximum" = 4, "minimum" = 0 }, "aspect_ratio" = { "enum" = [ + "auto", + "21:9", + "2:1", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16", + ], "type" = "string" } } }, +] + +[providers.openrouter] +provider = "openrouter" +id = "black-forest-labs/flux-3-video" +input = "text-or-image" +url = "https://openrouter.ai/api/v1/videos/models" +source_url = "https://openrouter.ai/api/v1/videos/models" +pricing = { "type" = "provider_skus", "skus" = { "cents_per_second_output" = "17", "cents_per_second_output_2k" = "28", "cents_per_second_output_4k" = "41", "cents_per_second_output_720p" = "17", "cents_per_second_output_1080p" = "29", "cents_per_second_video_continuation_2k" = "31", "cents_per_second_video_continuation_4k" = "45", "cents_per_second_video_continuation_720p" = "41", "cents_per_second_video_continuation_1080p" = "53" }, "source_unit_notes" = "cents_per: cents per named output/continuation unit", "source_url" = "https://openrouter.ai/api/v1/videos/models" } +endpoints = [ + { "id" = "black-forest-labs/flux-3-video", "input" = "text", "source_url" = "https://openrouter.ai/api/v1/videos/models", "parameters" = { "duration" = { "type" = "integer", "enum" = [ + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + ] }, "resolution" = { "type" = "string", "enum" = [ + "720p", + "1080p", + "2K", + "4K", + ] }, "aspect_ratio" = { "type" = "string", "enum" = [ + "21:9", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16", + ] } } }, +] + +[providers.vercel] +provider = "vercel" +id = "bfl/flux-3-video" +input = "text-or-image" +source_url = "https://ai-gateway.vercel.sh/v1/models" +url = "https://ai-gateway.vercel.sh/v1/models" +endpoints = [ + { "id" = "bfl/flux-3-video", "input" = "text", "source_url" = "https://ai-gateway.vercel.sh/v1/models", "parameters" = { "duration" = { "enum" = [ + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + ] }, "resolution" = { "enum" = [ + "hd", + "fhd", + ] }, "aspect_ratio" = { "enum" = [ + "21:9", + "2:1", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16", + ] } } }, +] +qualifications = [ + { "source_url" = "https://ai-gateway.vercel.sh/v1/models", "notes" = "The model is listed, but its pricing object is empty. No regular price or billing unit is inferred." }, +] + +[provider_coverage] +bfl = { "disposition" = "listed", "source_url" = "https://api.bfl.ai/openapi.json" } +fal = { "disposition" = "listed", "source_url" = "https://fal.ai/models/blackforestlabs/flux-3/text-to-video" } +openrouter = { "disposition" = "listed", "source_url" = "https://openrouter.ai/api/v1/videos/models" } +vercel = { "disposition" = "listed", "source_url" = "https://ai-gateway.vercel.sh/v1/models" } diff --git a/models/bytedance/seedance-2.5/card.toml b/models/bytedance/seedance-2.5/card.toml index 2fb239d..4cfa644 100644 --- a/models/bytedance/seedance-2.5/card.toml +++ b/models/bytedance/seedance-2.5/card.toml @@ -23,6 +23,9 @@ id = "bytedance/seedance-2.5/image-to-video" input = "image" avg_cost_usd = 2.37 url = "https://fal.ai/models/bytedance/seedance-2.5/image-to-video" +qualifications = [ + { source_url = "https://fal.ai/models/bytedance/seedance-2.5/text-to-video", notes = "The detailed text-to-video documentation requires end_user_id for B2B access. Its OpenAPI schema describes the same field as optional and nullable; that schema alone does not waive the documented B2B requirement." }, +] [providers.fal.pricing] type = "per_second" @@ -77,6 +80,69 @@ source_url = "https://fal.ai/models/bytedance/seedance-2.5/image-to-video/api" "prompt" = { "type" = "string" } "resolution" = { "type" = "string", "enum" = ["480p", "720p", "1080p"] } + +[[providers.fal.endpoints]] +id = "bytedance/seedance-2.5/text-to-video" +input = "text" +source_url = "https://fal.ai/models/bytedance/seedance-2.5/text-to-video/api" +parameters = { "codec" = { "type" = "string", "enum" = [ + "auto", + "H264", + "H265", +] }, "resolution" = { "type" = "string", "enum" = [ + "480p", + "720p", + "1080p", +] }, "prompt" = { "type" = "string" }, "generate_audio" = { "type" = "boolean" }, "bitrate_mode" = { "type" = "string", "enum" = [ + "standard", + "high", +] }, "duration" = { "type" = "string", "enum" = [ + "auto", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30", +] }, "end_user_id" = { "type" = "string" }, "draft" = { "type" = "boolean" }, "aspect_ratio" = { "type" = "string", "enum" = [ + "auto", + "21:9", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16", +] } } +published_pricing = { "source_url" = "https://fal.ai/models/bytedance/seedance-2.5/text-to-video", "currency" = "USD", "components" = [ + { "id" = "output_tokens_480p_720p", "meter" = "output_tokens", "unit" = "token", "per_quantity" = "1000", "usd_per_unit" = "0.0214", "when" = { "properties" = { "resolution" = { "enum" = [ + "480p", + "720p", + ] } }, "required" = [ + "resolution", + ] } }, +] } + [providers.vercel] provider = "vercel" id = "bytedance/seedance-2.5" diff --git a/models/fal/h3-max/card.toml b/models/fal/h3-max/card.toml new file mode 100644 index 0000000..c3fbda7 --- /dev/null +++ b/models/fal/h3-max/card.toml @@ -0,0 +1,101 @@ +id = "fal/h3-max" +section = "video.models" +label = "H3 Max" +vendor = "fal" +short_description = "fal-developed post-trained MiniMax H3 variant with faster video generation and native audio." +url = "https://blog.fal.ai/introducing-h3-max-by-fal/" +audio = true +reference_provider = "fal" +max_duration = 15 + +[release] +date = "2026-08-27" +basis = "model" +source_url = "https://blog.fal.ai/introducing-h3-max-by-fal/" + +[providers.fal] +provider = "fal" +id = "minimax/h3-max/text-to-video" +input = "text-or-image" +url = "https://fal.ai/models/minimax/h3-max/text-to-video" +source_url = "https://fal.ai/models/minimax/h3-max/text-to-video" +pricing = { "type" = "per_second", "usd_per_second" = { "480P" = { "audio" = 0.05 }, "768P" = { "audio" = 0.08 }, "1080P" = { "audio" = 0.16 } }, "source_url" = "https://fal.ai/models/minimax/h3-max/text-to-video" } +endpoints = [ + { "id" = "minimax/h3-max/text-to-video", "input" = "text", "source_url" = "https://fal.ai/models/minimax/h3-max/text-to-video/api", "parameters" = { "resolution" = { "type" = "string", "enum" = [ + "480P", + "768P", + "1080P", + ] }, "duration" = { "minimum" = 0.92, "type" = "number", "maximum" = 15 }, "prompt_expansion_mode" = { "type" = "string" }, "enable_safety_checker" = { "type" = "boolean" }, "seed" = { "type" = "integer" }, "sync_mode" = { "type" = "boolean" }, "prompt" = { "max_length" = 50000, "min_length" = 1, "type" = "string" }, "aspect_ratio" = { "type" = "string", "enum" = [ + "21:9", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16", + ] }, "target_audio_url" = { "min_length" = 1, "type" = "string" } } }, + { "id" = "minimax/h3-max/image-to-video", "input" = "image", "source_url" = "https://fal.ai/models/minimax/h3-max/image-to-video/api", "parameters" = { "end_image_url" = { "type" = "string" }, "resolution" = { "type" = "string", "enum" = [ + "480P", + "768P", + "1080P", + ] }, "duration" = { "minimum" = 0.92, "type" = "number", "maximum" = 15 }, "prompt_expansion_mode" = { "type" = "string" }, "enable_safety_checker" = { "type" = "boolean" }, "seed" = { "type" = "integer" }, "image_url" = { "type" = "string" }, "sync_mode" = { "type" = "boolean" }, "prompt" = { "max_length" = 50000, "min_length" = 1, "type" = "string" }, "target_audio_url" = { "min_length" = 1, "type" = "string" } } }, +] +qualifications = [ + { "source_url" = "https://fal.ai/models/minimax/h3-max/text-to-video", "notes" = "Rates are the explicitly stated regular prices, independently of an active temporary discount." }, + { "source_url" = "https://fal.ai/models/minimax/h3-max/text-to-video/api", "notes" = "The duration parameter spans 0.92–15 seconds; output may last about 0.7 seconds longer. This is not a precise billable-duration ceiling or rounding guarantee. Prompt-expansion mode examples are not a published enum." }, +] + +[providers.minimax] +provider = "minimax" +id = "MiniMax-H3-Max" +input = "text-or-image" +url = "https://platform.minimax.io/docs/api-reference/video-generation-v2-create" +source_url = "https://platform.minimax.io/docs/api-reference/video-generation-v2-create" +endpoints = [ + { "id" = "MiniMax-H3-Max", "input" = "text", "source_url" = "https://platform.minimax.io/docs/api-reference/video-generation-v2-create", "parameters" = { "duration" = { "type" = "integer", "minimum" = 5, "maximum" = 15 }, "resolution" = { "type" = "string", "enum" = [ + "480P", + "768P", + ] }, "extra.prompt_expansion_mode" = { "type" = "string" } } }, +] +pricing = { type = "per_second", usd_per_second = { "480P" = { audio = 0.05 }, "768P" = { audio = 0.08 } }, source_url = "https://platform.minimax.io/docs/pricing/overview" } +qualifications = [ + { source_url = "https://platform.minimax.io/docs/pricing/overview", notes = "Native reference input video is billed separately at USD 0.0553/s for 480P or USD 0.143/s for 768P. The first two reference images are included; additional reference images cost USD 0.074 each. These charges are distinct from text-only and first/last-frame output pricing." }, +] + +[providers.vercel] +provider = "vercel" +id = "minimax/minimax-h3-max" +input = "text-or-image" +source_url = "https://ai-gateway.vercel.sh/v1/models" +url = "https://ai-gateway.vercel.sh/v1/models" +endpoints = [ + { "id" = "minimax/minimax-h3-max", "input" = "text", "source_url" = "https://ai-gateway.vercel.sh/v1/models", "parameters" = { "duration" = { "enum" = [ + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + ] }, "resolution" = { "enum" = [ + "480p", + "768p", + ] }, "aspect_ratio" = { "enum" = [ + "21:9", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16", + ] } } }, +] +pricing = { "type" = "per_second", "usd_per_second" = { "480p" = { "audio" = 0.05 }, "768p" = { "audio" = 0.08 } }, "source_url" = "https://ai-gateway.vercel.sh/v1/models" } + +[provider_coverage] +fal = { "disposition" = "listed", "source_url" = "https://fal.ai/models/minimax/h3-max/text-to-video" } +minimax = { "disposition" = "listed", "source_url" = "https://platform.minimax.io/docs/api-reference/video-generation-v2-create" } +vercel = { "disposition" = "listed", "source_url" = "https://ai-gateway.vercel.sh/v1/models" } +openrouter = { "disposition" = "not_listed", "source_url" = "https://openrouter.ai/api/v1/videos/models", "reason" = "The exact variant is absent from the published video model discovery response. Other variants do not establish its availability." } diff --git a/models/fal/lab.toml b/models/fal/lab.toml new file mode 100644 index 0000000..8e08608 --- /dev/null +++ b/models/fal/lab.toml @@ -0,0 +1,9 @@ +name = "fal" +url = "https://fal.ai/" + +# Official wordmark extracted unchanged from the homepage header SVG. +[logo] +file = "logo.svg" +kind = "wordmark" +source_url = "https://fal.ai/" +retrieved = "2026-10-15" diff --git a/models/fal/logo.svg b/models/fal/logo.svg new file mode 100644 index 0000000..66342e8 --- /dev/null +++ b/models/fal/logo.svg @@ -0,0 +1 @@ + diff --git a/models/google/gemini-omni-1.1-flash/card.toml b/models/google/gemini-omni-1.1-flash/card.toml new file mode 100644 index 0000000..4f828f8 --- /dev/null +++ b/models/google/gemini-omni-1.1-flash/card.toml @@ -0,0 +1,60 @@ +id = "google/gemini-omni-1.1-flash" +section = "video.models" +label = "Gemini Omni 1.1 Flash" +vendor = "google" +short_description = "Production Gemini video generation with native audio and first/last-frame control." +url = "https://ai.google.dev/gemini-api/docs/models/gemini-omni-flash" +audio = true +reference_provider = "google" +min_duration = 3 +max_duration = 10 + +[release] +date = "2026-08-27" +basis = "model" +source_url = "https://blog.google/innovation-and-ai/technology/developers-tools/build-with-gemini-omni-1-1-flash/" + +[providers.google] +provider = "google" +id = "gemini-omni-1.1-flash" +input = "text-or-image" +url = "https://ai.google.dev/gemini-api/docs/models/gemini-omni-flash" +source_url = "https://ai.google.dev/gemini-api/docs/pricing" +pricing = { "type" = "per_token", "input" = 1.5, "output_text" = 9.0, "output_video" = 17.5, "unit" = "USD_per_million_tokens", "source_url" = "https://ai.google.dev/gemini-api/docs/pricing" } +qualifications = [ + { "source_url" = "https://ai.google.dev/gemini-api/docs/pricing", "notes" = "Native standard video billing is token-based. Google documents 5792 output tokens per second at 720p, not a general per-second rate for every resolution." }, +] + +[providers.fal] +provider = "fal" +id = "google/gemini-omni-flash/v1.1/text-to-video" +input = "text-or-image" +url = "https://fal.ai/models/google/gemini-omni-flash/v1.1/text-to-video" +source_url = "https://fal.ai/models/google/gemini-omni-flash/v1.1/text-to-video" +pricing = { "type" = "per_second", "usd_per_second" = { "360p" = { "audio" = 0.03 }, "720p" = { "audio" = 0.1 }, "1080p" = { "audio" = 0.15 }, "4k" = { "audio" = 0.3 } }, "source_url" = "https://fal.ai/models/google/gemini-omni-flash/v1.1/text-to-video" } +endpoints = [ + { "id" = "google/gemini-omni-flash/v1.1/text-to-video", "input" = "text", "source_url" = "https://fal.ai/models/google/gemini-omni-flash/v1.1/text-to-video/api", "parameters" = { "duration" = { "maximum" = 10, "minimum" = 3, "type" = "integer" }, "aspect_ratio" = { "type" = "string", "enum" = [ + "16:9", + "9:16", + ] }, "prompt" = { "max_length" = 20000, "type" = "string" }, "resolution" = { "type" = "string", "enum" = [ + "360p", + "720p", + "1080p", + "4k", + ] } } }, + { "id" = "google/gemini-omni-flash/v1.1/image-to-video", "input" = "image", "source_url" = "https://fal.ai/models/google/gemini-omni-flash/v1.1/image-to-video/api", "parameters" = { "duration" = { "maximum" = 10, "minimum" = 3, "type" = "integer" }, "end_image_url" = { "type" = "string" }, "aspect_ratio" = { "type" = "string", "enum" = [ + "16:9", + "9:16", + ] }, "prompt" = { "max_length" = 20000, "type" = "string" }, "image_url" = { "type" = "string" }, "resolution" = { "type" = "string", "enum" = [ + "360p", + "720p", + "1080p", + "4k", + ] } } }, +] + +[provider_coverage] +google = { "disposition" = "listed", "source_url" = "https://ai.google.dev/gemini-api/docs/pricing" } +fal = { "disposition" = "listed", "source_url" = "https://fal.ai/models/google/gemini-omni-flash/v1.1/text-to-video" } +openrouter = { "disposition" = "not_listed", "source_url" = "https://openrouter.ai/api/v1/videos/models", "reason" = "The exact variant is absent from the published video model discovery response. Other variants do not establish its availability." } +vercel = { "disposition" = "not_listed", "source_url" = "https://ai-gateway.vercel.sh/v1/models", "reason" = "The published discovery lists Gemini Omni Flash Preview, but not the stable Gemini Omni 1.1 Flash identity. Preview is not treated as the stable variant." } diff --git a/models/ideogram/ideogram-4.5/card.toml b/models/ideogram/ideogram-4.5/card.toml new file mode 100644 index 0000000..8d2cbb2 --- /dev/null +++ b/models/ideogram/ideogram-4.5/card.toml @@ -0,0 +1,132 @@ +id = "ideogram/ideogram-4.5" +section = "image.models" +vendor = "ideogram" +reference_provider = "ideogram" +label = "Ideogram 4.5" +short_description = "Image generation and precise editing with typography and reference-image control." +null_keys = ["release.date"] + +[release] +basis = "provider_endpoint" +source_url = "https://fal.ai/models/ideogram/v4.5/api" + +[providers.ideogram] +provider = "ideogram" +id = "ideogram-4-5" +url = "https://developer.ideogram.ai/ideogram-api/api-overview" +source_url = "https://developer.ideogram.ai/ideogram-api/api-overview" +qualifications = [ + { "source_url" = "https://ideogram.ai/pricing/?tool=ideogram", "notes" = "Native pricing distinguishes generation with and without source images and Precise Edit. The current pricing page returns dynamically loaded values; exact native regular rates are not copied from fal or an indexed snippet. Exact public launch day has not been established." }, +] +endpoints = [ + { "id" = "/v2/image/generate/ideogram-4-5", "input" = "text", "source_url" = "https://developer.ideogram.ai/api-reference/images/generate/ideogram-4-5" }, + { "id" = "/v2/image/precise-edit/ideogram-4-5", "input" = "multi_image", "source_url" = "https://developer.ideogram.ai/api-reference/images/precise-edit/ideogram-4-5", "parameters" = { "prompt" = { "type" = "string", "min_length" = 1, "max_length" = 10000 }, "reference_images" = { "type" = "array", "max_items" = 4 } } }, +] + +[providers.fal] +provider = "fal" +id = "ideogram/v4.5" +url = "https://fal.ai/models/ideogram/v4.5" +source_url = "https://fal.ai/models/ideogram/v4.5/api" +references = { "id" = "ideogram/v4.5/edit", "max" = 5 } +pricing = { "type" = "per_image_tiered", "tiers" = { "text/low" = 0.03, "text/medium" = 0.06, "text/high" = 0.22, "edit/very_low" = 0.008, "edit/low" = 0.03, "edit/medium" = 0.06, "edit/high" = 0.22 }, "source_url" = "https://fal.ai/models/ideogram/v4.5" } +qualifications = [ + { "source_url" = "https://fal.ai/models/ideogram/v4.5/api", "notes" = "Generation accepts only the documented 36 exact output sizes or fal presets, and charges by quality independently of image size." }, + { "source_url" = "https://fal.ai/models/ideogram/v4.5/edit/api", "notes" = "Editing requires a primary image_url separate from up to four reference_image_urls. With a mask, at most three references are permitted. High-precision and masked edits require automatic output geometry; custom dimensions are valid only for unmasked regular edits." }, +] +endpoints = [ + { "id" = "ideogram/v4.5", "input" = "text", "source_url" = "https://fal.ai/models/ideogram/v4.5/api", "parameters" = { "seed" = { "type" = "integer" }, "sync_mode" = { "type" = "boolean" }, "num_images" = { "minimum" = 1, "maximum" = 8, "type" = "integer" }, "enable_prompt_expansion" = { "type" = "boolean" }, "quality" = { "enum" = [ + "low", + "medium", + "high", + ], "type" = "string" }, "prompt" = { "type" = "string", "max_length" = 10000, "min_length" = 1 }, "image_size" = { "enum" = [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9", + { "width" = 1024, "height" = 1024 }, + { "width" = 1024, "height" = 3072 }, + { "width" = 1120, "height" = 896 }, + { "width" = 1152, "height" = 2944 }, + { "width" = 1152, "height" = 864 }, + { "width" = 1248, "height" = 3328 }, + { "width" = 1248, "height" = 832 }, + { "width" = 1280, "height" = 3072 }, + { "width" = 1280, "height" = 720 }, + { "width" = 1280, "height" = 800 }, + { "width" = 1296, "height" = 3168 }, + { "width" = 1440, "height" = 2560 }, + { "width" = 1440, "height" = 2880 }, + { "width" = 1440, "height" = 720 }, + { "width" = 1600, "height" = 2560 }, + { "width" = 1664, "height" = 2496 }, + { "width" = 1728, "height" = 2304 }, + { "width" = 1792, "height" = 2240 }, + { "width" = 2048, "height" = 2048 }, + { "width" = 2240, "height" = 1792 }, + { "width" = 2304, "height" = 1728 }, + { "width" = 2496, "height" = 1664 }, + { "width" = 2560, "height" = 1440 }, + { "width" = 2560, "height" = 1600 }, + { "width" = 2880, "height" = 1440 }, + { "width" = 2944, "height" = 1152 }, + { "width" = 3072, "height" = 1024 }, + { "width" = 3072, "height" = 1280 }, + { "width" = 3168, "height" = 1296 }, + { "width" = 3328, "height" = 1248 }, + { "width" = 720, "height" = 1280 }, + { "width" = 720, "height" = 1440 }, + { "width" = 800, "height" = 1280 }, + { "width" = 832, "height" = 1248 }, + { "width" = 864, "height" = 1152 }, + { "width" = 896, "height" = 1120 }, + ] } }, "published_pricing" = { "source_url" = "https://fal.ai/models/ideogram/v4.5", "currency" = "USD", "components" = [ + { "id" = "low", "meter" = "generated_images", "unit" = "image", "usd_per_unit" = "0.03", "when" = { "required" = [ + "quality", + ], "properties" = { "quality" = { "const" = "low" } } } }, + { "id" = "medium", "meter" = "generated_images", "unit" = "image", "usd_per_unit" = "0.06", "when" = { "required" = [ + "quality", + ], "properties" = { "quality" = { "const" = "medium" } } } }, + { "id" = "high", "meter" = "generated_images", "unit" = "image", "usd_per_unit" = "0.22", "when" = { "required" = [ + "quality", + ], "properties" = { "quality" = { "const" = "high" } } } }, + ] } }, + { "id" = "ideogram/v4.5/edit", "input" = "multi_image", "source_url" = "https://fal.ai/models/ideogram/v4.5/edit/api", "parameters" = { "image_size" = { "enum" = [ + "auto", + "square", + "square_hd", + "portrait_4_3", + "landscape_4_3", + "portrait_16_9", + "landscape_16_9", + ], "type" = "string" }, "seed" = { "type" = "integer" }, "mask_url" = { "type" = "string" }, "reference_image_urls" = { "max_items" = 4, "type" = "array" }, "edit_precision" = { "enum" = [ + "regular", + "high", + ], "type" = "string" }, "num_images" = { "minimum" = 1, "maximum" = 8, "type" = "integer" }, "image_url" = { "type" = "string" }, "quality" = { "enum" = [ + "very_low", + "low", + "medium", + "high", + ], "type" = "string" }, "prompt" = { "type" = "string", "max_length" = 10000, "min_length" = 1 }, "sync_mode" = { "type" = "boolean" }, "image_size.width" = { "type" = "integer", "minimum" = 256, "multiple_of" = 32 }, "image_size.height" = { "type" = "integer", "minimum" = 256, "multiple_of" = 32 } }, "published_pricing" = { "source_url" = "https://fal.ai/models/ideogram/v4.5/edit", "currency" = "USD", "components" = [ + { "id" = "very_low", "meter" = "generated_images", "unit" = "image", "usd_per_unit" = "0.008", "when" = { "required" = [ + "quality", + ], "properties" = { "quality" = { "const" = "very_low" } } } }, + { "id" = "low", "meter" = "generated_images", "unit" = "image", "usd_per_unit" = "0.03", "when" = { "required" = [ + "quality", + ], "properties" = { "quality" = { "const" = "low" } } } }, + { "id" = "medium", "meter" = "generated_images", "unit" = "image", "usd_per_unit" = "0.06", "when" = { "required" = [ + "quality", + ], "properties" = { "quality" = { "const" = "medium" } } } }, + { "id" = "high", "meter" = "generated_images", "unit" = "image", "usd_per_unit" = "0.22", "when" = { "required" = [ + "quality", + ], "properties" = { "quality" = { "const" = "high" } } } }, + ] } }, +] + +[provider_coverage] +openrouter = { "disposition" = "not_listed", "source_url" = "https://openrouter.ai/api/v1/models", "reason" = "The published model discovery list does not contain this exact model." } +vercel = { "disposition" = "not_listed", "source_url" = "https://ai-gateway.vercel.sh/v1/models", "reason" = "The published model discovery list does not contain this exact model." } +fal = { "disposition" = "listed", "source_url" = "https://fal.ai/models/ideogram/v4.5" } +ideogram = { "disposition" = "listed", "source_url" = "https://developer.ideogram.ai/ideogram-api/api-overview" } diff --git a/models/ideogram/lab.toml b/models/ideogram/lab.toml new file mode 100644 index 0000000..d48d94b --- /dev/null +++ b/models/ideogram/lab.toml @@ -0,0 +1,2 @@ +name = "Ideogram" +url = "https://ideogram.ai/" diff --git a/models/meta/muse-image-1.0/card.toml b/models/meta/muse-image-1.0/card.toml index 947f96b..01fadfb 100644 --- a/models/meta/muse-image-1.0/card.toml +++ b/models/meta/muse-image-1.0/card.toml @@ -22,12 +22,34 @@ id = "meta/muse-image-1.0" pricing = { type = "per_image_flat", usd = 0.01 } avg_cost_usd = 0.01 + [providers.fal] provider = "fal" id = "meta/muse-image/text-to-image" -pricing = { type = "per_image_flat", usd = 0.01 } -avg_cost_usd = 0.01 +source_url = "https://fal.ai/models/meta/muse-image/text-to-image/api" url = "https://fal.ai/models/meta/muse-image/text-to-image" +pricing = { "type" = "per_image_flat", "usd" = 0.01, "source_url" = "https://fal.ai/models/meta/muse-image/text-to-image" } +avg_cost_usd = 0.01 +references = { "id" = "meta/muse-image/edit", "max" = 10 } +qualifications = [ + { "source_url" = "https://fal.ai/models/meta/muse-image/text-to-image/api", "notes" = "Aspect ratios select shape at a fixed model resolution of approximately 2.5 megapixels; they do not specify output pixel dimensions." }, +] +endpoints = [ + { "id" = "meta/muse-image/text-to-image", "input" = "text", "source_url" = "https://fal.ai/models/meta/muse-image/text-to-image/api", "parameters" = { "num_images" = { "minimum" = 1, "maximum" = 10, "type" = "integer" }, "output_format" = { "enum" = [ + "jpeg", + "png", + "webp", + ], "type" = "string" }, "sync_mode" = { "type" = "boolean" }, "prompt" = { "min_length" = 1, "type" = "string" }, "aspect_ratio" = { "type" = "string" } }, "image_constraints" = { "aspect_ratio" = { "min" = 0.0625, "max" = 16 } }, "published_pricing" = { "source_url" = "https://fal.ai/models/meta/muse-image/text-to-image", "currency" = "USD", "components" = [ + { "meter" = "generated_images", "unit" = "image", "usd_per_unit" = "0.01" }, + ] } }, + { "id" = "meta/muse-image/edit", "input" = "multi_image", "source_url" = "https://fal.ai/models/meta/muse-image/edit/api", "parameters" = { "num_images" = { "minimum" = 1, "maximum" = 10, "type" = "integer" }, "output_format" = { "enum" = [ + "jpeg", + "png", + "webp", + ], "type" = "string" }, "sync_mode" = { "type" = "boolean" }, "image_urls" = { "type" = "array", "min_items" = 1, "max_items" = 10 }, "prompt" = { "min_length" = 1, "type" = "string" }, "aspect_ratio" = { "type" = "string" } }, "image_constraints" = { "aspect_ratio" = { "min" = 0.0625, "max" = 16 } }, "published_pricing" = { "source_url" = "https://fal.ai/models/meta/muse-image/edit", "currency" = "USD", "components" = [ + { "meter" = "generated_images", "unit" = "image", "usd_per_unit" = "0.01" }, + ] } }, +] [providers.meta] provider = "meta" diff --git a/models/minimax/h3/card.toml b/models/minimax/h3/card.toml new file mode 100644 index 0000000..8edf281 --- /dev/null +++ b/models/minimax/h3/card.toml @@ -0,0 +1,118 @@ +id = "minimax/h3" +section = "video.models" +label = "MiniMax H3" +vendor = "minimax" +short_description = "Multimodal video generation with native stereo audio and first/last-frame conditioning." +url = "https://www.minimax.io/blog/minimax-h3" +audio = true +reference_provider = "minimax" +min_duration = 4 +max_duration = 15 + +[release] +date = "2026-07-31" +basis = "model" +source_url = "https://www.minimax.io/blog/minimax-h3" + +[distribution] +source_url = "https://github.com/MiniMax-AI/MiniMax-H3" +code = { "repository_url" = "https://github.com/MiniMax-AI/MiniMax-H3", "license" = { "name" = "MiniMax H3 Community License Agreement", "url" = "https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/LICENSE" } } +weights = [ + { "id" = "MiniMaxAI/MiniMax-H3", "url" = "https://huggingface.co/MiniMaxAI/MiniMax-H3", "license" = { "name" = "MiniMax H3 Community License Agreement", "url" = "https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/LICENSE" }, "access" = "public" }, +] + +[providers.minimax] +provider = "minimax" +id = "MiniMax-H3" +input = "text-or-image" +url = "https://platform.minimax.io/docs/api-reference/video-generation-v2-create" +source_url = "https://platform.minimax.io/docs/api-reference/video-generation-v2-create" +pricing = { "type" = "per_second", "usd_per_second" = { "768P" = { "audio" = 0.08 }, "2K" = { "audio" = 0.13 } }, "source_url" = "https://platform.minimax.io/docs/pricing/overview" } +endpoints = [ + { "id" = "MiniMax-H3", "input" = "text", "source_url" = "https://platform.minimax.io/docs/api-reference/video-generation-v2-create", "parameters" = { "duration" = { "type" = "integer", "minimum" = 4, "maximum" = 15 }, "resolution" = { "type" = "string", "enum" = [ + "768P", + "2K", + ] }, "ratio" = { "type" = "string", "enum" = [ + "21:9", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16", + ] } } }, +] +qualifications = [ + { "source_url" = "https://platform.minimax.io/docs/pricing/overview", "notes" = "The native API charges reference input video seconds separately; its first five reference images are included and each additional image costs USD 0.04. These are distinct from frame-conditioned and text-only output rates." }, +] + +[providers.fal] +provider = "fal" +id = "minimax/h3/text-to-video" +input = "text-or-image" +url = "https://fal.ai/models/minimax/h3/text-to-video" +source_url = "https://fal.ai/models/minimax/h3/text-to-video" +pricing = { "type" = "per_second", "usd_per_second" = { "480P" = { "audio" = 0.05 }, "768P" = { "audio" = 0.06 }, "2K" = { "audio" = 0.13 }, "4K" = { "audio" = 0.16 } }, "source_url" = "https://fal.ai/models/minimax/h3/text-to-video" } +endpoints = [ + { "id" = "minimax/h3/text-to-video", "input" = "text", "source_url" = "https://fal.ai/models/minimax/h3/text-to-video/api", "parameters" = { "enable_safety_checker" = { "type" = "boolean" }, "prompt" = { "max_length" = 50000, "min_length" = 1, "type" = "string" }, "seed" = { "type" = "integer" }, "sync_mode" = { "type" = "boolean" }, "aspect_ratio" = { "enum" = [ + "21:9", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16", + ], "type" = "string" }, "resolution" = { "enum" = [ + "480P", + "768P", + "2K", + "4K", + ], "type" = "string" }, "target_audio_url" = { "min_length" = 1, "type" = "string" }, "duration" = { "maximum" = 15, "minimum" = 5, "type" = "integer" }, "prompt_expansion_mode" = { "type" = "string" } } }, + { "id" = "minimax/h3/image-to-video", "input" = "image", "source_url" = "https://fal.ai/models/minimax/h3/image-to-video/api", "parameters" = { "enable_safety_checker" = { "type" = "boolean" }, "prompt" = { "max_length" = 50000, "min_length" = 1, "type" = "string" }, "seed" = { "type" = "integer" }, "sync_mode" = { "type" = "boolean" }, "image_url" = { "type" = "string" }, "resolution" = { "enum" = [ + "480P", + "768P", + "2K", + "4K", + ], "type" = "string" }, "end_image_url" = { "type" = "string" }, "target_audio_url" = { "min_length" = 1, "type" = "string" }, "duration" = { "maximum" = 15, "minimum" = 5, "type" = "integer" }, "prompt_expansion_mode" = { "type" = "string" } } }, +] +qualifications = [ + { "source_url" = "https://fal.ai/models/minimax/h3/image-to-video/api", "notes" = "First and last frame inputs are optional independently; a last frame can be supplied without a first frame. The output canvas follows the available frame. fal accepts integer durations 5–15, independently of native 4–15." }, +] + +[providers.vercel] +provider = "vercel" +id = "minimax/minimax-h3" +input = "text-or-image" +source_url = "https://ai-gateway.vercel.sh/v1/models" +url = "https://ai-gateway.vercel.sh/v1/models" +endpoints = [ + { "id" = "minimax/minimax-h3", "input" = "text", "source_url" = "https://ai-gateway.vercel.sh/v1/models", "parameters" = { "duration" = { "enum" = [ + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + ] }, "resolution" = { "enum" = [ + "2k", + "768p", + ] }, "aspect_ratio" = { "enum" = [ + "21:9", + "16:9", + "4:3", + "1:1", + "3:4", + "9:16", + ] } } }, +] +pricing = { "type" = "per_second", "usd_per_second" = { "2k" = { "audio" = 0.13 }, "768p" = { "audio" = 0.08 } }, "source_url" = "https://ai-gateway.vercel.sh/v1/models" } + +[provider_coverage] +minimax = { "disposition" = "listed", "source_url" = "https://platform.minimax.io/docs/api-reference/video-generation-v2-create" } +fal = { "disposition" = "listed", "source_url" = "https://fal.ai/models/minimax/h3/text-to-video" } +vercel = { "disposition" = "listed", "source_url" = "https://ai-gateway.vercel.sh/v1/models" } +openrouter = { "disposition" = "not_listed", "source_url" = "https://openrouter.ai/api/v1/videos/models", "reason" = "The exact variant is absent from the published video model discovery response. Other variants do not establish its availability." } diff --git a/models/minimax/lab.toml b/models/minimax/lab.toml new file mode 100644 index 0000000..7fdd8d7 --- /dev/null +++ b/models/minimax/lab.toml @@ -0,0 +1,9 @@ +name = "MiniMax" +url = "https://www.minimax.io/" + +# Official lockup served by the homepage header, retained unchanged. +[logo] +file = "logo.webp" +kind = "lockup" +source_url = "https://www.minimax.io/assets/logo/minimax-horizontal-brand-black.webp" +retrieved = "2026-10-15" diff --git a/models/minimax/logo.webp b/models/minimax/logo.webp new file mode 100644 index 0000000000000000000000000000000000000000..af8b7edbb4a2951ce32f229f7d23703b5eb9064c GIT binary patch literal 7122 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 literal 0 HcmV?d00001 diff --git a/models/reve/lab.toml b/models/reve/lab.toml new file mode 100644 index 0000000..91b738a --- /dev/null +++ b/models/reve/lab.toml @@ -0,0 +1,9 @@ +name = "Reve" +url = "https://reve.com/" + +# Official inline wordmark extracted from the blog header; paths are unchanged and an XML namespace is added for a standalone SVG. +[logo] +file = "logo.svg" +kind = "wordmark" +source_url = "https://blog.reve.com/" +retrieved = "2026-10-15" diff --git a/models/reve/logo.svg b/models/reve/logo.svg new file mode 100644 index 0000000..c8341dd --- /dev/null +++ b/models/reve/logo.svg @@ -0,0 +1,10 @@ + + + + diff --git a/models/reve/reve-2.1/card.toml b/models/reve/reve-2.1/card.toml new file mode 100644 index 0000000..79bb5d7 --- /dev/null +++ b/models/reve/reve-2.1/card.toml @@ -0,0 +1,30 @@ +id = "reve/reve-2.1" +section = "image.models" +vendor = "reve" +label = "Reve 2.1" +short_description = "Native 4K generation and editing with layout and typography understanding." + +[release] +date = "2026-07-09" +basis = "model" +source_url = "https://blog.reve.com/posts/launching-reve-2.1/" + +[providers.fal] +provider = "fal" +id = "reve/2.1/text-to-image" +pricing = { type = "per_image_flat", usd = 0.25, source_url = "https://fal.ai/learn/tools/how-to-use-reve-2-1" } +url = "https://fal.ai/reve-2.1" +source_url = "https://fal.ai/reve-2.1" +qualifications = [ + { "source_url" = "https://fal.ai/reve-2.1", "notes" = "The provider landing page advertises generation, single-image edit and multi-reference remix. The exact endpoint schema could not be retrieved from the published endpoint documentation. Detailed parameter names, result envelope and limits are not inferred; regular per-image pricing is sourced independently from the provider tutorial." }, +] +endpoints = [ + { "id" = "reve/2.1/text-to-image", "input" = "text", "source_url" = "https://fal.ai/reve-2.1" }, + { "id" = "reve/2.1/edit", "input" = "image", "source_url" = "https://fal.ai/reve-2.1" }, + { "id" = "reve/2.1/remix", "input" = "multi_image", "source_url" = "https://fal.ai/reve-2.1" }, +] + +[provider_coverage] +openrouter = { "disposition" = "not_listed", "source_url" = "https://openrouter.ai/api/v1/models", "reason" = "The published model discovery list does not contain this exact model." } +vercel = { "disposition" = "not_listed", "source_url" = "https://ai-gateway.vercel.sh/v1/models", "reason" = "The published model discovery list does not contain this exact model." } +fal = { "disposition" = "listed", "source_url" = "https://fal.ai/reve-2.1" } diff --git a/models/xai/grok-imagine-video-1.5/card.toml b/models/xai/grok-imagine-video-1.5/card.toml index ce57928..f9344fa 100644 --- a/models/xai/grok-imagine-video-1.5/card.toml +++ b/models/xai/grok-imagine-video-1.5/card.toml @@ -61,6 +61,36 @@ source_url = "https://fal.ai/models/xai/grok-imagine-video/v1.5/image-to-video/a "prompt" = { "max_length" = 4096, "type" = "string" } "resolution" = { "type" = "string", "enum" = ["480p", "720p", "1080p"] } + +[[providers.fal.endpoints]] +id = "xai/grok-imagine-video/v1.5/text-to-video" +input = "text" +source_url = "https://fal.ai/models/xai/grok-imagine-video/v1.5/text-to-video/api" +parameters = { "prompt" = { "type" = "string", "max_length" = 4096 }, "aspect_ratio" = { "type" = "string", "enum" = [ + "16:9", + "4:3", + "3:2", + "1:1", + "2:3", + "3:4", + "9:16", +] }, "enable_safety_checker" = { "type" = "boolean" }, "duration" = { "type" = "integer", "maximum" = 15, "minimum" = 1 }, "resolution" = { "type" = "string", "enum" = [ + "480p", + "720p", + "1080p", +] } } +published_pricing = { "source_url" = "https://fal.ai/models/xai/grok-imagine-video/v1.5/text-to-video", "currency" = "USD", "components" = [ + { "id" = "output_seconds_480p", "meter" = "output_seconds", "unit" = "second", "per_quantity" = "1", "usd_per_unit" = "0.08", "when" = { "properties" = { "resolution" = { "const" = "480p" } }, "required" = [ + "resolution", + ] } }, + { "id" = "output_seconds_720p", "meter" = "output_seconds", "unit" = "second", "per_quantity" = "1", "usd_per_unit" = "0.14", "when" = { "properties" = { "resolution" = { "const" = "720p" } }, "required" = [ + "resolution", + ] } }, + { "id" = "output_seconds_1080p", "meter" = "output_seconds", "unit" = "second", "per_quantity" = "1", "usd_per_unit" = "0.25", "when" = { "properties" = { "resolution" = { "const" = "1080p" } }, "required" = [ + "resolution", + ] } }, +] } + [providers.xai] provider = "xai" id = "grok-imagine-video-1.5" From 0831f5d99111871d74e60d60f87a08ace7442fb9 Mon Sep 17 00:00:00 2001 From: Universe Date: Thu, 15 Oct 2026 03:19:02 +0900 Subject: [PATCH 2/2] docs: retain sourced video token dimensions --- catalogue/PROVENANCE.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/catalogue/PROVENANCE.md b/catalogue/PROVENANCE.md index 958aadb..eb18216 100644 --- a/catalogue/PROVENANCE.md +++ b/catalogue/PROVENANCE.md @@ -1153,6 +1153,20 @@ includes 1080p even though the detailed page's older input table lists only 480p and 720p; endpoint parameters follow the exact OpenAPI schema. Defaults and adaptive output options are not inferred as fixed billable output sizes. +The same detailed fal page publishes these output dimensions for explicit +framing. The formula uses 24 frames/second and divides pixel-frames by 1024; +multiply the resulting output-token count by USD 0.0214/1,000 for these tiers. +Do not infer a fixed dimension for `auto` or extrapolate this table to 1080p. + +| Aspect ratio | 480p width × height | 720p width × height | +| ------------ | ------------------- | ------------------- | +| `21:9` | 992 × 432 | 1470 × 630 | +| `16:9` | 864 × 496 | 1280 × 720 | +| `4:3` | 752 × 560 | 1112 × 834 | +| `1:1` | 640 × 640 | 960 × 960 | +| `3:4` | 560 × 752 | 834 × 1112 | +| `9:16` | 496 × 864 | 720 × 1280 | + Grok text generation has no input-image charge. Its independently sourced output-second rates are USD 0.08 at 480p, 0.14 at 720p and 0.25 at 1080p on the [text endpoint page](https://fal.ai/models/xai/grok-imagine-video/v1.5/text-to-video).