From 60b5a6f23df473cd4be376af849fca32c4585725 Mon Sep 17 00:00:00 2001 From: Universe Date: Thu, 5 Nov 2026 22:58:01 +0900 Subject: [PATCH 1/5] data: add current GPT Gemini and FLUX family models --- catalogue/PROVENANCE.md | 116 + catalogue/models.json | 8047 ++++++++++------- .../black-forest-labs/flux-3-image/card.toml | 178 + models/google/gemini-4-argon/card.toml | 142 + models/openai/gpt-6.1-terra/card.toml | 184 + models/openai/gpt-image-2.6-flare/card.toml | 274 + .../openai/gpt-image-2.6-sunburst/card.toml | 274 + 7 files changed, 6154 insertions(+), 3061 deletions(-) create mode 100644 models/black-forest-labs/flux-3-image/card.toml create mode 100644 models/google/gemini-4-argon/card.toml create mode 100644 models/openai/gpt-6.1-terra/card.toml create mode 100644 models/openai/gpt-image-2.6-flare/card.toml create mode 100644 models/openai/gpt-image-2.6-sunburst/card.toml diff --git a/catalogue/PROVENANCE.md b/catalogue/PROVENANCE.md index 9803180..b664bd8 100644 --- a/catalogue/PROVENANCE.md +++ b/catalogue/PROVENANCE.md @@ -1282,3 +1282,119 @@ service contracts, not claims of parameter or pricing parity with another provider. Reference limits, dimension rules and supported video options are defined by the linked operation-specific schemas. No native model release dates or other providers' listed prices change. + +## November 2026 family additions + +### `openai/gpt-6.1-terra` + +OpenAI's October 26 changelog establishes broad availability of the exact model. +The native model page supplies the 1,050,000-token context, 128,000-token output +limit, supported reasoning efforts and Standard token rates. Thirty-minute cache +writes are a separate meter. The request-wide long-context boundary is strictly +more than 272,000 input tokens on OpenAI and Vercel; OpenRouter's feed instead +starts its override at 272,000. Each binding retains its own boundary. + +- https://developers.openai.com/api/docs/changelog +- https://developers.openai.com/api/docs/models/gpt-6.1-terra +- https://vercel.com/ai-gateway/models/gpt-6.1-terra +- https://ai-gateway.vercel.sh/v1/models +- https://openrouter.ai/api/v1/models + +Tool calling on the native API requires Responses. Image input is supported, but +the image-tokenization tables do not identify this exact model; no multiplier is +borrowed from Sol or a previous Terra model. +https://developers.openai.com/api/docs/guides/images-vision + +### `google/gemini-4-argon` + +The October 13 changelog establishes general availability, following an earlier +restricted rollout. Native Standard regular rates are $4 input, $20 output and +$0.20 implicit-cache reads per million tokens. The native pricing page explicitly +publishes those regular rates. Vercel's model-page backing-model records independently +publish `inputListCostTiers`, `outputListCostTiers` and +`cachedInputListCostTiers` with those amounts and `priceType: "list"` for its +Google and Vertex offerings. The catalogue records these list amounts rather than +the introductory rates in current model feeds. No rate is reconstructed from a +discount percentage. OpenRouter's verified binding remains without a regular +price because its feed does not separately establish one. + +- https://ai.google.dev/gemini-api/docs/changelog +- https://ai.google.dev/gemini-api/docs/pricing +- https://vercel.com/ai-gateway/models/gemini-4-argon +- https://openrouter.ai/api/v1/models + +The native input, thinking and output share a 1,048,576-token window. Default +synchronous output is 65,536; larger generations use continuation hops or +background execution. The native card records that default output ceiling, while +provider discovery limits retain their published values with this qualification. +The media-resolution table explicitly covers Gemini 4 and Gemini 3 and marks its +image-token counts as approximate. Explicit caching is not supported. + +- https://ai.google.dev/gemini-api/docs/models/gemini-4-argon +- https://ai.google.dev/gemini-api/docs/latest-model +- https://ai.google.dev/gemini-api/docs/media-resolution + +### `openai/gpt-image-2.6-flare` and `openai/gpt-image-2.6-sunburst` + +The November 4 API changelog establishes release of both variants. Native token +rates remain distinct for text input, image input and image output. fal separately +publishes its text-output meter and rounds total cost upward to $0.0001. + +- https://developers.openai.com/api/docs/changelog +- https://developers.openai.com/api/docs/models/gpt-image-2.6-flare +- https://developers.openai.com/api/docs/models/gpt-image-2.6-sunburst +- https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image +- https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image + +The current official output calculator uses the same base grid axes as GPT Image +2.5, then multiplies the **already-ceiled** base token count by 4.2 for `low`, 3.3 +for `medium`, and 1 for the other qualities. Its final JavaScript `Math.round` +step rounds positive half ties upward. This second step is recorded explicitly; +copying the 2.5 formula alone would understate low and medium output tokens. Square +examples are reproduced from the published calculator, not inferred from rounded +image-price examples. The calculator estimates raster output only; it excludes +text/image input and partial-image charges. + +- https://developers.openai.com/api/docs/guides/image-generation +- https://developers.openai.com/_astro/GptImageTokenCalculator.react.SM_UvXcs.js + +Provider format differences are intentional. The native guide permits GIF only +on generation, with 2–64 frames. fal generation permits GIF and SVG, whereas its +edit schema lists GIF but no SVG, with 2–16 frames. Both native and fal describe +20–2,000 ms frame durations rounded to 10 ms; all frames/outputs share the request +pixel budget. OpenRouter lists PNG/JPEG/WebP only. The catalogue preserves each +provider's documented surface rather than claiming format parity. SVG includes +separately billed authoring-model tokens, not just the raster token rates. + +- https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image/api +- https://fal.ai/models/openai/gpt-image-2.6/flare/edit/api +- https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image/api +- https://fal.ai/models/openai/gpt-image-2.6/sunburst/edit/api +- https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-flare/endpoints +- https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-sunburst/endpoints + +### `bfl/flux-3-image` + +BFL's published launch-pricing terms identify October 1 as the public image +launch; the earlier FLUX 3 announcement describes image access as forthcoming, +not broad availability. Vercel's October 5 listing is later provider availability +and does not replace the model release date. + +- https://bfl.ai/pricing +- https://bfl.ai/blog/flux-3 +- https://vercel.com/ai-gateway/models/flux-3-image + +Native, Vercel and OpenRouter publish per-image resolution tiers. The native price +includes reference images and prompts at no extra charge. fal's page and billing +metadata instead name a $0.048 megapixel unit; that source does not establish +quantity rounding, all resolution-tier rates or reference billing scope. These +are not silently replaced with BFL's flat per-image tiers. fal's exact API schema +lists `768sq`, `1k`, `1.5k`, `2k`, `4k`; its narrative table instead lists `512sq` +and omits `1.5k`. The exact endpoint schema supplies the fal parameter list. + +- https://bfl.ai/pricing?category=flux+3+image +- https://ai-gateway.vercel.sh/v1/models +- https://openrouter.ai/api/v1/images/models/black-forest-labs/flux-3-image/endpoints +- https://fal.ai/models/blackforestlabs/flux-3/text-to-image +- https://fal.ai/models/blackforestlabs/flux-3/text-to-image/api +- https://fal.ai/models/blackforestlabs/flux-3/edit-image/api diff --git a/catalogue/models.json b/catalogue/models.json index 0e2c2e5..32e0f83 100644 --- a/catalogue/models.json +++ b/catalogue/models.json @@ -2612,6 +2612,179 @@ } } }, + "google/gemini-4-argon": { + "id": "google/gemini-4-argon", + "vendor": "google", + "reference_provider": "google", + "label": "Gemini 4 Argon", + "multimodal": true, + "image_input_mimes": [ + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif" + ], + "tool_call": true, + "context_window": 1048576, + "output_limit": 65536, + "cost": { + "input": 4, + "output": 20, + "cache_read": 0.2 + }, + "release": { + "date": "2026-10-13", + "basis": "model", + "source_url": "https://ai.google.dev/gemini-api/docs/changelog" + }, + "vision_tokenization": { + "source_url": "https://ai.google.dev/gemini-api/docs/media-resolution", + "maximum_tokens_per_image": 2240, + "token_counts_approximate": true, + "detail_token_budgets": { + "unspecified": 1120, + "low": 280, + "medium": 560, + "high": 1120, + "ultra_high": 2240 + } + }, + "providers": { + "google": { + "provider": "google", + "id": "gemini-4-argon", + "url": "https://ai.google.dev/gemini-api/docs/models/gemini-4-argon", + "source_url": "https://ai.google.dev/gemini-api/docs/models/gemini-4-argon", + "endpoints": [ + { + "id": "gemini-4-argon", + "input": "text", + "source_url": "https://ai.google.dev/gemini-api/docs/models/gemini-4-argon" + } + ], + "qualifications": [ + { + "source_url": "https://ai.google.dev/gemini-api/docs/latest-model", + "notes": "Native default synchronous output is 65,536 tokens within the unified 1,048,576-token input/thinking/output window. Longer output uses continuation hops/background execution; provider discovery limits must not be interpreted as a single synchronous hop." + } + ], + "limits": { + "source_url": "https://ai.google.dev/gemini-api/docs/models/gemini-4-argon", + "context_tokens": 1048576, + "max_output_tokens": 65536 + }, + "capabilities": { + "source_url": "https://ai.google.dev/gemini-api/docs/models/gemini-4-argon", + "image_input": true, + "tools": true, + "reasoning": true, + "structured_output": true + }, + "token_pricing": { + "source_url": "https://ai.google.dev/gemini-api/docs/pricing", + "unit": "usd_per_token", + "scope": "Regular Standard global token rates. Implicit caching only. Introductory discounts, grounding tools and alternate service tiers are excluded.", + "input": "0.000004", + "output": "0.00002", + "input_cache_read": "0.0000002" + } + }, + "vercel": { + "provider": "vercel", + "id": "google/gemini-4-argon", + "url": "https://vercel.com/ai-gateway/models/gemini-4-argon", + "source_url": "https://vercel.com/ai-gateway/models/gemini-4-argon", + "endpoints": [ + { + "id": "google/gemini-4-argon", + "input": "text", + "source_url": "https://vercel.com/ai-gateway/models/gemini-4-argon" + } + ], + "qualifications": [ + { + "source_url": "https://ai.google.dev/gemini-api/docs/latest-model", + "notes": "Native default synchronous output is 65,536 tokens within the unified 1,048,576-token input/thinking/output window. Longer output uses continuation hops/background execution; provider discovery limits must not be interpreted as a single synchronous hop." + } + ], + "limits": { + "source_url": "https://vercel.com/ai-gateway/models/gemini-4-argon", + "context_tokens": 1000000, + "max_output_tokens": 1000000 + }, + "capabilities": { + "source_url": "https://vercel.com/ai-gateway/models/gemini-4-argon", + "image_input": true, + "tools": true, + "reasoning": true, + "structured_output": true + }, + "token_pricing": { + "source_url": "https://vercel.com/ai-gateway/models/gemini-4-argon", + "unit": "usd_per_token", + "scope": "Regular Standard global token rates. Implicit caching only. Introductory discounts, grounding tools and alternate service tiers are excluded.", + "input": "0.000004", + "output": "0.00002", + "input_cache_read": "0.0000002" + } + }, + "openrouter": { + "provider": "openrouter", + "id": "google/gemini-4-argon", + "url": "https://openrouter.ai/google/gemini-4-argon", + "source_url": "https://openrouter.ai/google/gemini-4-argon", + "endpoints": [ + { + "id": "google/gemini-4-argon", + "input": "text", + "source_url": "https://openrouter.ai/google/gemini-4-argon" + } + ], + "qualifications": [ + { + "source_url": "https://openrouter.ai/api/v1/models", + "notes": "The live feed quotes introductory token rates. A separate regular price is not established by this provider source, so token prices are omitted; omission does not mean free inference." + }, + { + "source_url": "https://ai.google.dev/gemini-api/docs/latest-model", + "notes": "Native default synchronous output is 65,536 tokens within the unified 1,048,576-token input/thinking/output window. Longer output uses continuation hops/background execution; provider discovery limits must not be interpreted as a single synchronous hop." + } + ], + "limits": { + "source_url": "https://openrouter.ai/google/gemini-4-argon", + "context_tokens": 1048576, + "max_output_tokens": 943718 + }, + "capabilities": { + "source_url": "https://openrouter.ai/google/gemini-4-argon", + "image_input": true, + "tools": true, + "reasoning": true, + "structured_output": true + } + } + }, + "provider_coverage": { + "google": { + "disposition": "listed", + "source_url": "https://ai.google.dev/gemini-api/docs/models/gemini-4-argon" + }, + "vercel": { + "disposition": "listed", + "source_url": "https://vercel.com/ai-gateway/models/gemini-4-argon" + }, + "openrouter": { + "disposition": "listed", + "source_url": "https://openrouter.ai/google/gemini-4-argon" + }, + "fal": { + "disposition": "excluded", + "source_url": "https://fal.ai/models", + "reason": "The provider coverage policy includes fal for media models only; no text API compatibility is claimed." + } + } + }, "openai/gpt-5.5": { "id": "openai/gpt-5.5", "vendor": "openai", @@ -6587,498 +6760,551 @@ "source_url": "https://gateway.grida.ai/v1/models" } } - } - }, - "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.", + }, + "openai/gpt-6.1-terra": { + "id": "openai/gpt-6.1-terra", + "vendor": "openai", + "reference_provider": "openai", + "label": "GPT-6.1 Terra", + "multimodal": true, + "image_input_mimes": [ + "image/png", + "image/jpeg", + "image/webp", + "image/gif" + ], + "tool_call": true, + "context_window": 1050000, + "output_limit": 128000, "release": { - "date": "2026-08-04", + "date": "2026-10-26", "basis": "model", - "source_url": "https://help.aliyun.com/en/model-studio/newly-released-models" + "source_url": "https://developers.openai.com/api/docs/changelog" + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.05, + "cache_write": 1.25, + "long_context": { + "input_tokens_above": 272000, + "input_multiplier": 2, + "output_multiplier": 1.5 + } }, "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 - }, + "openai": { + "provider": "openai", + "id": "gpt-6.1-terra", + "url": "https://developers.openai.com/api/docs/models/gpt-6.1-terra", + "source_url": "https://developers.openai.com/api/docs/models/gpt-6.1-terra", "qualifications": [ { - "source_url": "https://fal.ai/models/alibaba/qwen-image-3/text-to-image/api", - "notes": "The endpoint ID and public title omit a variant suffix, while the generation and editing API About sections name Qwen Image 3 Pro. The provider identity is preserved as published; equivalence with the separate native Standard endpoint or its prices is not claimed." + "source_url": "https://developers.openai.com/api/docs/models/gpt-6.1-terra", + "notes": "Responses supports function calling. Chat Completions does not support tool calling. Reasoning none is supported; minimal is not listed." }, { - "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." + "source_url": "https://developers.openai.com/api/docs/guides/images-vision", + "notes": "Image input is supported, but the published patch/tile multiplier and detail-level sizing tables do not name this exact model. No vision-tokenization formula is inferred from other models." } ], "endpoints": [ { - "id": "alibaba/qwen-image-3/text-to-image", + "id": "gpt-6.1-terra", "input": "text", - "source_url": "https://fal.ai/models/alibaba/qwen-image-3/text-to-image/api", + "source_url": "https://developers.openai.com/api/docs/models/gpt-6.1-terra", + "interface": "responses", + "capabilities": { + "source_url": "https://developers.openai.com/api/docs/models/gpt-6.1-terra", + "image_input": true, + "tools": true, + "reasoning": true, + "structured_output": true, + "streaming": true + }, "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": { + "reasoning.effort": { + "type": "string", "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 + "none", + "low", + "medium", + "high", + "xhigh", + "max" + ] } - }, - "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 - } + } + ], + "token_pricing": { + "source_url": "https://developers.openai.com/api/docs/models/gpt-6.1-terra", + "unit": "usd_per_token", + "scope": "Regular Standard synchronous global token rates; 30-minute cache writes. Optional tools, alternate service tiers, 12-hour retention and regional processing are excluded.", + "input": "0.000001", + "output": "0.000005", + "input_cache_read": "0.00000005", + "input_cache_write": "0.00000125", + "tiers": [ + { + "meter": "input", + "minimum_input_tokens": 0, + "maximum_input_tokens": 272001, + "usd_per_token": "0.000001" }, - "image_constraints": { - "min_pixels": 262144, - "max_pixels": 4194304 + { + "meter": "input", + "minimum_input_tokens": 272001, + "usd_per_token": "0.000002" + }, + { + "meter": "output", + "minimum_input_tokens": 0, + "maximum_input_tokens": 272001, + "usd_per_token": "0.000005" + }, + { + "meter": "output", + "minimum_input_tokens": 272001, + "usd_per_token": "0.0000075" + }, + { + "meter": "input_cache_read", + "minimum_input_tokens": 0, + "maximum_input_tokens": 272001, + "usd_per_token": "0.00000005" + }, + { + "meter": "input_cache_read", + "minimum_input_tokens": 272001, + "usd_per_token": "0.0000001" + }, + { + "meter": "input_cache_write", + "minimum_input_tokens": 0, + "maximum_input_tokens": 272001, + "usd_per_token": "0.00000125" + }, + { + "meter": "input_cache_write", + "minimum_input_tokens": 272001, + "usd_per_token": "0.0000025" } - } - ] + ] + }, + "capabilities": { + "source_url": "https://developers.openai.com/api/docs/models/gpt-6.1-terra", + "image_input": true, + "tools": true, + "reasoning": true, + "structured_output": true, + "streaming": true + }, + "limits": { + "source_url": "https://developers.openai.com/api/docs/models/gpt-6.1-terra", + "context_tokens": 1050000, + "max_output_tokens": 128000 + } }, - "grida": { - "provider": "grida", - "id": "alibaba/qwen-image-3.0", - "url": "https://gateway.grida.ai/v1/models", + "openrouter": { + "provider": "openrouter", + "id": "openai/gpt-6.1-terra", + "url": "https://openrouter.ai/openai/gpt-6.1-terra", + "source_url": "https://openrouter.ai/openai/gpt-6.1-terra", + "qualifications": [ + { + "source_url": "https://openrouter.ai/api/v1/models", + "notes": "The provider reports its long-context override at minimum 272000 prompt tokens. This binding preserves that threshold rather than substituting another provider's 272001 boundary." + } + ], "endpoints": [ { - "id": "image.alibaba.qwen-image-3.0.text", - "operation": "image.alibaba.qwen-image-3.0.text", + "id": "openai/gpt-6.1-terra", "input": "text", - "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.alibaba.qwen-image-3.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" - } - ] + "source_url": "https://openrouter.ai/openai/gpt-6.1-terra" + } + ], + "token_pricing": { + "source_url": "https://openrouter.ai/openai/gpt-6.1-terra", + "unit": "usd_per_token", + "scope": "Regular Standard synchronous global token rates; 30-minute cache writes. Optional tools, alternate service tiers, 12-hour retention and regional processing are excluded.", + "input": "0.000001", + "output": "0.000005", + "input_cache_read": "0.00000005", + "input_cache_write": "0.00000125", + "tiers": [ + { + "meter": "input", + "minimum_input_tokens": 0, + "maximum_input_tokens": 272000, + "usd_per_token": "0.000001" + }, + { + "meter": "input", + "minimum_input_tokens": 272000, + "usd_per_token": "0.000002" + }, + { + "meter": "output", + "minimum_input_tokens": 0, + "maximum_input_tokens": 272000, + "usd_per_token": "0.000005" + }, + { + "meter": "output", + "minimum_input_tokens": 272000, + "usd_per_token": "0.0000075" + }, + { + "meter": "input_cache_read", + "minimum_input_tokens": 0, + "maximum_input_tokens": 272000, + "usd_per_token": "0.00000005" + }, + { + "meter": "input_cache_read", + "minimum_input_tokens": 272000, + "usd_per_token": "0.0000001" + }, + { + "meter": "input_cache_write", + "minimum_input_tokens": 0, + "maximum_input_tokens": 272000, + "usd_per_token": "0.00000125" + }, + { + "meter": "input_cache_write", + "minimum_input_tokens": 272000, + "usd_per_token": "0.0000025" } - }, + ] + }, + "capabilities": { + "source_url": "https://openrouter.ai/openai/gpt-6.1-terra", + "image_input": true, + "tools": true, + "reasoning": true, + "structured_output": true, + "streaming": true + }, + "limits": { + "source_url": "https://openrouter.ai/openai/gpt-6.1-terra", + "context_tokens": 1050000, + "max_output_tokens": 128000 + } + }, + "vercel": { + "provider": "vercel", + "id": "openai/gpt-6.1-terra", + "url": "https://vercel.com/ai-gateway/models/gpt-6.1-terra", + "source_url": "https://vercel.com/ai-gateway/models/gpt-6.1-terra", + "endpoints": [ { - "id": "image.alibaba.qwen-image-3.0.references", - "operation": "image.alibaba.qwen-image-3.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.alibaba.qwen-image-3.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": "openai/gpt-6.1-terra", + "input": "text", + "source_url": "https://vercel.com/ai-gateway/models/gpt-6.1-terra" } - ] + ], + "token_pricing": { + "source_url": "https://vercel.com/ai-gateway/models/gpt-6.1-terra", + "unit": "usd_per_token", + "scope": "Regular Standard synchronous global token rates; 30-minute cache writes. Optional tools, alternate service tiers, 12-hour retention and regional processing are excluded.", + "input": "0.000001", + "output": "0.000005", + "input_cache_read": "0.00000005", + "input_cache_write": "0.00000125", + "tiers": [ + { + "meter": "input", + "minimum_input_tokens": 0, + "maximum_input_tokens": 272001, + "usd_per_token": "0.000001" + }, + { + "meter": "input", + "minimum_input_tokens": 272001, + "usd_per_token": "0.000002" + }, + { + "meter": "output", + "minimum_input_tokens": 0, + "maximum_input_tokens": 272001, + "usd_per_token": "0.000005" + }, + { + "meter": "output", + "minimum_input_tokens": 272001, + "usd_per_token": "0.0000075" + }, + { + "meter": "input_cache_read", + "minimum_input_tokens": 0, + "maximum_input_tokens": 272001, + "usd_per_token": "0.00000005" + }, + { + "meter": "input_cache_read", + "minimum_input_tokens": 272001, + "usd_per_token": "0.0000001" + }, + { + "meter": "input_cache_write", + "minimum_input_tokens": 0, + "maximum_input_tokens": 272001, + "usd_per_token": "0.00000125" + }, + { + "meter": "input_cache_write", + "minimum_input_tokens": 272001, + "usd_per_token": "0.0000025" + } + ] + }, + "capabilities": { + "source_url": "https://vercel.com/ai-gateway/models/gpt-6.1-terra", + "image_input": true, + "tools": true, + "reasoning": true, + "structured_output": true, + "streaming": true + }, + "limits": { + "source_url": "https://vercel.com/ai-gateway/models/gpt-6.1-terra", + "context_tokens": 1050000, + "max_output_tokens": 128000 + } } }, "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": { + "openai": { "disposition": "listed", - "source_url": "https://fal.ai/models/alibaba/qwen-image-3/text-to-image" + "source_url": "https://developers.openai.com/api/docs/models/gpt-6.1-terra" }, - "alibaba": { + "openrouter": { "disposition": "listed", - "source_url": "https://help.aliyun.com/en/model-studio/qwen-image-3-0" + "source_url": "https://openrouter.ai/openai/gpt-6.1-terra" }, - "grida": { + "vercel": { "disposition": "listed", - "source_url": "https://gateway.grida.ai/v1/models" + "source_url": "https://vercel.com/ai-gateway/models/gpt-6.1-terra" + }, + "fal": { + "disposition": "excluded", + "source_url": "https://fal.ai/models", + "reason": "The provider coverage policy includes fal for media models only; no text API compatibility is claimed." } } - }, - "bfl/flux-2-max": { - "reference_provider": "bfl", - "id": "bfl/flux-2-max", - "label": "Flux 2 Max", - "short_description": "Black Forest Labs' highest-fidelity Flux 2 — maximum prompt adherence and detail.", - "vendor": "black-forest-labs", - "speed_label": "slow", - "speed_max": "45s", - "pricing": { - "type": "per_image_flat", - "usd": 0.07 - }, - "avg_cost_usd": 0.07, + } + }, + "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": "2025-12-16", + "date": "2026-08-04", "basis": "model", - "source_url": "https://playground.bfl.ai/changelog" + "source_url": "https://help.aliyun.com/en/model-studio/newly-released-models" }, "providers": { - "vercel": { - "provider": "vercel", - "id": "bfl/flux-2-max", - "pricing": { - "type": "per_image_flat", - "usd": 0.07 - }, - "avg_cost_usd": 0.07 - }, - "openrouter": { - "provider": "openrouter", - "id": "black-forest-labs/flux.2-max", - "pricing": { - "type": "per_image_flat", - "usd": 0.07 + "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 }, - "avg_cost_usd": 0.07, - "url": "https://openrouter.ai/black-forest-labs/flux.2-max", - "references": { - "id": "black-forest-labs/flux.2-max", - "max": 8 - } + "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": "fal-ai/flux-2-max", + "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_flat", - "usd": 0.07, - "included_megapixels": 1, - "included_megapixels_scope": "processed", - "usd_per_additional_megapixel": 0.03, - "input_megapixels_billed": true, - "source_url": "https://fal.ai/models/fal-ai/flux-2-max/edit" + "type": "per_image_tiered", + "tiers": { + "1K": 0.04, + "2K": 0.075 + }, + "source_url": "https://fal.ai/models/alibaba/qwen-image-3/text-to-image" }, - "avg_cost_usd": 0.07, - "url": "https://fal.ai/models/fal-ai/flux-2-max", + "references": { + "id": "alibaba/qwen-image-3/edit", + "max": 3 + }, + "qualifications": [ + { + "source_url": "https://fal.ai/models/alibaba/qwen-image-3/text-to-image/api", + "notes": "The endpoint ID and public title omit a variant suffix, while the generation and editing API About sections name Qwen Image 3 Pro. The provider identity is preserved as published; equivalence with the separate native Standard endpoint or its prices is not claimed." + }, + { + "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": "fal-ai/flux-2-max", + "id": "alibaba/qwen-image-3/text-to-image", "input": "text", - "source_url": "https://fal.ai/models/fal-ai/flux-2-max/api", + "source_url": "https://fal.ai/models/alibaba/qwen-image-3/text-to-image/api", "parameters": { - "enable_safety_checker": { - "type": "boolean" - }, - "image_size": { - "enum": [ - "square_hd", - "square", - "portrait_4_3", - "portrait_16_9", - "landscape_4_3", - "landscape_16_9" - ] - }, - "image_size.height": { - "type": "integer", - "maximum": 2560, - "minimum": 256, - "multiple_of": 16 + "seed": { + "type": "integer" }, - "image_size.width": { - "type": "integer", - "maximum": 2560, - "minimum": 256, - "multiple_of": 16 + "enable_prompt_expansion": { + "type": "boolean" }, "output_format": { "enum": [ "jpeg", - "png" + "png", + "webp" ], "type": "string" }, "prompt": { + "max_length": 5000, + "min_length": 1, "type": "string" }, - "safety_tolerance": { + "sync_mode": { + "type": "boolean" + }, + "negative_prompt": { + "max_length": 500, + "type": "string" + }, + "image_size": { "enum": [ - "1", - "2", - "3", - "4", - "5" + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9" ], "type": "string" }, - "seed": { + "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": { - "max_edge": 2560, - "min_edge": 256, - "max_pixels": 4194304, - "step": 16 + "min_pixels": 262144, + "max_pixels": 4194304 } }, { - "id": "fal-ai/flux-2-max/edit", - "input": "image", - "source_url": "https://fal.ai/models/fal-ai/flux-2-max/edit/api", + "id": "alibaba/qwen-image-3/edit", + "input": "multi_image", + "source_url": "https://fal.ai/models/alibaba/qwen-image-3/edit/api", "parameters": { - "enable_safety_checker": { - "type": "boolean" - }, - "image_size": { - "enum": [ - "auto", - "square_hd", - "square", - "portrait_4_3", - "portrait_16_9", - "landscape_4_3", - "landscape_16_9" - ] - }, - "image_size.height": { - "type": "integer", - "maximum": 14142, - "minimum": 1 - }, - "image_size.width": { - "type": "integer", - "maximum": 14142, - "minimum": 1 + "seed": { + "type": "integer" }, - "image_urls": { - "type": "array" + "enable_prompt_expansion": { + "type": "boolean" }, "output_format": { "enum": [ "jpeg", - "png" + "png", + "webp" ], "type": "string" }, "prompt": { + "max_length": 5000, + "min_length": 1, "type": "string" }, - "safety_tolerance": { + "sync_mode": { + "type": "boolean" + }, + "negative_prompt": { + "max_length": 500, + "type": "string" + }, + "image_size": { "enum": [ - "1", - "2", - "3", - "4", - "5" + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9" ], "type": "string" }, - "seed": { + "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 } } ] }, - "bfl": { - "provider": "bfl", - "id": "flux-2-max", - "source_url": "https://bfl.ai/pricing", - "url": "https://bfl.ai/pricing", - "pricing": { - "type": "per_image_flat", - "usd": 0.07, - "included_megapixels": 1, - "included_megapixels_scope": "output", - "usd_per_additional_megapixel": 0.03, - "input_megapixels_billed": true, - "megapixel_rounding": "ceil", - "pixels_per_megapixel": 1048576, - "multiple_reference_images_megapixels_each": 1, - "source_url": "https://bfl.ai/pricing", - "input_max_megapixels": 4 - } - }, "grida": { "provider": "grida", - "id": "bfl/flux-2-max", + "id": "alibaba/qwen-image-3.0", "url": "https://gateway.grida.ai/v1/models", "endpoints": [ { - "id": "image.bfl.flux-2-max.references", - "operation": "image.bfl.flux-2-max.references", - "input": "multi_image", + "id": "image.alibaba.qwen-image-3.0.text", + "operation": "image.alibaba.qwen-image-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/image.bfl.flux-2-max.references.input", - "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_1", - "interface": "images.edits", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.alibaba.qwen-image-3.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", @@ -7092,19 +7318,19 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.07" + "usd_per_unit": "0.01" } ] } }, { - "id": "image.bfl.flux-2-max.text", - "operation": "image.bfl.flux-2-max.text", - "input": "text", + "id": "image.alibaba.qwen-image-3.0.references", + "operation": "image.alibaba.qwen-image-3.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.bfl.flux-2-max.text.input", - "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_1", - "interface": "images.generations", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.alibaba.qwen-image-3.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", @@ -7118,7 +7344,7 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.07" + "usd_per_unit": "0.01" } ] } @@ -7128,96 +7354,90 @@ }, "provider_coverage": { "openrouter": { - "disposition": "listed", - "source_url": "https://openrouter.ai/black-forest-labs/flux.2-max" + "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/fal-ai/flux-2-max" + "source_url": "https://fal.ai/models/alibaba/qwen-image-3/text-to-image" }, - "bfl": { + "alibaba": { "disposition": "listed", - "source_url": "https://bfl.ai/pricing" + "source_url": "https://help.aliyun.com/en/model-studio/qwen-image-3-0" }, "grida": { "disposition": "listed", "source_url": "https://gateway.grida.ai/v1/models" } - }, - "styles": null, - "sizes": null, - "constraints": null + } }, - "bfl/flux-2-pro": { + "bfl/flux-2-max": { "reference_provider": "bfl", - "id": "bfl/flux-2-pro", - "label": "Flux 2 Pro", - "short_description": "Latest Flux model with best-in-class image quality and prompt adherence", + "id": "bfl/flux-2-max", + "label": "Flux 2 Max", + "short_description": "Black Forest Labs' highest-fidelity Flux 2 — maximum prompt adherence and detail.", "vendor": "black-forest-labs", - "speed_label": "medium", - "speed_max": "30s", - "constraints": { - "min_edge": 256, - "max_edge": 1440 - }, + "speed_label": "slow", + "speed_max": "45s", "pricing": { "type": "per_image_flat", - "usd": 0.03 + "usd": 0.07 }, - "avg_cost_usd": 0.03, + "avg_cost_usd": 0.07, "release": { - "date": "2025-11-25", + "date": "2025-12-16", "basis": "model", - "source_url": "https://bfl.ai/blog/flux-2" + "source_url": "https://playground.bfl.ai/changelog" }, "providers": { "vercel": { "provider": "vercel", - "id": "bfl/flux-2-pro", + "id": "bfl/flux-2-max", "pricing": { "type": "per_image_flat", - "usd": 0.03 + "usd": 0.07 }, - "avg_cost_usd": 0.03 + "avg_cost_usd": 0.07 }, "openrouter": { "provider": "openrouter", - "id": "black-forest-labs/flux.2-pro", + "id": "black-forest-labs/flux.2-max", "pricing": { "type": "per_image_flat", - "usd": 0.03 + "usd": 0.07 }, - "avg_cost_usd": 0.03, - "url": "https://openrouter.ai/black-forest-labs/flux.2-pro", + "avg_cost_usd": 0.07, + "url": "https://openrouter.ai/black-forest-labs/flux.2-max", "references": { - "id": "black-forest-labs/flux.2-pro", + "id": "black-forest-labs/flux.2-max", "max": 8 } }, "fal": { "provider": "fal", - "id": "fal-ai/flux-2-pro", + "id": "fal-ai/flux-2-max", "pricing": { "type": "per_image_flat", - "usd": 0.03, + "usd": 0.07, "included_megapixels": 1, - "included_megapixels_scope": "output", - "usd_per_additional_megapixel": 0.015, + "included_megapixels_scope": "processed", + "usd_per_additional_megapixel": 0.03, "input_megapixels_billed": true, - "megapixel_rounding": "ceil", - "source_url": "https://fal.ai/models/fal-ai/flux-2-pro/edit" + "source_url": "https://fal.ai/models/fal-ai/flux-2-max/edit" }, - "avg_cost_usd": 0.03, - "url": "https://fal.ai/models/fal-ai/flux-2-pro", + "avg_cost_usd": 0.07, + "url": "https://fal.ai/models/fal-ai/flux-2-max", "endpoints": [ { - "id": "fal-ai/flux-2-pro", + "id": "fal-ai/flux-2-max", "input": "text", - "source_url": "https://fal.ai/models/fal-ai/flux-2-pro/api", + "source_url": "https://fal.ai/models/fal-ai/flux-2-max/api", "parameters": { "enable_safety_checker": { "type": "boolean" @@ -7233,14 +7453,14 @@ ] }, "image_size.height": { - "maximum": 2560, "type": "integer", + "maximum": 2560, "minimum": 256, "multiple_of": 16 }, "image_size.width": { - "maximum": 2560, "type": "integer", + "maximum": 2560, "minimum": 256, "multiple_of": 16 }, @@ -7276,9 +7496,9 @@ } }, { - "id": "fal-ai/flux-2-pro/edit", + "id": "fal-ai/flux-2-max/edit", "input": "image", - "source_url": "https://fal.ai/models/fal-ai/flux-2-pro/edit/api", + "source_url": "https://fal.ai/models/fal-ai/flux-2-max/edit/api", "parameters": { "enable_safety_checker": { "type": "boolean" @@ -7295,19 +7515,17 @@ ] }, "image_size.height": { - "maximum": 14142, "type": "integer", + "maximum": 14142, "minimum": 1 }, "image_size.width": { - "maximum": 14142, "type": "integer", + "maximum": 14142, "minimum": 1 }, "image_urls": { - "type": "array", - "max_items": 9, - "source_url": "https://fal.ai/models/fal-ai/flux-2-pro/edit" + "type": "array" }, "output_format": { "enum": [ @@ -7338,15 +7556,15 @@ }, "bfl": { "provider": "bfl", - "id": "flux-2-pro", + "id": "flux-2-max", "source_url": "https://bfl.ai/pricing", "url": "https://bfl.ai/pricing", "pricing": { "type": "per_image_flat", - "usd": 0.03, + "usd": 0.07, "included_megapixels": 1, "included_megapixels_scope": "output", - "usd_per_additional_megapixel": 0.015, + "usd_per_additional_megapixel": 0.03, "input_megapixels_billed": true, "megapixel_rounding": "ceil", "pixels_per_megapixel": 1048576, @@ -7357,15 +7575,15 @@ }, "grida": { "provider": "grida", - "id": "bfl/flux-2-pro", + "id": "bfl/flux-2-max", "url": "https://gateway.grida.ai/v1/models", "endpoints": [ { - "id": "image.bfl.flux-2-pro.references", - "operation": "image.bfl.flux-2-pro.references", + "id": "image.bfl.flux-2-max.references", + "operation": "image.bfl.flux-2-max.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.bfl.flux-2-pro.references.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.bfl.flux-2-max.references.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_1", "interface": "images.edits", "published_pricing": { @@ -7381,17 +7599,17 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.03" + "usd_per_unit": "0.07" } ] } }, { - "id": "image.bfl.flux-2-pro.text", - "operation": "image.bfl.flux-2-pro.text", + "id": "image.bfl.flux-2-max.text", + "operation": "image.bfl.flux-2-max.text", "input": "text", "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.bfl.flux-2-pro.text.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.bfl.flux-2-max.text.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_1", "interface": "images.generations", "published_pricing": { @@ -7407,7 +7625,7 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.03" + "usd_per_unit": "0.07" } ] } @@ -7418,7 +7636,7 @@ "provider_coverage": { "openrouter": { "disposition": "listed", - "source_url": "https://openrouter.ai/black-forest-labs/flux.2-pro" + "source_url": "https://openrouter.ai/black-forest-labs/flux.2-max" }, "vercel": { "disposition": "listed", @@ -7426,7 +7644,7 @@ }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/fal-ai/flux-2-pro" + "source_url": "https://fal.ai/models/fal-ai/flux-2-max" }, "bfl": { "disposition": "listed", @@ -7438,141 +7656,276 @@ } }, "styles": null, - "sizes": null + "sizes": null, + "constraints": null }, - "bfl/flux-kontext-max": { + "bfl/flux-2-pro": { "reference_provider": "bfl", - "id": "bfl/flux-kontext-max", - "label": "Flux Kontext Max", - "short_description": "Highest quality Flux model for context-aware image generation and editing", + "id": "bfl/flux-2-pro", + "label": "Flux 2 Pro", + "short_description": "Latest Flux model with best-in-class image quality and prompt adherence", "vendor": "black-forest-labs", - "speed_label": "slow", + "speed_label": "medium", "speed_max": "30s", "constraints": { - "max_edge": 1820 + "min_edge": 256, + "max_edge": 1440 }, "pricing": { "type": "per_image_flat", - "usd": 0.08 + "usd": 0.03 }, - "avg_cost_usd": 0.08, + "avg_cost_usd": 0.03, "release": { - "date": "2025-05-29", + "date": "2025-11-25", "basis": "model", - "source_url": "https://bfl.ai/blog/flux-1-kontext" + "source_url": "https://bfl.ai/blog/flux-2" }, "providers": { "vercel": { "provider": "vercel", - "id": "bfl/flux-kontext-max", + "id": "bfl/flux-2-pro", "pricing": { "type": "per_image_flat", - "usd": 0.08 + "usd": 0.03 }, - "avg_cost_usd": 0.08 + "avg_cost_usd": 0.03 + }, + "openrouter": { + "provider": "openrouter", + "id": "black-forest-labs/flux.2-pro", + "pricing": { + "type": "per_image_flat", + "usd": 0.03 + }, + "avg_cost_usd": 0.03, + "url": "https://openrouter.ai/black-forest-labs/flux.2-pro", + "references": { + "id": "black-forest-labs/flux.2-pro", + "max": 8 + } }, "fal": { "provider": "fal", - "id": "fal-ai/flux-pro/kontext/max", + "id": "fal-ai/flux-2-pro", "pricing": { "type": "per_image_flat", - "usd": 0.08 + "usd": 0.03, + "included_megapixels": 1, + "included_megapixels_scope": "output", + "usd_per_additional_megapixel": 0.015, + "input_megapixels_billed": true, + "megapixel_rounding": "ceil", + "source_url": "https://fal.ai/models/fal-ai/flux-2-pro/edit" }, - "avg_cost_usd": 0.08, - "url": "https://fal.ai/models/fal-ai/flux-pro/kontext/max" + "avg_cost_usd": 0.03, + "url": "https://fal.ai/models/fal-ai/flux-2-pro", + "endpoints": [ + { + "id": "fal-ai/flux-2-pro", + "input": "text", + "source_url": "https://fal.ai/models/fal-ai/flux-2-pro/api", + "parameters": { + "enable_safety_checker": { + "type": "boolean" + }, + "image_size": { + "enum": [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9" + ] + }, + "image_size.height": { + "maximum": 2560, + "type": "integer", + "minimum": 256, + "multiple_of": 16 + }, + "image_size.width": { + "maximum": 2560, + "type": "integer", + "minimum": 256, + "multiple_of": 16 + }, + "output_format": { + "enum": [ + "jpeg", + "png" + ], + "type": "string" + }, + "prompt": { + "type": "string" + }, + "safety_tolerance": { + "enum": [ + "1", + "2", + "3", + "4", + "5" + ], + "type": "string" + }, + "seed": { + "type": "integer" + } + }, + "image_constraints": { + "max_edge": 2560, + "min_edge": 256, + "max_pixels": 4194304, + "step": 16 + } + }, + { + "id": "fal-ai/flux-2-pro/edit", + "input": "image", + "source_url": "https://fal.ai/models/fal-ai/flux-2-pro/edit/api", + "parameters": { + "enable_safety_checker": { + "type": "boolean" + }, + "image_size": { + "enum": [ + "auto", + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9" + ] + }, + "image_size.height": { + "maximum": 14142, + "type": "integer", + "minimum": 1 + }, + "image_size.width": { + "maximum": 14142, + "type": "integer", + "minimum": 1 + }, + "image_urls": { + "type": "array", + "max_items": 9, + "source_url": "https://fal.ai/models/fal-ai/flux-2-pro/edit" + }, + "output_format": { + "enum": [ + "jpeg", + "png" + ], + "type": "string" + }, + "prompt": { + "type": "string" + }, + "safety_tolerance": { + "enum": [ + "1", + "2", + "3", + "4", + "5" + ], + "type": "string" + }, + "seed": { + "type": "integer" + } + } + } + ] }, "bfl": { "provider": "bfl", - "id": "flux-kontext-max", - "source_url": "https://docs.bfl.ai/quick_start/pricing", - "url": "https://docs.bfl.ai/quick_start/pricing", + "id": "flux-2-pro", + "source_url": "https://bfl.ai/pricing", + "url": "https://bfl.ai/pricing", "pricing": { "type": "per_image_flat", - "usd": 0.08, - "source_url": "https://docs.bfl.ai/quick_start/pricing" + "usd": 0.03, + "included_megapixels": 1, + "included_megapixels_scope": "output", + "usd_per_additional_megapixel": 0.015, + "input_megapixels_billed": true, + "megapixel_rounding": "ceil", + "pixels_per_megapixel": 1048576, + "multiple_reference_images_megapixels_each": 1, + "source_url": "https://bfl.ai/pricing", + "input_max_megapixels": 4 } - } - }, - "provider_coverage": { - "openrouter": { - "disposition": "not_listed", - "source_url": "https://openrouter.ai/api/v1/images/models", - "reason": "No matching model/version is listed in the inspected public image model catalogue." - }, - "vercel": { - "disposition": "listed", - "source_url": "https://ai-gateway.vercel.sh/v1/models" - }, - "fal": { - "disposition": "listed", - "source_url": "https://fal.ai/models/fal-ai/flux-pro/kontext/max" }, - "bfl": { - "disposition": "listed", - "source_url": "https://docs.bfl.ai/quick_start/pricing" - } - }, - "styles": null, - "sizes": null - }, - "bfl/flux-kontext-pro": { - "reference_provider": "bfl", - "id": "bfl/flux-kontext-pro", - "label": "Flux Kontext Pro", - "short_description": "Fast context-aware image generation and editing", - "vendor": "black-forest-labs", - "speed_label": "medium", - "speed_max": "20s", - "constraints": { - "max_edge": 1820 - }, - "pricing": { - "type": "per_image_flat", - "usd": 0.04 - }, - "avg_cost_usd": 0.04, - "release": { - "date": "2025-05-29", - "basis": "model", - "source_url": "https://bfl.ai/blog/flux-1-kontext" - }, - "providers": { - "vercel": { - "provider": "vercel", - "id": "bfl/flux-kontext-pro", - "pricing": { - "type": "per_image_flat", - "usd": 0.04 - }, - "avg_cost_usd": 0.04 - }, - "fal": { - "provider": "fal", - "id": "fal-ai/flux-pro/kontext", - "pricing": { - "type": "per_image_flat", - "usd": 0.04 - }, - "avg_cost_usd": 0.04, - "url": "https://fal.ai/models/fal-ai/flux-pro/kontext" - }, - "bfl": { - "provider": "bfl", - "id": "flux-kontext-pro", - "source_url": "https://docs.bfl.ai/quick_start/pricing", - "url": "https://docs.bfl.ai/quick_start/pricing", - "pricing": { - "type": "per_image_flat", - "usd": 0.04, - "source_url": "https://docs.bfl.ai/quick_start/pricing" - } + "grida": { + "provider": "grida", + "id": "bfl/flux-2-pro", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "image.bfl.flux-2-pro.references", + "operation": "image.bfl.flux-2-pro.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.bfl.flux-2-pro.references.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_1", + "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.03" + } + ] + } + }, + { + "id": "image.bfl.flux-2-pro.text", + "operation": "image.bfl.flux-2-pro.text", + "input": "text", + "source_url": "https://gateway.grida.ai/schemas/operations.json", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.bfl.flux-2-pro.text.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_1", + "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.03" + } + ] + } + } + ] } }, "provider_coverage": { "openrouter": { - "disposition": "not_listed", - "source_url": "https://openrouter.ai/api/v1/images/models", - "reason": "No matching model/version is listed in the inspected public image model catalogue." + "disposition": "listed", + "source_url": "https://openrouter.ai/black-forest-labs/flux.2-pro" }, "vercel": { "disposition": "listed", @@ -7580,165 +7933,338 @@ }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/fal-ai/flux-pro/kontext" + "source_url": "https://fal.ai/models/fal-ai/flux-2-pro" }, "bfl": { "disposition": "listed", - "source_url": "https://docs.bfl.ai/quick_start/pricing" + "source_url": "https://bfl.ai/pricing" + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } }, "styles": null, "sizes": null }, - "bfl/flux-pro-1.1": { - "reference_provider": "bfl", - "id": "bfl/flux-pro-1.1", - "label": "Flux Pro 1.1", - "short_description": "Faster, better FLUX Pro. Text-to-image model with excellent image quality and output diversity.", + "bfl/flux-3-image": { + "id": "bfl/flux-3-image", "vendor": "black-forest-labs", - "speed_label": "slow", - "speed_max": "30s", - "constraints": { - "min_edge": 256, - "max_edge": 1440 - }, - "pricing": { - "type": "per_image_flat", - "usd": 0.04 - }, - "avg_cost_usd": 0.04, + "reference_provider": "bfl", + "label": "FLUX 3 Image", + "short_description": "Image generation and editing with up to ten reference images.", "release": { - "date": "2024-10-02", + "date": "2026-10-01", "basis": "model", - "source_url": "https://bfl.ai/blog/24-10-02-flux" + "source_url": "https://bfl.ai/pricing" + }, + "pricing": { + "type": "per_image_tiered", + "source_url": "https://bfl.ai/pricing?category=flux+3+image", + "tiers": { + "768sq": 0.041, + "1k": 0.048, + "1.5k": 0.07, + "2k": 0.1, + "4k": 0.607 + } }, "providers": { - "vercel": { - "provider": "vercel", - "id": "bfl/flux-pro-1.1", - "pricing": { - "type": "per_image_flat", - "usd": 0.04 - }, - "avg_cost_usd": 0.04 - }, "bfl": { "provider": "bfl", - "id": "flux-pro-1.1", - "source_url": "https://docs.bfl.ai/quick_start/pricing", - "url": "https://docs.bfl.ai/quick_start/pricing", - "pricing": { - "type": "per_image_flat", - "usd": 0.04, - "source_url": "https://docs.bfl.ai/quick_start/pricing" - } - }, - "fal": { - "provider": "fal", - "id": "fal-ai/flux-pro/v1.1", - "source_url": "https://fal.ai/models/fal-ai/flux-pro/v1.1", - "url": "https://fal.ai/models/fal-ai/flux-pro/v1.1", + "id": "flux-3-image", + "source_url": "https://docs.bfl.ml/api-reference/utility/generate-an-image-with-flux-3", + "url": "https://docs.bfl.ml/api-reference/utility/generate-an-image-with-flux-3", + "references": { + "id": "flux-3-image", + "max": 10 + }, "pricing": { - "type": "per_megapixel", - "usd": 0.04, - "rounding": "ceil", - "source_url": "https://fal.ai/models/fal-ai/flux-pro/v1.1" + "type": "per_image_tiered", + "source_url": "https://bfl.ai/pricing?category=flux+3+image", + "tiers": { + "768sq": 0.041, + "1k": 0.048, + "1.5k": 0.07, + "2k": 0.1, + "4k": 0.607 + } } - } - }, - "provider_coverage": { - "openrouter": { - "disposition": "not_listed", - "source_url": "https://openrouter.ai/api/v1/images/models", - "reason": "No matching model/version is listed in the inspected public image model catalogue." - }, - "vercel": { - "disposition": "listed", - "source_url": "https://ai-gateway.vercel.sh/v1/models" - }, - "fal": { - "disposition": "listed", - "source_url": "https://fal.ai/models/fal-ai/flux-pro/v1.1" }, - "bfl": { - "disposition": "listed", - "source_url": "https://docs.bfl.ai/quick_start/pricing" - } - }, - "styles": null, - "sizes": null - }, - "bytedance/seedream-4.5": { - "reference_provider": "byteplus", - "id": "bytedance/seedream-4.5", - "label": "Seedream 4.5", - "short_description": "ByteDance's unified image generation and editing model.", - "vendor": "bytedance", - "speed_label": "fast", - "speed_max": "15s", - "constraints": { - "max_edge": 4096 - }, - "pricing": { - "type": "per_image_flat", - "usd": 0.04 - }, - "avg_cost_usd": 0.04, - "release": { - "date": "2025-12-03", - "basis": "model", - "source_url": "https://blog.fal.ai/seedream-4-5-is-now-available-on-fal/" - }, - "providers": { "vercel": { "provider": "vercel", - "id": "bytedance/seedream-4.5", - "pricing": { - "type": "per_image_flat", - "usd": 0.04 + "id": "bfl/flux-3-image", + "source_url": "https://vercel.com/ai-gateway/models/flux-3-image", + "url": "https://vercel.com/ai-gateway/models/flux-3-image", + "references": { + "id": "bfl/flux-3-image", + "max": 10 }, - "avg_cost_usd": 0.04 + "pricing": { + "type": "per_image_tiered", + "source_url": "https://ai-gateway.vercel.sh/v1/models", + "tiers": { + "768x768": 0.041, + "1024x1024": 0.048, + "1536x1536": 0.07, + "2048x2048": 0.1, + "4096x4096": 0.607 + } + } }, "openrouter": { "provider": "openrouter", - "id": "bytedance-seed/seedream-4.5", - "pricing": { - "type": "per_image_flat", - "usd": 0.04 - }, - "avg_cost_usd": 0.04, - "url": "https://openrouter.ai/bytedance-seed/seedream-4.5", + "id": "black-forest-labs/flux-3-image", + "source_url": "https://openrouter.ai/api/v1/images/models/black-forest-labs/flux-3-image/endpoints", + "url": "https://openrouter.ai/api/v1/images/models/black-forest-labs/flux-3-image/endpoints", "references": { - "id": "bytedance-seed/seedream-4.5", - "max": 14 + "id": "black-forest-labs/flux-3-image", + "max": 10 + }, + "pricing": { + "type": "per_image_tiered", + "source_url": "https://openrouter.ai/api/v1/images/models/black-forest-labs/flux-3-image/endpoints", + "tiers": { + "768": 0.041, + "1k": 0.048, + "1.5k": 0.07, + "2k": 0.1, + "4k": 0.607 + } } }, "fal": { "provider": "fal", - "id": "fal-ai/bytedance/seedream/v4.5/text-to-image", - "pricing": { - "type": "per_image_flat", - "usd": 0.04 - }, - "avg_cost_usd": 0.04, - "url": "https://fal.ai/models/fal-ai/bytedance/seedream/v4.5/text-to-image" - }, - "byteplus": { - "provider": "byteplus", - "id": "seedream-4-5-251128", - "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", - "url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", + "id": "blackforestlabs/flux-3/text-to-image", + "source_url": "https://fal.ai/models/blackforestlabs/flux-3/text-to-image/api", + "url": "https://fal.ai/models/blackforestlabs/flux-3/text-to-image", + "qualifications": [ + { + "source_url": "https://fal.ai/models/blackforestlabs/flux-3/text-to-image/api", + "notes": "The exact API schema lists 768sq, 1k, 1.5k, 2k and 4k. Narrative documentation instead lists 512sq and omits 1.5k; the exact endpoint schema supplies this binding parameter list." + }, + { + "source_url": "https://fal.ai/models/blackforestlabs/flux-3/text-to-image", + "notes": "The page publishes $0.048 for a 1K (1 MP) image and endpoint billing metadata names megapixels. Resolution-tier rates, quantity rounding and reference-image billing scope are not established by this source; native-provider flat tier prices are not substituted." + } + ], + "endpoints": [ + { + "id": "blackforestlabs/flux-3/text-to-image", + "input": "text", + "source_url": "https://fal.ai/models/blackforestlabs/flux-3/text-to-image/api", + "parameters": { + "version": { + "type": "string" + }, + "sync_mode": { + "type": "boolean" + }, + "resolution": { + "enum": [ + "768sq", + "1k", + "1.5k", + "2k", + "4k" + ], + "type": "string" + }, + "output_format": { + "enum": [ + "jpeg", + "png" + ], + "type": "string" + }, + "safety_tolerance": { + "minimum": 0, + "maximum": 4, + "type": "integer" + }, + "aspect_ratio": { + "enum": [ + "auto", + "21:9", + "2:1", + "16:9", + "3:2", + "7:5", + "4:3", + "5:4", + "1:1", + "4:5", + "3:4", + "5:7", + "2:3", + "9:16", + "1:2" + ], + "type": "string" + }, + "enable_prompt_expansion": { + "type": "boolean" + }, + "prompt": { + "type": "string" + } + } + }, + { + "id": "blackforestlabs/flux-3/edit-image", + "input": "multi_image", + "source_url": "https://fal.ai/models/blackforestlabs/flux-3/edit-image/api", + "parameters": { + "version": { + "type": "string" + }, + "sync_mode": { + "type": "boolean" + }, + "resolution": { + "enum": [ + "768sq", + "1k", + "1.5k", + "2k", + "4k" + ], + "type": "string" + }, + "output_format": { + "enum": [ + "jpeg", + "png" + ], + "type": "string" + }, + "safety_tolerance": { + "minimum": 0, + "maximum": 4, + "type": "integer" + }, + "image_urls": { + "max_items": 10, + "type": "array", + "min_items": 1 + }, + "aspect_ratio": { + "enum": [ + "auto", + "21:9", + "2:1", + "16:9", + "3:2", + "7:5", + "4:3", + "5:4", + "1:1", + "4:5", + "3:4", + "5:7", + "2:3", + "9:16", + "1:2" + ], + "type": "string" + }, + "enable_prompt_expansion": { + "type": "boolean" + }, + "prompt": { + "type": "string" + } + } + } + ], + "references": { + "id": "blackforestlabs/flux-3/edit-image", + "max": 10 + }, "pricing": { - "type": "per_image_flat", - "usd": 0.04, - "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" + "type": "per_megapixel", + "usd": 0.048, + "source_url": "https://fal.ai/models/blackforestlabs/flux-3/text-to-image" } } }, "provider_coverage": { + "bfl": { + "disposition": "listed", + "source_url": "https://docs.bfl.ml/api-reference/utility/generate-an-image-with-flux-3" + }, + "vercel": { + "disposition": "listed", + "source_url": "https://vercel.com/ai-gateway/models/flux-3-image" + }, "openrouter": { "disposition": "listed", - "source_url": "https://openrouter.ai/bytedance-seed/seedream-4.5" + "source_url": "https://openrouter.ai/api/v1/images/models/black-forest-labs/flux-3-image/endpoints" + }, + "fal": { + "disposition": "listed", + "source_url": "https://fal.ai/models/blackforestlabs/flux-3/text-to-image/api" + } + } + }, + "bfl/flux-kontext-max": { + "reference_provider": "bfl", + "id": "bfl/flux-kontext-max", + "label": "Flux Kontext Max", + "short_description": "Highest quality Flux model for context-aware image generation and editing", + "vendor": "black-forest-labs", + "speed_label": "slow", + "speed_max": "30s", + "constraints": { + "max_edge": 1820 + }, + "pricing": { + "type": "per_image_flat", + "usd": 0.08 + }, + "avg_cost_usd": 0.08, + "release": { + "date": "2025-05-29", + "basis": "model", + "source_url": "https://bfl.ai/blog/flux-1-kontext" + }, + "providers": { + "vercel": { + "provider": "vercel", + "id": "bfl/flux-kontext-max", + "pricing": { + "type": "per_image_flat", + "usd": 0.08 + }, + "avg_cost_usd": 0.08 + }, + "fal": { + "provider": "fal", + "id": "fal-ai/flux-pro/kontext/max", + "pricing": { + "type": "per_image_flat", + "usd": 0.08 + }, + "avg_cost_usd": 0.08, + "url": "https://fal.ai/models/fal-ai/flux-pro/kontext/max" + }, + "bfl": { + "provider": "bfl", + "id": "flux-kontext-max", + "source_url": "https://docs.bfl.ai/quick_start/pricing", + "url": "https://docs.bfl.ai/quick_start/pricing", + "pricing": { + "type": "per_image_flat", + "usd": 0.08, + "source_url": "https://docs.bfl.ai/quick_start/pricing" + } + } + }, + "provider_coverage": { + "openrouter": { + "disposition": "not_listed", + "source_url": "https://openrouter.ai/api/v1/images/models", + "reason": "No matching model/version is listed in the inspected public image model catalogue." }, "vercel": { "disposition": "listed", @@ -7746,253 +8272,74 @@ }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/fal-ai/bytedance/seedream/v4.5/text-to-image" + "source_url": "https://fal.ai/models/fal-ai/flux-pro/kontext/max" }, - "byteplus": { + "bfl": { "disposition": "listed", - "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" + "source_url": "https://docs.bfl.ai/quick_start/pricing" } }, "styles": null, "sizes": null }, - "bytedance/seedream-5.0-lite": { - "reference_provider": "byteplus", - "id": "bytedance/seedream-5.0-lite", - "label": "Seedream 5.0 Lite", - "short_description": "ByteDance's fast 2K–4K image model — Seedream 5.0 quality at the 4.5 price point.", - "vendor": "bytedance", - "speed_label": "fast", - "speed_max": "15s", + "bfl/flux-kontext-pro": { + "reference_provider": "bfl", + "id": "bfl/flux-kontext-pro", + "label": "Flux Kontext Pro", + "short_description": "Fast context-aware image generation and editing", + "vendor": "black-forest-labs", + "speed_label": "medium", + "speed_max": "20s", "constraints": { - "min_pixels": 3686400, - "max_pixels": 16777216 + "max_edge": 1820 }, "pricing": { "type": "per_image_flat", - "usd": 0.035 + "usd": 0.04 }, - "avg_cost_usd": 0.035, + "avg_cost_usd": 0.04, "release": { - "date": "2026-02-13", + "date": "2025-05-29", "basis": "model", - "source_url": "https://seed.bytedance.com/en/blog/deeper-thinking-more-accurate-generation-introducing-seedream-5-0-lite" + "source_url": "https://bfl.ai/blog/flux-1-kontext" }, "providers": { "vercel": { "provider": "vercel", - "id": "bytedance/seedream-5.0-lite", - "pricing": { - "type": "per_image_flat", - "usd": 0.035 - }, - "avg_cost_usd": 0.035 - }, - "openrouter": { - "provider": "openrouter", - "id": "bytedance-seed/seedream-5-0-lite", + "id": "bfl/flux-kontext-pro", "pricing": { "type": "per_image_flat", - "usd": 0.035 + "usd": 0.04 }, - "avg_cost_usd": 0.035, - "url": "https://openrouter.ai/bytedance-seed/seedream-5-0-lite", - "references": { - "id": "bytedance-seed/seedream-5-0-lite", - "max": 14 - } + "avg_cost_usd": 0.04 }, "fal": { "provider": "fal", - "id": "bytedance/seedream/v5/lite/text-to-image", + "id": "fal-ai/flux-pro/kontext", "pricing": { "type": "per_image_flat", - "usd": 0.035 + "usd": 0.04 }, - "avg_cost_usd": 0.035, - "url": "https://fal.ai/models/bytedance/seedream/v5/lite/text-to-image", - "endpoints": [ - { - "id": "bytedance/seedream/v5/lite/text-to-image", - "input": "text", - "source_url": "https://fal.ai/models/bytedance/seedream/v5/lite/text-to-image/api", - "parameters": { - "enable_safety_checker": { - "type": "boolean" - }, - "image_size": { - "enum": [ - "square_hd", - "square", - "portrait_4_3", - "portrait_16_9", - "landscape_4_3", - "landscape_16_9", - "auto_2K", - "auto_3K", - "auto_4K" - ] - }, - "image_size.height": { - "maximum": 14142, - "type": "integer", - "minimum": 1 - }, - "image_size.width": { - "maximum": 14142, - "type": "integer", - "minimum": 1 - }, - "max_images": { - "maximum": 6, - "minimum": 1, - "type": "integer" - }, - "num_images": { - "maximum": 6, - "minimum": 1, - "type": "integer" - }, - "prompt": { - "type": "string" - } - }, - "image_constraints": { - "min_pixels": 3686400, - "max_pixels": 16777216 - } - }, - { - "id": "fal-ai/bytedance/seedream/v5/lite/edit", - "input": "image", - "source_url": "https://fal.ai/models/fal-ai/bytedance/seedream/v5/lite/edit/api", - "parameters": { - "enable_safety_checker": { - "type": "boolean" - }, - "image_size": { - "enum": [ - "square_hd", - "square", - "portrait_4_3", - "portrait_16_9", - "landscape_4_3", - "landscape_16_9", - "auto_2K", - "auto_3K", - "auto_4K" - ] - }, - "image_size.height": { - "maximum": 14142, - "type": "integer", - "minimum": 1 - }, - "image_size.width": { - "maximum": 14142, - "type": "integer", - "minimum": 1 - }, - "image_urls": { - "type": "array", - "max_items": 10 - }, - "max_images": { - "maximum": 6, - "minimum": 1, - "type": "integer" - }, - "num_images": { - "maximum": 6, - "minimum": 1, - "type": "integer" - }, - "prompt": { - "type": "string" - } - }, - "image_constraints": { - "min_pixels": 3686400, - "max_pixels": 16777216 - } - } - ] + "avg_cost_usd": 0.04, + "url": "https://fal.ai/models/fal-ai/flux-pro/kontext" }, - "byteplus": { - "provider": "byteplus", - "id": "seedream-5-0-lite-260128", - "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", - "url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", + "bfl": { + "provider": "bfl", + "id": "flux-kontext-pro", + "source_url": "https://docs.bfl.ai/quick_start/pricing", + "url": "https://docs.bfl.ai/quick_start/pricing", "pricing": { "type": "per_image_flat", - "usd": 0.035, - "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" + "usd": 0.04, + "source_url": "https://docs.bfl.ai/quick_start/pricing" } - }, - "grida": { - "provider": "grida", - "id": "bytedance/seedream-5.0-lite", - "url": "https://gateway.grida.ai/v1/models", - "endpoints": [ - { - "id": "image.bytedance.seedream-5.0-lite.references", - "operation": "image.bytedance.seedream-5.0-lite.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.bytedance.seedream-5.0-lite.references.input", - "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_6", - "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.035" - } - ] - } - }, - { - "id": "image.bytedance.seedream-5.0-lite.text", - "operation": "image.bytedance.seedream-5.0-lite.text", - "input": "text", - "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.bytedance.seedream-5.0-lite.text.input", - "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_6", - "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.035" - } - ] - } - } - ] } }, "provider_coverage": { "openrouter": { - "disposition": "listed", - "source_url": "https://openrouter.ai/bytedance-seed/seedream-5-0-lite" + "disposition": "not_listed", + "source_url": "https://openrouter.ai/api/v1/images/models", + "reason": "No matching model/version is listed in the inspected public image model catalogue." }, "vercel": { "disposition": "listed", @@ -8000,87 +8347,246 @@ }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/bytedance/seedream/v5/lite/text-to-image" - }, - "byteplus": { - "disposition": "listed", - "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" + "source_url": "https://fal.ai/models/fal-ai/flux-pro/kontext" }, - "grida": { + "bfl": { "disposition": "listed", - "source_url": "https://gateway.grida.ai/v1/models" + "source_url": "https://docs.bfl.ai/quick_start/pricing" } }, "styles": null, "sizes": null }, - "bytedance/seedream-5.0-pro": { - "reference_provider": "byteplus", - "id": "bytedance/seedream-5.0-pro", - "label": "Seedream 5.0 Pro", - "short_description": "ByteDance's flagship image model — dense layouts, infographics and text-heavy compositions at 1K–2K.", - "vendor": "bytedance", - "speed_label": "medium", + "bfl/flux-pro-1.1": { + "reference_provider": "bfl", + "id": "bfl/flux-pro-1.1", + "label": "Flux Pro 1.1", + "short_description": "Faster, better FLUX Pro. Text-to-image model with excellent image quality and output diversity.", + "vendor": "black-forest-labs", + "speed_label": "slow", "speed_max": "30s", + "constraints": { + "min_edge": 256, + "max_edge": 1440 + }, "pricing": { "type": "per_image_flat", - "usd": 0.035 + "usd": 0.04 }, - "avg_cost_usd": 0.035, + "avg_cost_usd": 0.04, "release": { - "date": "2026-07-08", + "date": "2024-10-02", "basis": "model", - "source_url": "https://seed.bytedance.com/en/blog/beyond-generation-it-understands-design-introducing-seedream-5-0-pro" + "source_url": "https://bfl.ai/blog/24-10-02-flux" }, "providers": { "vercel": { "provider": "vercel", - "id": "bytedance/seedream-5.0-pro", + "id": "bfl/flux-pro-1.1", "pricing": { "type": "per_image_flat", - "usd": 0.035 + "usd": 0.04 }, - "avg_cost_usd": 0.035 + "avg_cost_usd": 0.04 }, - "openrouter": { - "provider": "openrouter", - "id": "bytedance-seed/seedream-5-0-pro", + "bfl": { + "provider": "bfl", + "id": "flux-pro-1.1", + "source_url": "https://docs.bfl.ai/quick_start/pricing", + "url": "https://docs.bfl.ai/quick_start/pricing", "pricing": { "type": "per_image_flat", - "usd": 0.045 - }, - "avg_cost_usd": 0.045, - "url": "https://openrouter.ai/bytedance-seed/seedream-5-0-pro", - "references": { - "id": "bytedance-seed/seedream-5-0-pro", - "max": 14 + "usd": 0.04, + "source_url": "https://docs.bfl.ai/quick_start/pricing" } }, "fal": { "provider": "fal", - "id": "bytedance/seedream/v5/pro/text-to-image", + "id": "fal-ai/flux-pro/v1.1", + "source_url": "https://fal.ai/models/fal-ai/flux-pro/v1.1", + "url": "https://fal.ai/models/fal-ai/flux-pro/v1.1", "pricing": { - "type": "per_image_flat", - "usd": 0.0675 - }, - "avg_cost_usd": 0.0675, - "url": "https://fal.ai/models/bytedance/seedream/v5/pro/text-to-image", - "endpoints": [ - { - "id": "bytedance/seedream/v5/pro/edit", - "input": "image", - "source_url": "https://fal.ai/models/bytedance/seedream/v5/pro/edit/api", + "type": "per_megapixel", + "usd": 0.04, + "rounding": "ceil", + "source_url": "https://fal.ai/models/fal-ai/flux-pro/v1.1" + } + } + }, + "provider_coverage": { + "openrouter": { + "disposition": "not_listed", + "source_url": "https://openrouter.ai/api/v1/images/models", + "reason": "No matching model/version is listed in the inspected public image model catalogue." + }, + "vercel": { + "disposition": "listed", + "source_url": "https://ai-gateway.vercel.sh/v1/models" + }, + "fal": { + "disposition": "listed", + "source_url": "https://fal.ai/models/fal-ai/flux-pro/v1.1" + }, + "bfl": { + "disposition": "listed", + "source_url": "https://docs.bfl.ai/quick_start/pricing" + } + }, + "styles": null, + "sizes": null + }, + "bytedance/seedream-4.5": { + "reference_provider": "byteplus", + "id": "bytedance/seedream-4.5", + "label": "Seedream 4.5", + "short_description": "ByteDance's unified image generation and editing model.", + "vendor": "bytedance", + "speed_label": "fast", + "speed_max": "15s", + "constraints": { + "max_edge": 4096 + }, + "pricing": { + "type": "per_image_flat", + "usd": 0.04 + }, + "avg_cost_usd": 0.04, + "release": { + "date": "2025-12-03", + "basis": "model", + "source_url": "https://blog.fal.ai/seedream-4-5-is-now-available-on-fal/" + }, + "providers": { + "vercel": { + "provider": "vercel", + "id": "bytedance/seedream-4.5", + "pricing": { + "type": "per_image_flat", + "usd": 0.04 + }, + "avg_cost_usd": 0.04 + }, + "openrouter": { + "provider": "openrouter", + "id": "bytedance-seed/seedream-4.5", + "pricing": { + "type": "per_image_flat", + "usd": 0.04 + }, + "avg_cost_usd": 0.04, + "url": "https://openrouter.ai/bytedance-seed/seedream-4.5", + "references": { + "id": "bytedance-seed/seedream-4.5", + "max": 14 + } + }, + "fal": { + "provider": "fal", + "id": "fal-ai/bytedance/seedream/v4.5/text-to-image", + "pricing": { + "type": "per_image_flat", + "usd": 0.04 + }, + "avg_cost_usd": 0.04, + "url": "https://fal.ai/models/fal-ai/bytedance/seedream/v4.5/text-to-image" + }, + "byteplus": { + "provider": "byteplus", + "id": "seedream-4-5-251128", + "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", + "url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", + "pricing": { + "type": "per_image_flat", + "usd": 0.04, + "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" + } + } + }, + "provider_coverage": { + "openrouter": { + "disposition": "listed", + "source_url": "https://openrouter.ai/bytedance-seed/seedream-4.5" + }, + "vercel": { + "disposition": "listed", + "source_url": "https://ai-gateway.vercel.sh/v1/models" + }, + "fal": { + "disposition": "listed", + "source_url": "https://fal.ai/models/fal-ai/bytedance/seedream/v4.5/text-to-image" + }, + "byteplus": { + "disposition": "listed", + "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" + } + }, + "styles": null, + "sizes": null + }, + "bytedance/seedream-5.0-lite": { + "reference_provider": "byteplus", + "id": "bytedance/seedream-5.0-lite", + "label": "Seedream 5.0 Lite", + "short_description": "ByteDance's fast 2K–4K image model — Seedream 5.0 quality at the 4.5 price point.", + "vendor": "bytedance", + "speed_label": "fast", + "speed_max": "15s", + "constraints": { + "min_pixels": 3686400, + "max_pixels": 16777216 + }, + "pricing": { + "type": "per_image_flat", + "usd": 0.035 + }, + "avg_cost_usd": 0.035, + "release": { + "date": "2026-02-13", + "basis": "model", + "source_url": "https://seed.bytedance.com/en/blog/deeper-thinking-more-accurate-generation-introducing-seedream-5-0-lite" + }, + "providers": { + "vercel": { + "provider": "vercel", + "id": "bytedance/seedream-5.0-lite", + "pricing": { + "type": "per_image_flat", + "usd": 0.035 + }, + "avg_cost_usd": 0.035 + }, + "openrouter": { + "provider": "openrouter", + "id": "bytedance-seed/seedream-5-0-lite", + "pricing": { + "type": "per_image_flat", + "usd": 0.035 + }, + "avg_cost_usd": 0.035, + "url": "https://openrouter.ai/bytedance-seed/seedream-5-0-lite", + "references": { + "id": "bytedance-seed/seedream-5-0-lite", + "max": 14 + } + }, + "fal": { + "provider": "fal", + "id": "bytedance/seedream/v5/lite/text-to-image", + "pricing": { + "type": "per_image_flat", + "usd": 0.035 + }, + "avg_cost_usd": 0.035, + "url": "https://fal.ai/models/bytedance/seedream/v5/lite/text-to-image", + "endpoints": [ + { + "id": "bytedance/seedream/v5/lite/text-to-image", + "input": "text", + "source_url": "https://fal.ai/models/bytedance/seedream/v5/lite/text-to-image/api", "parameters": { "enable_safety_checker": { "type": "boolean" }, - "enhance_prompt_mode": { - "enum": [ - "standard", - "fast" - ], - "type": "string" - }, "image_size": { "enum": [ "square_hd", @@ -8089,8 +8595,9 @@ "portrait_16_9", "landscape_4_3", "landscape_16_9", - "auto_1K", - "auto_2K" + "auto_2K", + "auto_3K", + "auto_4K" ] }, "image_size.height": { @@ -8103,50 +8610,33 @@ "type": "integer", "minimum": 1 }, - "image_urls": { - "type": "array", - "max_items": 10 + "max_images": { + "maximum": 6, + "minimum": 1, + "type": "integer" }, "num_images": { "maximum": 6, - "type": "integer", - "minimum": 1 - }, - "output_format": { - "enum": [ - "jpeg", - "png" - ], - "type": "string" + "minimum": 1, + "type": "integer" }, "prompt": { "type": "string" } }, "image_constraints": { - "max_pixels": 4194304, - "min_pixels": 1048576, - "aspect_ratio": { - "min": 0.0625, - "max": 16 - } + "min_pixels": 3686400, + "max_pixels": 16777216 } }, { - "id": "bytedance/seedream/v5/pro/text-to-image", - "input": "text", - "source_url": "https://fal.ai/models/bytedance/seedream/v5/pro/text-to-image/api", + "id": "fal-ai/bytedance/seedream/v5/lite/edit", + "input": "image", + "source_url": "https://fal.ai/models/fal-ai/bytedance/seedream/v5/lite/edit/api", "parameters": { "enable_safety_checker": { "type": "boolean" }, - "enhance_prompt_mode": { - "enum": [ - "standard", - "fast" - ], - "type": "string" - }, "image_size": { "enum": [ "square_hd", @@ -8155,8 +8645,9 @@ "portrait_16_9", "landscape_4_3", "landscape_16_9", - "auto_1K", - "auto_2K" + "auto_2K", + "auto_3K", + "auto_4K" ] }, "image_size.height": { @@ -8169,63 +8660,53 @@ "type": "integer", "minimum": 1 }, - "num_images": { + "image_urls": { + "type": "array", + "max_items": 10 + }, + "max_images": { "maximum": 6, - "type": "integer", - "minimum": 1 + "minimum": 1, + "type": "integer" }, - "output_format": { - "enum": [ - "jpeg", - "png" - ], - "type": "string" + "num_images": { + "maximum": 6, + "minimum": 1, + "type": "integer" }, "prompt": { "type": "string" } }, "image_constraints": { - "max_pixels": 4194304, - "min_pixels": 1048576, - "aspect_ratio": { - "min": 0.0625, - "max": 16 - } + "min_pixels": 3686400, + "max_pixels": 16777216 } } ] }, "byteplus": { "provider": "byteplus", - "id": "dola-seedream-5-0-pro-260628", + "id": "seedream-5-0-lite-260128", "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", "url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", "pricing": { - "type": "per_image_tiered", - "threshold_pixels": 2610000, - "tiers": { - "generation_at_or_below_threshold": 0.045, - "generation_above_threshold": 0.09, - "layer_decomposition_at_or_below_threshold": 0.0225, - "layer_decomposition_above_threshold": 0.045 - }, - "included_input_images": 1, - "usd_per_additional_input_image": 0.003, + "type": "per_image_flat", + "usd": 0.035, "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" } }, "grida": { "provider": "grida", - "id": "bytedance/seedream-5.0-pro", + "id": "bytedance/seedream-5.0-lite", "url": "https://gateway.grida.ai/v1/models", "endpoints": [ { - "id": "image.bytedance.seedream-5.0-pro.references", - "operation": "image.bytedance.seedream-5.0-pro.references", + "id": "image.bytedance.seedream-5.0-lite.references", + "operation": "image.bytedance.seedream-5.0-lite.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.bytedance.seedream-5.0-pro.references.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.bytedance.seedream-5.0-lite.references.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_6", "interface": "images.edits", "published_pricing": { @@ -8241,17 +8722,17 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.0675" + "usd_per_unit": "0.035" } ] } }, { - "id": "image.bytedance.seedream-5.0-pro.text", - "operation": "image.bytedance.seedream-5.0-pro.text", + "id": "image.bytedance.seedream-5.0-lite.text", + "operation": "image.bytedance.seedream-5.0-lite.text", "input": "text", "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.bytedance.seedream-5.0-pro.text.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.bytedance.seedream-5.0-lite.text.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_6", "interface": "images.generations", "published_pricing": { @@ -8267,7 +8748,7 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.0675" + "usd_per_unit": "0.035" } ] } @@ -8275,17 +8756,10 @@ ] } }, - "constraints": { - "min_pixels": 1048576, - "max_pixels": 4194304, - "aspect_ratio": { - "max": 16 - } - }, "provider_coverage": { "openrouter": { "disposition": "listed", - "source_url": "https://openrouter.ai/bytedance-seed/seedream-5-0-pro" + "source_url": "https://openrouter.ai/bytedance-seed/seedream-5-0-lite" }, "vercel": { "disposition": "listed", @@ -8293,7 +8767,7 @@ }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/bytedance/seedream/v5/pro/text-to-image" + "source_url": "https://fal.ai/models/bytedance/seedream/v5/lite/text-to-image" }, "byteplus": { "disposition": "listed", @@ -8307,244 +8781,219 @@ "styles": null, "sizes": null }, - "google/gemini-3-pro-image": { - "reference_provider": "google", - "id": "google/gemini-3-pro-image", - "label": "Gemini 3 Pro Image", - "short_description": "High-quality multimodal model with native image generation", - "vendor": "google", + "bytedance/seedream-5.0-pro": { + "reference_provider": "byteplus", + "id": "bytedance/seedream-5.0-pro", + "label": "Seedream 5.0 Pro", + "short_description": "ByteDance's flagship image model — dense layouts, infographics and text-heavy compositions at 1K–2K.", + "vendor": "bytedance", "speed_label": "medium", "speed_max": "30s", "pricing": { - "type": "per_token", - "input": 2, - "output": 12 + "type": "per_image_flat", + "usd": 0.035 }, - "avg_cost_usd": 0.015, + "avg_cost_usd": 0.035, "release": { - "date": "2025-11-20", + "date": "2026-07-08", "basis": "model", - "source_url": "https://blog.google/innovation-and-ai/products/nano-banana-pro/" + "source_url": "https://seed.bytedance.com/en/blog/beyond-generation-it-understands-design-introducing-seedream-5-0-pro" }, "providers": { "vercel": { "provider": "vercel", - "id": "google/gemini-3-pro-image", + "id": "bytedance/seedream-5.0-pro", "pricing": { - "type": "per_token", - "input": 2, - "output": 12 + "type": "per_image_flat", + "usd": 0.035 }, - "avg_cost_usd": 0.015 + "avg_cost_usd": 0.035 }, "openrouter": { "provider": "openrouter", - "id": "google/gemini-3-pro-image-preview", + "id": "bytedance-seed/seedream-5-0-pro", "pricing": { - "type": "per_token", - "input": 2, - "output": 12 + "type": "per_image_flat", + "usd": 0.045 }, - "avg_cost_usd": 0.015, - "url": "https://openrouter.ai/google/gemini-3-pro-image-preview", + "avg_cost_usd": 0.045, + "url": "https://openrouter.ai/bytedance-seed/seedream-5-0-pro", "references": { - "id": "google/gemini-3-pro-image-preview", + "id": "bytedance-seed/seedream-5-0-pro", "max": 14 } }, "fal": { "provider": "fal", - "id": "fal-ai/nano-banana-pro", + "id": "bytedance/seedream/v5/pro/text-to-image", "pricing": { "type": "per_image_flat", - "usd": 0.15, - "resolution_multipliers": { - "4K": 2 - }, - "web_search_usd": 0.015, - "source_url": "https://fal.ai/models/fal-ai/nano-banana-pro" + "usd": 0.0675 }, - "avg_cost_usd": 0.15, - "url": "https://fal.ai/models/fal-ai/nano-banana-pro", + "avg_cost_usd": 0.0675, + "url": "https://fal.ai/models/bytedance/seedream/v5/pro/text-to-image", "endpoints": [ { - "id": "fal-ai/nano-banana-pro", - "input": "text", - "source_url": "https://fal.ai/models/fal-ai/nano-banana-pro/api", + "id": "bytedance/seedream/v5/pro/edit", + "input": "image", + "source_url": "https://fal.ai/models/bytedance/seedream/v5/pro/edit/api", "parameters": { - "aspect_ratio": { - "type": "string", + "enable_safety_checker": { + "type": "boolean" + }, + "enhance_prompt_mode": { "enum": [ - "auto", - "21:9", - "16:9", - "3:2", - "4:3", - "5:4", - "1:1", - "4:5", - "3:4", - "2:3", - "9:16" + "standard", + "fast" + ], + "type": "string" + }, + "image_size": { + "enum": [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9", + "auto_1K", + "auto_2K" ] }, - "enable_web_search": { - "type": "boolean" + "image_size.height": { + "maximum": 14142, + "type": "integer", + "minimum": 1 }, - "limit_generations": { - "type": "boolean" + "image_size.width": { + "maximum": 14142, + "type": "integer", + "minimum": 1 + }, + "image_urls": { + "type": "array", + "max_items": 10 }, "num_images": { - "minimum": 1, - "maximum": 4, - "type": "integer" + "maximum": 6, + "type": "integer", + "minimum": 1 }, "output_format": { - "type": "string", "enum": [ "jpeg", - "png", - "webp" - ] + "png" + ], + "type": "string" }, "prompt": { - "max_length": 50000, - "type": "string", - "min_length": 3 - }, - "resolution": { - "type": "string", - "enum": [ - "1K", - "2K", - "4K" - ] - }, - "safety_tolerance": { - "type": "string", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ] - }, - "seed": { - "type": "integer" - }, - "system_prompt": { - "max_length": 50000, "type": "string" } + }, + "image_constraints": { + "max_pixels": 4194304, + "min_pixels": 1048576, + "aspect_ratio": { + "min": 0.0625, + "max": 16 + } } }, { - "id": "fal-ai/nano-banana-pro/edit", - "input": "image", - "source_url": "https://fal.ai/models/fal-ai/nano-banana-pro/edit/api", + "id": "bytedance/seedream/v5/pro/text-to-image", + "input": "text", + "source_url": "https://fal.ai/models/bytedance/seedream/v5/pro/text-to-image/api", "parameters": { - "aspect_ratio": { - "type": "string", + "enable_safety_checker": { + "type": "boolean" + }, + "enhance_prompt_mode": { "enum": [ - "auto", - "21:9", - "16:9", - "3:2", - "4:3", - "5:4", - "1:1", - "4:5", - "3:4", - "2:3", - "9:16" + "standard", + "fast" + ], + "type": "string" + }, + "image_size": { + "enum": [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9", + "auto_1K", + "auto_2K" ] }, - "enable_web_search": { - "type": "boolean" + "image_size.height": { + "maximum": 14142, + "type": "integer", + "minimum": 1 }, - "image_urls": { - "type": "array", - "max_items": 14, - "source_url": "https://fal.ai/models/fal-ai/nano-banana-pro/edit" - }, - "limit_generations": { - "type": "boolean" + "image_size.width": { + "maximum": 14142, + "type": "integer", + "minimum": 1 }, "num_images": { - "minimum": 1, - "maximum": 4, - "type": "integer" + "maximum": 6, + "type": "integer", + "minimum": 1 }, "output_format": { - "type": "string", "enum": [ "jpeg", - "png", - "webp" - ] + "png" + ], + "type": "string" }, "prompt": { - "max_length": 50000, - "type": "string", - "min_length": 3 - }, - "resolution": { - "type": "string", - "enum": [ - "1K", - "2K", - "4K" - ] - }, - "safety_tolerance": { - "type": "string", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ] - }, - "seed": { - "type": "integer" - }, - "system_prompt": { - "max_length": 50000, "type": "string" } + }, + "image_constraints": { + "max_pixels": 4194304, + "min_pixels": 1048576, + "aspect_ratio": { + "min": 0.0625, + "max": 16 + } } } ] }, - "google": { - "provider": "google", - "id": "gemini-3-pro-image", - "source_url": "https://ai.google.dev/gemini-api/docs/pricing", - "url": "https://ai.google.dev/gemini-api/docs/pricing", + "byteplus": { + "provider": "byteplus", + "id": "dola-seedream-5-0-pro-260628", + "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", + "url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing", "pricing": { - "type": "per_token", - "input": 2, - "text_output": 12, - "output": 120, - "source_url": "https://ai.google.dev/gemini-api/docs/pricing" + "type": "per_image_tiered", + "threshold_pixels": 2610000, + "tiers": { + "generation_at_or_below_threshold": 0.045, + "generation_above_threshold": 0.09, + "layer_decomposition_at_or_below_threshold": 0.0225, + "layer_decomposition_above_threshold": 0.045 + }, + "included_input_images": 1, + "usd_per_additional_input_image": 0.003, + "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" } }, "grida": { "provider": "grida", - "id": "google/gemini-3-pro-image", + "id": "bytedance/seedream-5.0-pro", "url": "https://gateway.grida.ai/v1/models", "endpoints": [ { - "id": "image.google.gemini-3-pro-image.references", - "operation": "image.google.gemini-3-pro-image.references", + "id": "image.bytedance.seedream-5.0-pro.references", + "operation": "image.bytedance.seedream-5.0-pro.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.google.gemini-3-pro-image.references.input", - "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_4", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.bytedance.seedream-5.0-pro.references.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_6", "interface": "images.edits", "published_pricing": { "source_url": "https://gateway.grida.ai/v1/models", @@ -8559,18 +9008,18 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.15" + "usd_per_unit": "0.0675" } ] } }, { - "id": "image.google.gemini-3-pro-image.text", - "operation": "image.google.gemini-3-pro-image.text", + "id": "image.bytedance.seedream-5.0-pro.text", + "operation": "image.bytedance.seedream-5.0-pro.text", "input": "text", "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.google.gemini-3-pro-image.text.input", - "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_4", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.bytedance.seedream-5.0-pro.text.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_6", "interface": "images.generations", "published_pricing": { "source_url": "https://gateway.grida.ai/v1/models", @@ -8585,7 +9034,7 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.15" + "usd_per_unit": "0.0675" } ] } @@ -8593,10 +9042,17 @@ ] } }, + "constraints": { + "min_pixels": 1048576, + "max_pixels": 4194304, + "aspect_ratio": { + "max": 16 + } + }, "provider_coverage": { "openrouter": { "disposition": "listed", - "source_url": "https://openrouter.ai/google/gemini-3-pro-image-preview" + "source_url": "https://openrouter.ai/bytedance-seed/seedream-5-0-pro" }, "vercel": { "disposition": "listed", @@ -8604,11 +9060,11 @@ }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/fal-ai/nano-banana-pro" + "source_url": "https://fal.ai/models/bytedance/seedream/v5/pro/text-to-image" }, - "google": { + "byteplus": { "disposition": "listed", - "source_url": "https://ai.google.dev/gemini-api/docs/pricing" + "source_url": "https://docs.byteplus.com/en/docs/ModelArk/model-pricing" }, "grida": { "disposition": "listed", @@ -8616,81 +9072,75 @@ } }, "styles": null, - "sizes": null, - "constraints": null + "sizes": null }, - "google/gemini-3.1-flash-image-preview": { + "google/gemini-3-pro-image": { "reference_provider": "google", - "id": "google/gemini-3.1-flash-image-preview", - "label": "Gemini 3.1 Flash Image", - "short_description": "Fast, efficient multimodal model with native image generation", + "id": "google/gemini-3-pro-image", + "label": "Gemini 3 Pro Image", + "short_description": "High-quality multimodal model with native image generation", "vendor": "google", - "speed_label": "fast", - "speed_max": "15s", - "constraints": { - "max_edge": 1536 - }, + "speed_label": "medium", + "speed_max": "30s", "pricing": { "type": "per_token", - "input": 0.5, - "output": 3 + "input": 2, + "output": 12 }, - "avg_cost_usd": 0.004, + "avg_cost_usd": 0.015, "release": { - "date": "2026-02-26", + "date": "2025-11-20", "basis": "model", - "source_url": "https://ai.google.dev/gemini-api/docs/changelog" + "source_url": "https://blog.google/innovation-and-ai/products/nano-banana-pro/" }, "providers": { "vercel": { "provider": "vercel", - "id": "google/gemini-3.1-flash-image", + "id": "google/gemini-3-pro-image", "pricing": { "type": "per_token", - "input": 0.5, - "output": 3 + "input": 2, + "output": 12 }, - "avg_cost_usd": 0.004 + "avg_cost_usd": 0.015 }, "openrouter": { "provider": "openrouter", - "id": "google/gemini-3.1-flash-image", + "id": "google/gemini-3-pro-image-preview", "pricing": { "type": "per_token", - "input": 0.5, - "output": 3 + "input": 2, + "output": 12 }, - "avg_cost_usd": 0.004, - "url": "https://openrouter.ai/google/gemini-3.1-flash-image", + "avg_cost_usd": 0.015, + "url": "https://openrouter.ai/google/gemini-3-pro-image-preview", "references": { - "id": "google/gemini-3.1-flash-image", + "id": "google/gemini-3-pro-image-preview", "max": 14 } }, "fal": { "provider": "fal", - "id": "fal-ai/nano-banana-2", + "id": "fal-ai/nano-banana-pro", "pricing": { "type": "per_image_flat", - "usd": 0.08, + "usd": 0.15, "resolution_multipliers": { - "0.5K": 0.75, - "2K": 1.5, "4K": 2 }, "web_search_usd": 0.015, - "high_thinking_usd": 0.002, - "source_url": "https://fal.ai/models/fal-ai/nano-banana-2" + "source_url": "https://fal.ai/models/fal-ai/nano-banana-pro" }, - "avg_cost_usd": 0.08, - "url": "https://fal.ai/models/fal-ai/nano-banana-2", + "avg_cost_usd": 0.15, + "url": "https://fal.ai/models/fal-ai/nano-banana-pro", "endpoints": [ { - "id": "fal-ai/nano-banana-2", + "id": "fal-ai/nano-banana-pro", "input": "text", - "source_url": "https://fal.ai/models/fal-ai/nano-banana-2/api", + "source_url": "https://fal.ai/models/fal-ai/nano-banana-pro/api", "parameters": { "aspect_ratio": { + "type": "string", "enum": [ "auto", "21:9", @@ -8702,13 +9152,8 @@ "4:5", "3:4", "2:3", - "9:16", - "4:1", - "1:4", - "8:1", - "1:8" - ], - "type": "string" + "9:16" + ] }, "enable_web_search": { "type": "boolean" @@ -8722,28 +9167,28 @@ "type": "integer" }, "output_format": { + "type": "string", "enum": [ "jpeg", "png", "webp" - ], - "type": "string" + ] }, "prompt": { - "min_length": 3, + "max_length": 50000, "type": "string", - "max_length": 50000 + "min_length": 3 }, "resolution": { + "type": "string", "enum": [ - "0.5K", "1K", "2K", "4K" - ], - "type": "string" + ] }, "safety_tolerance": { + "type": "string", "enum": [ "1", "2", @@ -8751,24 +9196,24 @@ "4", "5", "6" - ], - "type": "string" + ] }, "seed": { "type": "integer" }, "system_prompt": { - "type": "string", - "max_length": 50000 + "max_length": 50000, + "type": "string" } } }, { - "id": "fal-ai/nano-banana-2/edit", + "id": "fal-ai/nano-banana-pro/edit", "input": "image", - "source_url": "https://fal.ai/models/fal-ai/nano-banana-2/edit/api", + "source_url": "https://fal.ai/models/fal-ai/nano-banana-pro/edit/api", "parameters": { "aspect_ratio": { + "type": "string", "enum": [ "auto", "21:9", @@ -8780,13 +9225,8 @@ "4:5", "3:4", "2:3", - "9:16", - "4:1", - "1:4", - "8:1", - "1:8" - ], - "type": "string" + "9:16" + ] }, "enable_web_search": { "type": "boolean" @@ -8794,7 +9234,7 @@ "image_urls": { "type": "array", "max_items": 14, - "source_url": "https://fal.ai/models/fal-ai/nano-banana-2/edit" + "source_url": "https://fal.ai/models/fal-ai/nano-banana-pro/edit" }, "limit_generations": { "type": "boolean" @@ -8805,28 +9245,28 @@ "type": "integer" }, "output_format": { + "type": "string", "enum": [ "jpeg", "png", "webp" - ], - "type": "string" + ] }, "prompt": { - "min_length": 3, + "max_length": 50000, "type": "string", - "max_length": 50000 + "min_length": 3 }, "resolution": { + "type": "string", "enum": [ - "0.5K", "1K", "2K", "4K" - ], - "type": "string" + ] }, "safety_tolerance": { + "type": "string", "enum": [ "1", "2", @@ -8834,15 +9274,14 @@ "4", "5", "6" - ], - "type": "string" + ] }, "seed": { "type": "integer" }, "system_prompt": { - "type": "string", - "max_length": 50000 + "max_length": 50000, + "type": "string" } } } @@ -8850,28 +9289,28 @@ }, "google": { "provider": "google", - "id": "gemini-3.1-flash-image", + "id": "gemini-3-pro-image", "source_url": "https://ai.google.dev/gemini-api/docs/pricing", "url": "https://ai.google.dev/gemini-api/docs/pricing", "pricing": { "type": "per_token", - "input": 0.5, - "text_output": 3, - "output": 60, + "input": 2, + "text_output": 12, + "output": 120, "source_url": "https://ai.google.dev/gemini-api/docs/pricing" } }, "grida": { "provider": "grida", - "id": "google/gemini-3.1-flash-image-preview", + "id": "google/gemini-3-pro-image", "url": "https://gateway.grida.ai/v1/models", "endpoints": [ { - "id": "image.google.gemini-3.1-flash-image-preview.references", - "operation": "image.google.gemini-3.1-flash-image-preview.references", + "id": "image.google.gemini-3-pro-image.references", + "operation": "image.google.gemini-3-pro-image.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.google.gemini-3.1-flash-image-preview.references.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.google.gemini-3-pro-image.references.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_4", "interface": "images.edits", "published_pricing": { @@ -8887,17 +9326,17 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.08" + "usd_per_unit": "0.15" } ] } }, { - "id": "image.google.gemini-3.1-flash-image-preview.text", - "operation": "image.google.gemini-3.1-flash-image-preview.text", + "id": "image.google.gemini-3-pro-image.text", + "operation": "image.google.gemini-3-pro-image.text", "input": "text", "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.google.gemini-3.1-flash-image-preview.text.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.google.gemini-3-pro-image.text.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_4", "interface": "images.generations", "published_pricing": { @@ -8913,7 +9352,7 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.08" + "usd_per_unit": "0.15" } ] } @@ -8924,7 +9363,7 @@ "provider_coverage": { "openrouter": { "disposition": "listed", - "source_url": "https://openrouter.ai/google/gemini-3.1-flash-image" + "source_url": "https://openrouter.ai/google/gemini-3-pro-image-preview" }, "vercel": { "disposition": "listed", @@ -8932,7 +9371,7 @@ }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/fal-ai/nano-banana-2" + "source_url": "https://fal.ai/models/fal-ai/nano-banana-pro" }, "google": { "disposition": "listed", @@ -8944,286 +9383,81 @@ } }, "styles": null, - "sizes": null + "sizes": null, + "constraints": null }, - "google/gemini-3.1-flash-lite-image": { + "google/gemini-3.1-flash-image-preview": { "reference_provider": "google", - "id": "google/gemini-3.1-flash-lite-image", - "label": "Gemini 3.1 Flash Lite Image", - "short_description": "Fastest, most cost-efficient Gemini image model; 1K output only.", + "id": "google/gemini-3.1-flash-image-preview", + "label": "Gemini 3.1 Flash Image", + "short_description": "Fast, efficient multimodal model with native image generation", "vendor": "google", - "speed_label": "fastest", - "speed_max": "10s", + "speed_label": "fast", + "speed_max": "15s", "constraints": { - "max_edge": 1024 + "max_edge": 1536 }, "pricing": { "type": "per_token", - "input": 0.25, - "output": 1.5 + "input": 0.5, + "output": 3 }, - "avg_cost_usd": 0.034, + "avg_cost_usd": 0.004, "release": { - "date": "2026-06-30", + "date": "2026-02-26", "basis": "model", "source_url": "https://ai.google.dev/gemini-api/docs/changelog" }, "providers": { "vercel": { "provider": "vercel", - "id": "google/gemini-3.1-flash-lite-image", + "id": "google/gemini-3.1-flash-image", "pricing": { "type": "per_token", - "input": 0.25, - "output": 1.5 + "input": 0.5, + "output": 3 }, - "avg_cost_usd": 0.034 + "avg_cost_usd": 0.004 }, "openrouter": { "provider": "openrouter", - "id": "google/gemini-3.1-flash-lite-image", + "id": "google/gemini-3.1-flash-image", "pricing": { "type": "per_token", - "input": 0.25, - "output": 1.5 + "input": 0.5, + "output": 3 }, - "avg_cost_usd": 0.034, - "url": "https://openrouter.ai/google/gemini-3.1-flash-lite-image" - }, - "google": { - "provider": "google", - "id": "gemini-3.1-flash-lite-image", - "source_url": "https://ai.google.dev/gemini-api/docs/pricing", - "url": "https://ai.google.dev/gemini-api/docs/pricing", - "pricing": { - "type": "per_token", - "input": 0.25, - "text_output": 1.5, - "output": 30, - "source_url": "https://ai.google.dev/gemini-api/docs/pricing" + "avg_cost_usd": 0.004, + "url": "https://openrouter.ai/google/gemini-3.1-flash-image", + "references": { + "id": "google/gemini-3.1-flash-image", + "max": 14 } }, "fal": { "provider": "fal", - "id": "google/nano-banana-2-lite", - "source_url": "https://fal.ai/models/google/nano-banana-2-lite", - "url": "https://fal.ai/models/google/nano-banana-2-lite", - "pricing": { - "type": "per_token", - "input": 0.3125, - "image_input": 0.3125, - "text_output": 1.875, - "output": 37.5, - "source_url": "https://fal.ai/models/google/nano-banana-2-lite" - } - } - }, - "provider_coverage": { - "openrouter": { - "disposition": "listed", - "source_url": "https://openrouter.ai/google/gemini-3.1-flash-lite-image" - }, - "vercel": { - "disposition": "listed", - "source_url": "https://ai-gateway.vercel.sh/v1/models" - }, - "fal": { - "disposition": "listed", - "source_url": "https://fal.ai/models/google/nano-banana-2-lite" - }, - "google": { - "disposition": "listed", - "source_url": "https://ai.google.dev/gemini-api/docs/pricing" - } - }, - "styles": null, - "sizes": null - }, - "google/gemini-nano-banana-2.1": { - "id": "google/gemini-nano-banana-2.1", - "vendor": "google", - "reference_provider": "google", - "label": "Gemini Nano Banana 2.1", - "short_description": "Image generation and conversational editing at 1K, 2K and 4K.", - "release": { - "date": "2026-10-06", - "basis": "model", - "source_url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/nano-banana-2-1" - }, - "providers": { - "google": { - "provider": "google", - "id": "gemini-nano-banana-2.1", - "url": "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1", - "source_url": "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1", + "id": "fal-ai/nano-banana-2", "pricing": { - "type": "per_token", - "input": 1.5, - "image_input": 1.5, - "text_output": 7.5, - "output": 30, - "source_url": "https://ai.google.dev/gemini-api/docs/pricing" - }, - "qualifications": [ - { - "source_url": "https://ai.google.dev/gemini-api/docs/pricing", - "notes": "Rates are USD per million tokens. Input covers text, images and video; text output includes thinking. Search grounding is separately priced at $14 per 1000 requests after the shared allowance; the allowance is not included in the token prices." + "type": "per_image_flat", + "usd": 0.08, + "resolution_multipliers": { + "0.5K": 0.75, + "2K": 1.5, + "4K": 2 }, - { - "source_url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/nano-banana-2-1", - "notes": "Google documents 1120 tokens per input image and output image tokens of 1120 at 1K, 1680 at 2K and 3780 at 4K. These image counts exclude additional text, thinking, video and document tokens. Google Cloud does not support seed, temperature, topP, topK or logprobs for this model." - } - ], - "capabilities": { - "source_url": "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1", - "image_input": true, - "reasoning": true, - "tools": false, - "structured_output": false - }, - "limits": { - "source_url": "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1", - "context_tokens": 131072, - "max_output_tokens": 32768 - }, - "endpoints": [ - { - "id": "gemini-nano-banana-2.1", - "input": "text", - "source_url": "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1" - } - ] - }, - "openrouter": { - "provider": "openrouter", - "id": "google/gemini-nano-banana-2.1", - "url": "https://openrouter.ai/google/gemini-nano-banana-2.1", - "source_url": "https://openrouter.ai/google/gemini-nano-banana-2.1", - "pricing": { - "type": "per_token", - "input": 1.5, - "image_input": 1.5, - "text_output": 7.5, - "output": 30, - "source_url": "https://openrouter.ai/api/v1/models" - }, - "qualifications": [ - { - "source_url": "https://openrouter.ai/api/v1/models", - "notes": "The provider publishes 65536 context tokens and 58982 maximum completion tokens. These provider-specific limits differ from the native API. Image output is $30 per million image tokens; text/thinking output is a separate $7.50 meter. Web search is separately priced at $0.014 per request." - } - ], - "capabilities": { - "source_url": "https://openrouter.ai/api/v1/models", - "image_input": true, - "reasoning": true, - "structured_output": true - }, - "limits": { - "source_url": "https://openrouter.ai/api/v1/models", - "context_tokens": 65536, - "max_output_tokens": 58982 - }, - "endpoints": [ - { - "id": "google/gemini-nano-banana-2.1", - "input": "text", - "source_url": "https://openrouter.ai/google/gemini-nano-banana-2.1" - } - ] - }, - "vercel": { - "provider": "vercel", - "id": "google/gemini-nano-banana-2.1", - "url": "https://vercel.com/ai-gateway/models/gemini-nano-banana-2.1", - "source_url": "https://vercel.com/ai-gateway/models/gemini-nano-banana-2.1", - "pricing": { - "type": "per_token", - "input": 1.5, - "text_output": 7.5, - "cached_input": 0.15, - "source_url": "https://ai-gateway.vercel.sh/v1/models" - }, - "qualifications": [ - { - "source_url": "https://ai-gateway.vercel.sh/v1/models", - "notes": "Discovery publishes output-image price examples of $0.0336 at 1K, $0.0504 at 2K and $0.1134 at 4K, separately from text and thinking output tokens. No image-token rate is inferred from another provider. Search has a separate published $14 per 1000 rate. Provider parameter and structured-output support differs from the native model page." - } - ], - "capabilities": { - "source_url": "https://vercel.com/ai-gateway/models/gemini-nano-banana-2.1", - "image_input": true, - "reasoning": true, - "structured_output": true - }, - "limits": { - "source_url": "https://vercel.com/ai-gateway/models/gemini-nano-banana-2.1", - "context_tokens": 131072, - "max_output_tokens": 32768 + "web_search_usd": 0.015, + "high_thinking_usd": 0.002, + "source_url": "https://fal.ai/models/fal-ai/nano-banana-2" }, + "avg_cost_usd": 0.08, + "url": "https://fal.ai/models/fal-ai/nano-banana-2", "endpoints": [ { - "id": "google/gemini-nano-banana-2.1", + "id": "fal-ai/nano-banana-2", "input": "text", - "source_url": "https://vercel.com/ai-gateway/models/gemini-nano-banana-2.1" - } - ] - }, - "fal": { - "provider": "fal", - "id": "google/nano-banana-2.1", - "url": "https://fal.ai/nano-banana-2.1", - "source_url": "https://fal.ai/nano-banana-2.1", - "pricing": { - "type": "per_token", - "input": 1.764, - "image_input": 1.764, - "text_output": 8.823, - "output": 35.294, - "source_url": "https://fal.ai/models/google/nano-banana-2.1/edit" - }, - "qualifications": [ - { - "source_url": "https://fal.ai/models/google/nano-banana-2.1/edit", - "notes": "Rates are USD per million tokens. Every output repeats the prompt and input token charges. Thinking is output text. Web search has no separate fee on this provider; retrieved content adds input tokens. The representative per-image examples are not flat prices or request cost limits." - }, - { - "source_url": "https://fal.ai/models/google/nano-banana-2.1/edit/api", - "notes": "Editing also accepts optional video_url or pdf_url context, each with a 15 MB file limit. The provider schema lists seed; the native Google Cloud contract does not support it, so portability or deterministic behavior is not claimed." - }, - { - "source_url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/nano-banana-2-1", - "notes": "The underlying model has 131072 input tokens and 32768 output tokens. Output image token counts are 1120 at 1K, 1680 at 2K and 3780 at 4K; input images use 1120 tokens each. These are model facts, not flat request prices." - } - ], - "capabilities": { - "source_url": "https://fal.ai/nano-banana-2.1", - "image_input": true, - "reasoning": true - }, - "limits": { - "source_url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/nano-banana-2-1", - "context_tokens": 131072, - "max_output_tokens": 32768 - }, - "endpoints": [ - { - "id": "google/nano-banana-2.1", - "input": "text", - "source_url": "https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=google/nano-banana-2.1", + "source_url": "https://fal.ai/models/fal-ai/nano-banana-2/api", "parameters": { - "prompt": { - "type": "string", - "min_length": 3, - "max_length": 50000 - }, - "num_images": { - "type": "integer", - "minimum": 1, - "maximum": 4 - }, "aspect_ratio": { - "type": "string", "enum": [ "auto", "21:9", @@ -9240,34 +9474,43 @@ "1:4", "8:1", "1:8" - ] + ], + "type": "string" }, - "resolution": { - "type": "string", - "enum": [ - "1K", - "2K", - "4K" - ] + "enable_web_search": { + "type": "boolean" }, - "thinking_level": { - "type": "string", - "enum": [ - "minimal", - "medium", - "high" - ] + "limit_generations": { + "type": "boolean" + }, + "num_images": { + "minimum": 1, + "maximum": 4, + "type": "integer" }, "output_format": { - "type": "string", "enum": [ "jpeg", "png", "webp" - ] + ], + "type": "string" }, - "safety_tolerance": { + "prompt": { + "min_length": 3, "type": "string", + "max_length": 50000 + }, + "resolution": { + "enum": [ + "0.5K", + "1K", + "2K", + "4K" + ], + "type": "string" + }, + "safety_tolerance": { "enum": [ "1", "2", @@ -9275,7 +9518,8 @@ "4", "5", "6" - ] + ], + "type": "string" }, "seed": { "type": "integer" @@ -9283,35 +9527,15 @@ "system_prompt": { "type": "string", "max_length": 50000 - }, - "enable_web_search": { - "type": "boolean" - }, - "limit_generations": { - "type": "boolean" - }, - "sync_mode": { - "type": "boolean" } } }, { - "id": "google/nano-banana-2.1/edit", + "id": "fal-ai/nano-banana-2/edit", "input": "image", - "source_url": "https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=google/nano-banana-2.1/edit", + "source_url": "https://fal.ai/models/fal-ai/nano-banana-2/edit/api", "parameters": { - "prompt": { - "type": "string", - "min_length": 3, - "max_length": 50000 - }, - "num_images": { - "type": "integer", - "minimum": 1, - "maximum": 4 - }, "aspect_ratio": { - "type": "string", "enum": [ "auto", "21:9", @@ -9328,34 +9552,48 @@ "1:4", "8:1", "1:8" - ] + ], + "type": "string" }, - "resolution": { - "type": "string", - "enum": [ - "1K", - "2K", - "4K" - ] + "enable_web_search": { + "type": "boolean" }, - "thinking_level": { - "type": "string", - "enum": [ - "minimal", - "medium", - "high" - ] + "image_urls": { + "type": "array", + "max_items": 14, + "source_url": "https://fal.ai/models/fal-ai/nano-banana-2/edit" + }, + "limit_generations": { + "type": "boolean" + }, + "num_images": { + "minimum": 1, + "maximum": 4, + "type": "integer" }, "output_format": { - "type": "string", "enum": [ "jpeg", "png", "webp" - ] + ], + "type": "string" }, - "safety_tolerance": { + "prompt": { + "min_length": 3, "type": "string", + "max_length": 50000 + }, + "resolution": { + "enum": [ + "0.5K", + "1K", + "2K", + "4K" + ], + "type": "string" + }, + "safety_tolerance": { "enum": [ "1", "2", @@ -9363,7 +9601,8 @@ "4", "5", "6" - ] + ], + "type": "string" }, "seed": { "type": "integer" @@ -9371,42 +9610,35 @@ "system_prompt": { "type": "string", "max_length": 50000 - }, - "enable_web_search": { - "type": "boolean" - }, - "limit_generations": { - "type": "boolean" - }, - "sync_mode": { - "type": "boolean" - }, - "image_urls": { - "type": "array", - "max_items": 14, - "source_url": "https://fal.ai/models/google/nano-banana-2.1/edit" - }, - "video_url": { - "type": "string" - }, - "pdf_url": { - "type": "string" } } } ] }, + "google": { + "provider": "google", + "id": "gemini-3.1-flash-image", + "source_url": "https://ai.google.dev/gemini-api/docs/pricing", + "url": "https://ai.google.dev/gemini-api/docs/pricing", + "pricing": { + "type": "per_token", + "input": 0.5, + "text_output": 3, + "output": 60, + "source_url": "https://ai.google.dev/gemini-api/docs/pricing" + } + }, "grida": { "provider": "grida", - "id": "google/gemini-nano-banana-2.1", + "id": "google/gemini-3.1-flash-image-preview", "url": "https://gateway.grida.ai/v1/models", "endpoints": [ { - "id": "image.google.gemini-nano-banana-2.1.references", - "operation": "image.google.gemini-nano-banana-2.1.references", + "id": "image.google.gemini-3.1-flash-image-preview.references", + "operation": "image.google.gemini-3.1-flash-image-preview.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.google.gemini-nano-banana-2.1.references.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.google.gemini-3.1-flash-image-preview.references.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_4", "interface": "images.edits", "published_pricing": { @@ -9414,25 +9646,25 @@ "currency": "USD", "components": [ { - "id": "fal_standard_cost_mills", - "meter": "fal_standard_cost_mills", - "unit": "mill", + "id": "fal_output_units", + "meter": "fal_output_units", + "unit": "provider_unit", "per_quantity": "1", "when": {}, "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.001" + "usd_per_unit": "0.08" } ] } }, { - "id": "image.google.gemini-nano-banana-2.1.text", - "operation": "image.google.gemini-nano-banana-2.1.text", + "id": "image.google.gemini-3.1-flash-image-preview.text", + "operation": "image.google.gemini-3.1-flash-image-preview.text", "input": "text", "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.google.gemini-nano-banana-2.1.text.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.google.gemini-3.1-flash-image-preview.text.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_4", "interface": "images.generations", "published_pricing": { @@ -9440,15 +9672,15 @@ "currency": "USD", "components": [ { - "id": "fal_standard_cost_mills", - "meter": "fal_standard_cost_mills", - "unit": "mill", + "id": "fal_output_units", + "meter": "fal_output_units", + "unit": "provider_unit", "per_quantity": "1", "when": {}, "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.001" + "usd_per_unit": "0.08" } ] } @@ -9457,23 +9689,23 @@ } }, "provider_coverage": { - "google": { - "disposition": "listed", - "source_url": "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1" - }, "openrouter": { "disposition": "listed", - "source_url": "https://openrouter.ai/google/gemini-nano-banana-2.1" + "source_url": "https://openrouter.ai/google/gemini-3.1-flash-image" }, "vercel": { "disposition": "listed", - "source_url": "https://vercel.com/ai-gateway/models/gemini-nano-banana-2.1" + "source_url": "https://ai-gateway.vercel.sh/v1/models" }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/nano-banana-2.1" + "source_url": "https://fal.ai/models/fal-ai/nano-banana-2" }, - "grida": { + "google": { + "disposition": "listed", + "source_url": "https://ai.google.dev/gemini-api/docs/pricing" + }, + "grida": { "disposition": "listed", "source_url": "https://gateway.grida.ai/v1/models" } @@ -9481,508 +9713,467 @@ "styles": null, "sizes": null }, - "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.", + "google/gemini-3.1-flash-lite-image": { + "reference_provider": "google", + "id": "google/gemini-3.1-flash-lite-image", + "label": "Gemini 3.1 Flash Lite Image", + "short_description": "Fastest, most cost-efficient Gemini image model; 1K output only.", + "vendor": "google", + "speed_label": "fastest", + "speed_max": "10s", + "constraints": { + "max_edge": 1024 + }, + "pricing": { + "type": "per_token", + "input": 0.25, + "output": 1.5 + }, + "avg_cost_usd": 0.034, "release": { - "basis": "provider_endpoint", - "source_url": "https://fal.ai/models/ideogram/v4.5/api", - "date": null + "date": "2026-06-30", + "basis": "model", + "source_url": "https://ai.google.dev/gemini-api/docs/changelog" }, "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", + "vercel": { + "provider": "vercel", + "id": "google/gemini-3.1-flash-lite-image", + "pricing": { + "type": "per_token", + "input": 0.25, + "output": 1.5 + }, + "avg_cost_usd": 0.034 + }, + "openrouter": { + "provider": "openrouter", + "id": "google/gemini-3.1-flash-lite-image", + "pricing": { + "type": "per_token", + "input": 0.25, + "output": 1.5 + }, + "avg_cost_usd": 0.034, + "url": "https://openrouter.ai/google/gemini-3.1-flash-lite-image" + }, + "google": { + "provider": "google", + "id": "gemini-3.1-flash-lite-image", + "source_url": "https://ai.google.dev/gemini-api/docs/pricing", + "url": "https://ai.google.dev/gemini-api/docs/pricing", + "pricing": { + "type": "per_token", + "input": 0.25, + "text_output": 1.5, + "output": 30, + "source_url": "https://ai.google.dev/gemini-api/docs/pricing" + } + }, + "fal": { + "provider": "fal", + "id": "google/nano-banana-2-lite", + "source_url": "https://fal.ai/models/google/nano-banana-2-lite", + "url": "https://fal.ai/models/google/nano-banana-2-lite", + "pricing": { + "type": "per_token", + "input": 0.3125, + "image_input": 0.3125, + "text_output": 1.875, + "output": 37.5, + "source_url": "https://fal.ai/models/google/nano-banana-2-lite" + } + } + }, + "provider_coverage": { + "openrouter": { + "disposition": "listed", + "source_url": "https://openrouter.ai/google/gemini-3.1-flash-lite-image" + }, + "vercel": { + "disposition": "listed", + "source_url": "https://ai-gateway.vercel.sh/v1/models" + }, + "fal": { + "disposition": "listed", + "source_url": "https://fal.ai/models/google/nano-banana-2-lite" + }, + "google": { + "disposition": "listed", + "source_url": "https://ai.google.dev/gemini-api/docs/pricing" + } + }, + "styles": null, + "sizes": null + }, + "google/gemini-nano-banana-2.1": { + "id": "google/gemini-nano-banana-2.1", + "vendor": "google", + "reference_provider": "google", + "label": "Gemini Nano Banana 2.1", + "short_description": "Image generation and conversational editing at 1K, 2K and 4K.", + "release": { + "date": "2026-10-06", + "basis": "model", + "source_url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/nano-banana-2-1" + }, + "providers": { + "google": { + "provider": "google", + "id": "gemini-nano-banana-2.1", + "url": "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1", + "source_url": "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1", + "pricing": { + "type": "per_token", + "input": 1.5, + "image_input": 1.5, + "text_output": 7.5, + "output": 30, + "source_url": "https://ai.google.dev/gemini-api/docs/pricing" + }, "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." + "source_url": "https://ai.google.dev/gemini-api/docs/pricing", + "notes": "Rates are USD per million tokens. Input covers text, images and video; text output includes thinking. Search grounding is separately priced at $14 per 1000 requests after the shared allowance; the allowance is not included in the token prices." + }, + { + "source_url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/nano-banana-2-1", + "notes": "Google documents 1120 tokens per input image and output image tokens of 1120 at 1K, 1680 at 2K and 3780 at 4K. These image counts exclude additional text, thinking, video and document tokens. Google Cloud does not support seed, temperature, topP, topK or logprobs for this model." } ], + "capabilities": { + "source_url": "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1", + "image_input": true, + "reasoning": true, + "tools": false, + "structured_output": false + }, + "limits": { + "source_url": "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1", + "context_tokens": 131072, + "max_output_tokens": 32768 + }, "endpoints": [ { - "id": "/v2/image/generate/ideogram-4-5", + "id": "gemini-nano-banana-2.1", "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 - } - } + "source_url": "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1" } ] }, - "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 - }, + "openrouter": { + "provider": "openrouter", + "id": "google/gemini-nano-banana-2.1", + "url": "https://openrouter.ai/google/gemini-nano-banana-2.1", + "source_url": "https://openrouter.ai/google/gemini-nano-banana-2.1", "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" + "type": "per_token", + "input": 1.5, + "image_input": 1.5, + "text_output": 7.5, + "output": 30, + "source_url": "https://openrouter.ai/api/v1/models" }, "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." + "source_url": "https://openrouter.ai/api/v1/models", + "notes": "The provider publishes 65536 context tokens and 58982 maximum completion tokens. These provider-specific limits differ from the native API. Image output is $30 per million image tokens; text/thinking output is a separate $7.50 meter. Web search is separately priced at $0.014 per request." } ], + "capabilities": { + "source_url": "https://openrouter.ai/api/v1/models", + "image_input": true, + "reasoning": true, + "structured_output": true + }, + "limits": { + "source_url": "https://openrouter.ai/api/v1/models", + "context_tokens": 65536, + "max_output_tokens": 58982 + }, "endpoints": [ { - "id": "ideogram/v4.5", + "id": "google/gemini-nano-banana-2.1", "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" - } - } - } - } - ] - } - }, + "source_url": "https://openrouter.ai/google/gemini-nano-banana-2.1" + } + ] + }, + "vercel": { + "provider": "vercel", + "id": "google/gemini-nano-banana-2.1", + "url": "https://vercel.com/ai-gateway/models/gemini-nano-banana-2.1", + "source_url": "https://vercel.com/ai-gateway/models/gemini-nano-banana-2.1", + "pricing": { + "type": "per_token", + "input": 1.5, + "text_output": 7.5, + "cached_input": 0.15, + "source_url": "https://ai-gateway.vercel.sh/v1/models" + }, + "qualifications": [ { - "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" + "source_url": "https://ai-gateway.vercel.sh/v1/models", + "notes": "Discovery publishes output-image price examples of $0.0336 at 1K, $0.0504 at 2K and $0.1134 at 4K, separately from text and thinking output tokens. No image-token rate is inferred from another provider. Search has a separate published $14 per 1000 rate. Provider parameter and structured-output support differs from the native model page." + } + ], + "capabilities": { + "source_url": "https://vercel.com/ai-gateway/models/gemini-nano-banana-2.1", + "image_input": true, + "reasoning": true, + "structured_output": true + }, + "limits": { + "source_url": "https://vercel.com/ai-gateway/models/gemini-nano-banana-2.1", + "context_tokens": 131072, + "max_output_tokens": 32768 + }, + "endpoints": [ + { + "id": "google/gemini-nano-banana-2.1", + "input": "text", + "source_url": "https://vercel.com/ai-gateway/models/gemini-nano-banana-2.1" + } + ] + }, + "fal": { + "provider": "fal", + "id": "google/nano-banana-2.1", + "url": "https://fal.ai/nano-banana-2.1", + "source_url": "https://fal.ai/nano-banana-2.1", + "pricing": { + "type": "per_token", + "input": 1.764, + "image_input": 1.764, + "text_output": 8.823, + "output": 35.294, + "source_url": "https://fal.ai/models/google/nano-banana-2.1/edit" + }, + "qualifications": [ + { + "source_url": "https://fal.ai/models/google/nano-banana-2.1/edit", + "notes": "Rates are USD per million tokens. Every output repeats the prompt and input token charges. Thinking is output text. Web search has no separate fee on this provider; retrieved content adds input tokens. The representative per-image examples are not flat prices or request cost limits." + }, + { + "source_url": "https://fal.ai/models/google/nano-banana-2.1/edit/api", + "notes": "Editing also accepts optional video_url or pdf_url context, each with a 15 MB file limit. The provider schema lists seed; the native Google Cloud contract does not support it, so portability or deterministic behavior is not claimed." + }, + { + "source_url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/nano-banana-2-1", + "notes": "The underlying model has 131072 input tokens and 32768 output tokens. Output image token counts are 1120 at 1K, 1680 at 2K and 3780 at 4K; input images use 1120 tokens each. These are model facts, not flat request prices." + } + ], + "capabilities": { + "source_url": "https://fal.ai/nano-banana-2.1", + "image_input": true, + "reasoning": true + }, + "limits": { + "source_url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/nano-banana-2-1", + "context_tokens": 131072, + "max_output_tokens": 32768 + }, + "endpoints": [ + { + "id": "google/nano-banana-2.1", + "input": "text", + "source_url": "https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=google/nano-banana-2.1", + "parameters": { + "prompt": { + "type": "string", + "min_length": 3, + "max_length": 50000 }, "num_images": { + "type": "integer", "minimum": 1, - "maximum": 8, - "type": "integer" + "maximum": 4 }, - "image_url": { - "type": "string" + "aspect_ratio": { + "type": "string", + "enum": [ + "auto", + "21:9", + "16:9", + "3:2", + "4:3", + "5:4", + "1:1", + "4:5", + "3:4", + "2:3", + "9:16", + "4:1", + "1:4", + "8:1", + "1:8" + ] }, - "quality": { + "resolution": { + "type": "string", "enum": [ - "very_low", - "low", + "1K", + "2K", + "4K" + ] + }, + "thinking_level": { + "type": "string", + "enum": [ + "minimal", "medium", "high" - ], - "type": "string" + ] }, - "prompt": { + "output_format": { "type": "string", - "max_length": 10000, - "min_length": 1 + "enum": [ + "jpeg", + "png", + "webp" + ] }, - "sync_mode": { + "safety_tolerance": { + "type": "string", + "enum": [ + "1", + "2", + "3", + "4", + "5", + "6" + ] + }, + "seed": { + "type": "integer" + }, + "system_prompt": { + "type": "string", + "max_length": 50000 + }, + "enable_web_search": { "type": "boolean" }, - "image_size.width": { - "type": "integer", - "minimum": 256, - "multiple_of": 32 + "limit_generations": { + "type": "boolean" }, - "image_size.height": { - "type": "integer", - "minimum": 256, - "multiple_of": 32 + "sync_mode": { + "type": "boolean" } - }, - "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" - } - } - } - } - ] } - } - ] - }, - "grida": { - "provider": "grida", - "id": "ideogram/ideogram-4.5", - "url": "https://gateway.grida.ai/v1/models", - "endpoints": [ + }, { - "id": "image.ideogram.ideogram-4.5.text", - "operation": "image.ideogram.ideogram-4.5.text", - "input": "text", - "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.ideogram.ideogram-4.5.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.001" - } - ] + "id": "google/nano-banana-2.1/edit", + "input": "image", + "source_url": "https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=google/nano-banana-2.1/edit", + "parameters": { + "prompt": { + "type": "string", + "min_length": 3, + "max_length": 50000 + }, + "num_images": { + "type": "integer", + "minimum": 1, + "maximum": 4 + }, + "aspect_ratio": { + "type": "string", + "enum": [ + "auto", + "21:9", + "16:9", + "3:2", + "4:3", + "5:4", + "1:1", + "4:5", + "3:4", + "2:3", + "9:16", + "4:1", + "1:4", + "8:1", + "1:8" + ] + }, + "resolution": { + "type": "string", + "enum": [ + "1K", + "2K", + "4K" + ] + }, + "thinking_level": { + "type": "string", + "enum": [ + "minimal", + "medium", + "high" + ] + }, + "output_format": { + "type": "string", + "enum": [ + "jpeg", + "png", + "webp" + ] + }, + "safety_tolerance": { + "type": "string", + "enum": [ + "1", + "2", + "3", + "4", + "5", + "6" + ] + }, + "seed": { + "type": "integer" + }, + "system_prompt": { + "type": "string", + "max_length": 50000 + }, + "enable_web_search": { + "type": "boolean" + }, + "limit_generations": { + "type": "boolean" + }, + "sync_mode": { + "type": "boolean" + }, + "image_urls": { + "type": "array", + "max_items": 14, + "source_url": "https://fal.ai/models/google/nano-banana-2.1/edit" + }, + "video_url": { + "type": "string" + }, + "pdf_url": { + "type": "string" + } } - }, + } + ] + }, + "grida": { + "provider": "grida", + "id": "google/gemini-nano-banana-2.1", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ { - "id": "image.ideogram.ideogram-4.5.references", - "operation": "image.ideogram.ideogram-4.5.references", + "id": "image.google.gemini-nano-banana-2.1.references", + "operation": "image.google.gemini-nano-banana-2.1.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.ideogram.ideogram-4.5.references.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.google.gemini-nano-banana-2.1.references.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_4", "interface": "images.edits", "published_pricing": { @@ -9990,9 +10181,35 @@ "currency": "USD", "components": [ { - "id": "fal_output_units", - "meter": "fal_output_units", - "unit": "provider_unit", + "id": "fal_standard_cost_mills", + "meter": "fal_standard_cost_mills", + "unit": "mill", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.001" + } + ] + } + }, + { + "id": "image.google.gemini-nano-banana-2.1.text", + "operation": "image.google.gemini-nano-banana-2.1.text", + "input": "text", + "source_url": "https://gateway.grida.ai/schemas/operations.json", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.google.gemini-nano-banana-2.1.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_standard_cost_mills", + "meter": "fal_standard_cost_mills", + "unit": "mill", "per_quantity": "1", "when": {}, "quantity_rounding": { @@ -10007,222 +10224,506 @@ } }, "provider_coverage": { + "google": { + "disposition": "listed", + "source_url": "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1" + }, "openrouter": { - "disposition": "not_listed", - "source_url": "https://openrouter.ai/api/v1/models", - "reason": "The published model discovery list does not contain this exact model." + "disposition": "listed", + "source_url": "https://openrouter.ai/google/gemini-nano-banana-2.1" }, "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" + "source_url": "https://vercel.com/ai-gateway/models/gemini-nano-banana-2.1" }, - "ideogram": { + "fal": { "disposition": "listed", - "source_url": "https://developer.ideogram.ai/ideogram-api/api-overview" + "source_url": "https://fal.ai/nano-banana-2.1" }, "grida": { "disposition": "listed", "source_url": "https://gateway.grida.ai/v1/models" } - } - }, - "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, + "styles": null, + "sizes": null + }, + "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 - }, - "fal": { - "provider": "fal", - "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_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 - }, + "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://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." + "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": "meta/muse-image/text-to-image", + "id": "/v2/image/generate/ideogram-4-5", "input": "text", - "source_url": "https://fal.ai/models/meta/muse-image/text-to-image/api", + "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": { - "num_images": { - "minimum": 1, - "maximum": 10, - "type": "integer" - }, - "output_format": { - "enum": [ - "jpeg", - "png", - "webp" - ], - "type": "string" - }, - "sync_mode": { - "type": "boolean" - }, "prompt": { + "type": "string", "min_length": 1, - "type": "string" + "max_length": 10000 }, - "aspect_ratio": { - "type": "string" - } - }, - "image_constraints": { - "aspect_ratio": { - "min": 0.0625, - "max": 16 + "reference_images": { + "type": "array", + "max_items": 4 } - }, - "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" - } - ] } + } + ] + }, + "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": [ { - "id": "meta/muse-image/edit", - "input": "multi_image", - "source_url": "https://fal.ai/models/meta/muse-image/edit/api", + "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": 10, + "maximum": 8, "type": "integer" }, - "output_format": { + "enable_prompt_expansion": { + "type": "boolean" + }, + "quality": { "enum": [ - "jpeg", - "png", - "webp" + "low", + "medium", + "high" ], "type": "string" }, - "sync_mode": { - "type": "boolean" - }, - "image_urls": { - "type": "array", - "min_items": 1, - "max_items": 10 - }, "prompt": { - "min_length": 1, - "type": "string" + "type": "string", + "max_length": 10000, + "min_length": 1 }, - "aspect_ratio": { - "type": "string" - } - }, - "image_constraints": { - "aspect_ratio": { - "min": 0.0625, - "max": 16 + "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/meta/muse-image/edit", + "source_url": "https://fal.ai/models/ideogram/v4.5", "currency": "USD", "components": [ { + "id": "low", "meter": "generated_images", "unit": "image", - "usd_per_unit": "0.01" + "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" + } + } + } } ] } - } - ] - }, - "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." + "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" + } + } + } + } + ] + } } ] }, "grida": { "provider": "grida", - "id": "meta/muse-image-1.0", + "id": "ideogram/ideogram-4.5", "url": "https://gateway.grida.ai/v1/models", "endpoints": [ { - "id": "image.meta.muse-image-1.0.text", - "operation": "image.meta.muse-image-1.0.text", + "id": "image.ideogram.ideogram-4.5.text", + "operation": "image.ideogram.ideogram-4.5.text", "input": "text", "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.meta.muse-image-1.0.text.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.ideogram.ideogram-4.5.text.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_4", "interface": "images.generations", "published_pricing": { @@ -10238,17 +10739,17 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.01" + "usd_per_unit": "0.001" } ] } }, { - "id": "image.meta.muse-image-1.0.references", - "operation": "image.meta.muse-image-1.0.references", + "id": "image.ideogram.ideogram-4.5.references", + "operation": "image.ideogram.ideogram-4.5.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.meta.muse-image-1.0.references.input", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.ideogram.ideogram-4.5.references.input", "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_4", "interface": "images.edits", "published_pricing": { @@ -10264,7 +10765,7 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.01" + "usd_per_unit": "0.001" } ] } @@ -10274,202 +10775,274 @@ }, "provider_coverage": { "openrouter": { - "disposition": "listed", - "source_url": "https://openrouter.ai/api/v1/models/meta/muse-image/endpoints" + "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" }, "grida": { "disposition": "listed", "source_url": "https://gateway.grida.ai/v1/models" } - }, - "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", - "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, - "high/1536x1024": 0.052 - }, - "input_text_usd_per_million": 2, - "total_rounding_usd": 0.01, - "source_url": "https://fal.ai/models/fal-ai/gpt-image-1-mini" - }, - "input": "text" - }, - "openrouter": { - "provider": "openrouter", - "id": "openai/gpt-image-1-mini", - "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-1-mini/endpoints", - "url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-1-mini/endpoints", + "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_token", - "image_input": 2.5, - "input": 2.0, - "output": 8.0, - "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-1-mini/endpoints" + "type": "per_image_flat", + "usd": 0.01, + "source_url": "https://fal.ai/models/meta/muse-image/text-to-image" }, - "transparent_background": true, + "avg_cost_usd": 0.01, "references": { - "id": "openai/gpt-image-1-mini", - "max": 16 + "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": "openai/gpt-image-1-mini", - "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-1-mini/endpoints", + "id": "meta/muse-image/text-to-image", + "input": "text", + "source_url": "https://fal.ai/models/meta/muse-image/text-to-image/api", "parameters": { - "aspect_ratio": { - "enum": [ - "1:1", - "3:2", - "2:3", - "auto" - ] + "num_images": { + "minimum": 1, + "maximum": 10, + "type": "integer" }, - "quality": { + "output_format": { "enum": [ - "auto", - "low", - "medium", - "high" - ] + "jpeg", + "png", + "webp" + ], + "type": "string" }, - "background": { - "enum": [ - "auto", - "transparent", - "opaque" - ] + "sync_mode": { + "type": "boolean" }, - "n": { - "type": "integer", + "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 + "maximum": 10, + "type": "integer" }, - "input_references": { - "type": "integer", - "minimum": 0, - "maximum": 16 + "output_format": { + "enum": [ + "jpeg", + "png", + "webp" + ], + "type": "string" }, - "output_compression": { - "type": "integer", - "minimum": 0, - "maximum": 100 + "sync_mode": { + "type": "boolean" + }, + "image_urls": { + "type": "array", + "min_items": 1, + "max_items": 10 + }, + "prompt": { + "min_length": 1, + "type": "string" + }, + "aspect_ratio": { + "type": "string" } }, - "input": "text" + "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" + } + ] + } } ] - } - }, - "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, - "high/1536x1024": 0.052 }, - "tokens": { - "input": 2, - "cached_input": 0.2, - "image_input": 2.5, - "cached_image_input": 0.25, - "output": 8 - } - }, + "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." + } + ] + }, + "grida": { + "provider": "grida", + "id": "meta/muse-image-1.0", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "image.meta.muse-image-1.0.text", + "operation": "image.meta.muse-image-1.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.meta.muse-image-1.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" + } + ] + } + }, + { + "id": "image.meta.muse-image-1.0.references", + "operation": "image.meta.muse-image-1.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.meta.muse-image-1.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" + } + ] + } + } + ] + } + }, "provider_coverage": { "openrouter": { "disposition": "listed", - "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-1-mini/endpoints" + "source_url": "https://openrouter.ai/api/v1/models/meta/muse-image/endpoints" }, "vercel": { "disposition": "listed", @@ -10477,23 +11050,28 @@ }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/fal-ai/gpt-image-1-mini" + "source_url": "https://fal.ai/models/meta/muse-image/text-to-image" }, - "openai": { + "meta": { "disposition": "listed", - "source_url": "https://developers.openai.com/api/docs/models/gpt-image-1-mini" + "source_url": "https://dev.meta.ai/docs/image-generation" + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } }, "styles": null, + "sizes": null, "constraints": null }, - "openai/gpt-image-1.5": { + "openai/gpt-image-1-mini": { "reference_provider": "openai", - "id": "openai/gpt-image-1.5", - "label": "GPT Image 1.5", - "short_description": "Previous-generation image model. Superseded by GPT Image 2.", + "id": "openai/gpt-image-1-mini", + "label": "GPT Image Mini", + "short_description": "Cost-efficient image generation model", "vendor": "openai", - "speed_label": "medium", + "speed_label": "slow", "speed_max": "1m", "sizes": [ [ @@ -10512,82 +11090,271 @@ "3:2" ] ], - "avg_cost_usd": 0.034, + "avg_cost_usd": 0.011, "release": { - "date": "2025-12-16", + "date": "2025-10-06", "basis": "model", - "source_url": "https://openai.com/index/new-chatgpt-images-is-here/" + "source_url": "https://openai.com/devday/" }, "providers": { "vercel": { "provider": "vercel", - "id": "openai/gpt-image-1.5", + "id": "openai/gpt-image-1-mini", "pricing": { "type": "per_token", - "input": 5, - "output": 32 + "input": 2, + "output": 8 }, - "avg_cost_usd": 0.034 + "avg_cost_usd": 0.011 }, "openai": { "provider": "openai", - "id": "gpt-image-1.5", - "source_url": "https://developers.openai.com/api/docs/models/gpt-image-1.5", - "url": "https://developers.openai.com/api/docs/models/gpt-image-1.5", + "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": 5, - "cached_input": 1.25, - "image_input": 8, - "cached_image_input": 2, - "output": 32, + "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.5" + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-1-mini" } }, "fal": { "provider": "fal", - "id": "fal-ai/gpt-image-1.5", - "source_url": "https://fal.ai/models/fal-ai/gpt-image-1.5", - "url": "https://fal.ai/models/fal-ai/gpt-image-1.5", + "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.009, - "low/1024x1536": 0.013, - "low/1536x1024": 0.013, - "medium/1024x1024": 0.034, - "medium/1024x1536": 0.051, - "medium/1536x1024": 0.05, - "high/1024x1024": 0.133, - "high/1024x1536": 0.2, - "high/1536x1024": 0.199 + "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, + "high/1536x1024": 0.052 }, - "input_text_usd_per_million": 5, - "text_output_usd_per_million": 10, - "source_url": "https://fal.ai/models/fal-ai/gpt-image-1.5" + "input_text_usd_per_million": 2, + "total_rounding_usd": 0.01, + "source_url": "https://fal.ai/models/fal-ai/gpt-image-1-mini" }, "input": "text" + }, + "openrouter": { + "provider": "openrouter", + "id": "openai/gpt-image-1-mini", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-1-mini/endpoints", + "url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-1-mini/endpoints", + "pricing": { + "type": "per_token", + "image_input": 2.5, + "input": 2.0, + "output": 8.0, + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-1-mini/endpoints" + }, + "transparent_background": true, + "references": { + "id": "openai/gpt-image-1-mini", + "max": 16 + }, + "endpoints": [ + { + "id": "openai/gpt-image-1-mini", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-1-mini/endpoints", + "parameters": { + "aspect_ratio": { + "enum": [ + "1:1", + "3:2", + "2:3", + "auto" + ] + }, + "quality": { + "enum": [ + "auto", + "low", + "medium", + "high" + ] + }, + "background": { + "enum": [ + "auto", + "transparent", + "opaque" + ] + }, + "n": { + "type": "integer", + "minimum": 1, + "maximum": 10 + }, + "input_references": { + "type": "integer", + "minimum": 0, + "maximum": 16 + }, + "output_compression": { + "type": "integer", + "minimum": 0, + "maximum": 100 + } + }, + "input": "text" + } + ] } }, "pricing": { "type": "per_image_tiered", "tiers": { - "low/1024x1024": 0.009, - "low/1024x1536": 0.013, - "low/1536x1024": 0.013, - "medium/1024x1024": 0.034, - "medium/1024x1536": 0.05, - "medium/1536x1024": 0.05, - "high/1024x1024": 0.133, - "high/1024x1536": 0.2, - "high/1536x1024": 0.2 - }, - "tokens": { - "input": 5, - "cached_input": 1.25, - "image_input": 8, - "cached_image_input": 2, - "output": 32 + "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, + "high/1536x1024": 0.052 + }, + "tokens": { + "input": 2, + "cached_input": 0.2, + "image_input": 2.5, + "cached_image_input": 0.25, + "output": 8 + } + }, + "provider_coverage": { + "openrouter": { + "disposition": "listed", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-1-mini/endpoints" + }, + "vercel": { + "disposition": "listed", + "source_url": "https://ai-gateway.vercel.sh/v1/models" + }, + "fal": { + "disposition": "listed", + "source_url": "https://fal.ai/models/fal-ai/gpt-image-1-mini" + }, + "openai": { + "disposition": "listed", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-1-mini" + } + }, + "styles": null, + "constraints": null + }, + "openai/gpt-image-1.5": { + "reference_provider": "openai", + "id": "openai/gpt-image-1.5", + "label": "GPT Image 1.5", + "short_description": "Previous-generation image model. Superseded by GPT Image 2.", + "vendor": "openai", + "speed_label": "medium", + "speed_max": "1m", + "sizes": [ + [ + 1024, + 1024, + "1:1" + ], + [ + 1024, + 1536, + "2:3" + ], + [ + 1536, + 1024, + "3:2" + ] + ], + "avg_cost_usd": 0.034, + "release": { + "date": "2025-12-16", + "basis": "model", + "source_url": "https://openai.com/index/new-chatgpt-images-is-here/" + }, + "providers": { + "vercel": { + "provider": "vercel", + "id": "openai/gpt-image-1.5", + "pricing": { + "type": "per_token", + "input": 5, + "output": 32 + }, + "avg_cost_usd": 0.034 + }, + "openai": { + "provider": "openai", + "id": "gpt-image-1.5", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-1.5", + "url": "https://developers.openai.com/api/docs/models/gpt-image-1.5", + "pricing": { + "input": 5, + "cached_input": 1.25, + "image_input": 8, + "cached_image_input": 2, + "output": 32, + "type": "per_token", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-1.5" + } + }, + "fal": { + "provider": "fal", + "id": "fal-ai/gpt-image-1.5", + "source_url": "https://fal.ai/models/fal-ai/gpt-image-1.5", + "url": "https://fal.ai/models/fal-ai/gpt-image-1.5", + "pricing": { + "type": "per_image_tiered", + "tiers": { + "low/1024x1024": 0.009, + "low/1024x1536": 0.013, + "low/1536x1024": 0.013, + "medium/1024x1024": 0.034, + "medium/1024x1536": 0.051, + "medium/1536x1024": 0.05, + "high/1024x1024": 0.133, + "high/1024x1536": 0.2, + "high/1536x1024": 0.199 + }, + "input_text_usd_per_million": 5, + "text_output_usd_per_million": 10, + "source_url": "https://fal.ai/models/fal-ai/gpt-image-1.5" + }, + "input": "text" + } + }, + "pricing": { + "type": "per_image_tiered", + "tiers": { + "low/1024x1024": 0.009, + "low/1024x1536": 0.013, + "low/1536x1024": 0.013, + "medium/1024x1024": 0.034, + "medium/1024x1536": 0.05, + "medium/1536x1024": 0.05, + "high/1024x1024": 0.133, + "high/1024x1536": 0.2, + "high/1536x1024": 0.2 + }, + "tokens": { + "input": 5, + "cached_input": 1.25, + "image_input": 8, + "cached_image_input": 2, + "output": 32 } }, "provider_coverage": { @@ -11738,156 +12505,1491 @@ "usd_precision": 5, "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" }, - { - "width": 1024, - "height": 1024, - "quality": "xhigh", - "output_tokens": 3122, - "usd": 0.09366, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + { + "width": 1024, + "height": 1024, + "quality": "xhigh", + "output_tokens": 3122, + "usd": 0.09366, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + }, + { + "width": 1024, + "height": 1536, + "quality": "xhigh", + "output_tokens": 2459, + "usd": 0.07377, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + }, + { + "width": 1536, + "height": 1024, + "quality": "xhigh", + "output_tokens": 2459, + "usd": 0.07377, + "usd_precision": 5, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + }, + { + "width": 1920, + "height": 1080, + "quality": "xhigh", + "usd": 0.07041, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + }, + { + "width": 2560, + "height": 1440, + "quality": "xhigh", + "output_tokens": 3276, + "usd": 0.09828, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + }, + { + "width": 3840, + "height": 2160, + "quality": "xhigh", + "output_tokens": 5930, + "usd": 0.1779, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + }, + { + "width": 1024, + "height": 768, + "quality": "max", + "output_tokens": 4815, + "usd": 0.14445, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + }, + { + "width": 1024, + "height": 1024, + "quality": "max", + "output_tokens": 7024, + "usd": 0.21072, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + }, + { + "width": 1024, + "height": 1536, + "quality": "max", + "output_tokens": 5488, + "usd": 0.16464, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + }, + { + "width": 1536, + "height": 1024, + "quality": "max", + "output_tokens": 5488, + "usd": 0.16464, + "usd_precision": 5, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + }, + { + "width": 1920, + "height": 1080, + "quality": "max", + "usd": 0.1584, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + }, + { + "width": 2560, + "height": 1440, + "quality": "max", + "output_tokens": 7370, + "usd": 0.2211, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + }, + { + "width": 3840, + "height": 2160, + "quality": "max", + "output_tokens": 13342, + "usd": 0.40026, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + } + ] + }, + "provider_coverage": { + "openrouter": { + "disposition": "listed", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-flare/endpoints" + }, + "vercel": { + "disposition": "listed", + "source_url": "https://vercel.com/ai-gateway/models/gpt-image-2.5-flare" + }, + "fal": { + "disposition": "listed", + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + }, + "openai": { + "disposition": "listed", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-flare" + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" + } + }, + "styles": null + }, + "openai/gpt-image-2.5-sunburst": { + "reference_provider": "openai", + "id": "openai/gpt-image-2.5-sunburst", + "label": "GPT Image 2.5 Sunburst", + "short_description": "Detailed image generation and precise editing with longer generation times.", + "vendor": "openai", + "transparent_background": true, + "speed_label": "slow", + "speed_max": "varies", + "sizes": [ + [ + 1024, + 1024, + "1:1" + ], + [ + 1024, + 1536, + "2:3" + ], + [ + 1536, + 1024, + "3:2" + ] + ], + "quality": { + "options": [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "default": "high" + }, + "pricing": { + "type": "per_token", + "input": 5, + "cached_input": 1.25, + "output": 30 + }, + "avg_cost_usd": 0.055, + "release": { + "date": "2026-09-08", + "basis": "model", + "source_url": "https://openai.com/index/introducing-chatgpt-images-2-5/" + }, + "providers": { + "vercel": { + "provider": "vercel", + "id": "openai/gpt-image-2.5-sunburst", + "pricing": { + "type": "per_token", + "input": 5, + "cached_input": 1.25, + "output": 30 + }, + "avg_cost_usd": 0.055, + "url": "https://vercel.com/ai-gateway/models/gpt-image-2.5-sunburst" + }, + "fal": { + "endpoints": [ + { + "id": "openai/gpt-image-2.5/sunburst/edit", + "input": "image", + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/edit/api", + "parameters": { + "prompt": { + "type": "string", + "min_length": 1, + "max_length": 32000 + }, + "num_images": { + "type": "integer", + "minimum": 1, + "maximum": 10 + }, + "quality": { + "type": "string", + "enum": [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max" + ] + }, + "background": { + "type": "string", + "enum": [ + "auto", + "transparent", + "opaque" + ] + }, + "output_format": { + "type": "string", + "enum": [ + "jpeg", + "png", + "webp" + ] + }, + "image_urls": { + "type": "array", + "max_items": 16 + }, + "output_compression": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "image_size": { + "enum": [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9", + "auto" + ] + }, + "image_size.width": { + "type": "integer", + "minimum": 1, + "maximum": 3840, + "multiple_of": 16 + }, + "image_size.height": { + "type": "integer", + "minimum": 1, + "maximum": 3840, + "multiple_of": 16 + } + }, + "image_constraints": { + "min_pixels": 655360, + "max_pixels": 8294400, + "step": 16, + "max_edge": 3840, + "aspect_ratio": { + "max": 3 + } + } + }, + { + "id": "openai/gpt-image-2.5/sunburst/text-to-image", + "input": "text", + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image/api", + "parameters": { + "prompt": { + "type": "string", + "min_length": 1, + "max_length": 32000 + }, + "num_images": { + "type": "integer", + "minimum": 1, + "maximum": 10 + }, + "quality": { + "type": "string", + "enum": [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max" + ] + }, + "background": { + "type": "string", + "enum": [ + "auto", + "transparent", + "opaque" + ] + }, + "output_format": { + "type": "string", + "enum": [ + "jpeg", + "png", + "webp" + ] + }, + "output_compression": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "image_size": { + "enum": [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9", + "auto" + ] + }, + "image_size.width": { + "type": "integer", + "minimum": 1, + "maximum": 3840, + "multiple_of": 16 + }, + "image_size.height": { + "type": "integer", + "minimum": 1, + "maximum": 3840, + "multiple_of": 16 + } + }, + "image_constraints": { + "min_pixels": 655360, + "max_pixels": 8294400, + "step": 16, + "max_edge": 3840, + "aspect_ratio": { + "max": 3 + } + } + } + ], + "provider": "fal", + "id": "openai/gpt-image-2.5/sunburst/text-to-image", + "avg_cost_usd": 0.055, + "url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image", + "references": { + "id": "openai/gpt-image-2.5/sunburst/edit", + "max": 16 + }, + "pricing": { + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image", + "rounding_usd": 0.0001, + "type": "per_token", + "input": 5, + "cached_input": 1.25, + "image_input": 8, + "cached_image_input": 2, + "text_output": 10, + "output": 30 + } + }, + "openai": { + "provider": "openai", + "id": "gpt-image-2.5-sunburst", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-sunburst", + "url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-sunburst", + "pricing": { + "type": "per_token", + "input": 5, + "cached_input": 1.25, + "output": 30, + "image_input": 8, + "cached_image_input": 2, + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-sunburst" + } + }, + "openrouter": { + "provider": "openrouter", + "id": "openai/gpt-image-2.5-sunburst", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-sunburst/endpoints", + "url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-sunburst/endpoints", + "pricing": { + "type": "per_token", + "image_input": 8.0, + "input": 5.0, + "output": 30.0, + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-sunburst/endpoints" + }, + "transparent_background": true, + "references": { + "id": "openai/gpt-image-2.5-sunburst", + "max": 16 + }, + "endpoints": [ + { + "id": "openai/gpt-image-2.5-sunburst", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-sunburst/endpoints", + "parameters": { + "aspect_ratio": { + "enum": [ + "1:1", + "3:2", + "2:3", + "4:3", + "3:4", + "16:9", + "9:16", + "21:9", + "auto" + ] + }, + "quality": { + "enum": [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max" + ] + }, + "background": { + "enum": [ + "auto", + "transparent", + "opaque" + ] + }, + "n": { + "type": "integer", + "minimum": 1, + "maximum": 10 + }, + "input_references": { + "type": "integer", + "minimum": 0, + "maximum": 16 + }, + "output_compression": { + "type": "integer", + "minimum": 0, + "maximum": 100 + } + }, + "input": "text" + } + ] + }, + "grida": { + "provider": "grida", + "id": "openai/gpt-image-2.5-sunburst", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "image.openai.gpt-image-2.5-sunburst.references", + "operation": "image.openai.gpt-image-2.5-sunburst.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.openai.gpt-image-2.5-sunburst.references.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_10", + "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": "1" + } + ] + } + }, + { + "id": "image.openai.gpt-image-2.5-sunburst.text", + "operation": "image.openai.gpt-image-2.5-sunburst.text", + "input": "text", + "source_url": "https://gateway.grida.ai/schemas/operations.json", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.openai.gpt-image-2.5-sunburst.text.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_10", + "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": "1" + } + ] + } + } + ] + } + }, + "constraints": { + "step": 16, + "max_edge": 3840, + "min_pixels": 655360, + "max_pixels": 8294400, + "aspect_ratio": { + "max": 3 + } + }, + "output_token_calculator": { + "source_url": "https://developers.openai.com/api/docs/guides/image-generation", + "source_js_url": "https://developers.openai.com/_astro/GptImageTokenCalculator.react.DukR73TZ.js", + "area_offset": 2000000, + "area_divisor": 4000000, + "short_axis_rounding": "nearest_ties_even", + "token_rounding": "ceil", + "quality_axes": { + "low": 16, + "medium": 24, + "high": 48, + "xhigh": 64, + "max": 96 + }, + "examples": [ + { + "width": 1024, + "height": 768, + "quality": "low", + "output_tokens": 134, + "usd": 0.00402, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1024, + "height": 1024, + "quality": "low", + "output_tokens": 196, + "usd": 0.00588, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1024, + "height": 1536, + "quality": "low", + "output_tokens": 158, + "usd": 0.00474, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1536, + "height": 1024, + "quality": "low", + "output_tokens": 158, + "usd": 0.00474, + "usd_precision": 5, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + }, + { + "width": 1920, + "height": 1080, + "quality": "low", + "usd": 0.00441, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 2560, + "height": 1440, + "quality": "low", + "output_tokens": 205, + "usd": 0.00615, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 3840, + "height": 2160, + "quality": "low", + "output_tokens": 371, + "usd": 0.01113, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1024, + "height": 768, + "quality": "medium", + "output_tokens": 301, + "usd": 0.00903, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1024, + "height": 1024, + "quality": "medium", + "output_tokens": 439, + "usd": 0.01317, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1024, + "height": 1536, + "quality": "medium", + "output_tokens": 343, + "usd": 0.01029, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1536, + "height": 1024, + "quality": "medium", + "output_tokens": 343, + "usd": 0.01029, + "usd_precision": 5, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + }, + { + "width": 1920, + "height": 1080, + "quality": "medium", + "usd": 0.01029, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 2560, + "height": 1440, + "quality": "medium", + "output_tokens": 478, + "usd": 0.01434, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 3840, + "height": 2160, + "quality": "medium", + "output_tokens": 865, + "usd": 0.02595, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1024, + "height": 768, + "quality": "high", + "output_tokens": 1204, + "usd": 0.03612, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1024, + "height": 1024, + "quality": "high", + "output_tokens": 1756, + "usd": 0.05268, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1024, + "height": 1536, + "quality": "high", + "output_tokens": 1372, + "usd": 0.04116, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1536, + "height": 1024, + "quality": "high", + "output_tokens": 1372, + "usd": 0.04116, + "usd_precision": 5, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + }, + { + "width": 1920, + "height": 1080, + "quality": "high", + "usd": 0.0396, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 2560, + "height": 1440, + "quality": "high", + "output_tokens": 1843, + "usd": 0.05529, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 3840, + "height": 2160, + "quality": "high", + "output_tokens": 3336, + "usd": 0.10008, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1024, + "height": 768, + "quality": "xhigh", + "output_tokens": 2140, + "usd": 0.0642, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1024, + "height": 1024, + "quality": "xhigh", + "output_tokens": 3122, + "usd": 0.09366, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1024, + "height": 1536, + "quality": "xhigh", + "output_tokens": 2459, + "usd": 0.07377, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1536, + "height": 1024, + "quality": "xhigh", + "output_tokens": 2459, + "usd": 0.07377, + "usd_precision": 5, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + }, + { + "width": 1920, + "height": 1080, + "quality": "xhigh", + "usd": 0.07041, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 2560, + "height": 1440, + "quality": "xhigh", + "output_tokens": 3276, + "usd": 0.09828, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 3840, + "height": 2160, + "quality": "xhigh", + "output_tokens": 5930, + "usd": 0.1779, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1024, + "height": 768, + "quality": "max", + "output_tokens": 4815, + "usd": 0.14445, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1024, + "height": 1024, + "quality": "max", + "output_tokens": 7024, + "usd": 0.21072, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1024, + "height": 1536, + "quality": "max", + "output_tokens": 5488, + "usd": 0.16464, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 1536, + "height": 1024, + "quality": "max", + "output_tokens": 5488, + "usd": 0.16464, + "usd_precision": 5, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + }, + { + "width": 1920, + "height": 1080, + "quality": "max", + "usd": 0.1584, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 2560, + "height": 1440, + "quality": "max", + "output_tokens": 7370, + "usd": 0.2211, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + { + "width": 3840, + "height": 2160, + "quality": "max", + "output_tokens": 13342, + "usd": 0.40026, + "usd_precision": 5, + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + } + ] + }, + "provider_coverage": { + "openrouter": { + "disposition": "listed", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-sunburst/endpoints" + }, + "vercel": { + "disposition": "listed", + "source_url": "https://vercel.com/ai-gateway/models/gpt-image-2.5-sunburst" + }, + "fal": { + "disposition": "listed", + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + }, + "openai": { + "disposition": "listed", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-sunburst" + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" + } + }, + "styles": null + }, + "openai/gpt-image-2.6-flare": { + "reference_provider": "openai", + "id": "openai/gpt-image-2.6-flare", + "label": "GPT Image 2.6 Flare", + "short_description": "Image generation and editing for fast iteration.", + "vendor": "openai", + "transparent_background": true, + "sizes": [ + [ + 1024, + 1024, + "1:1" + ], + [ + 1024, + 1536, + "2:3" + ], + [ + 1536, + 1024, + "3:2" + ] + ], + "quality": { + "options": [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max" + ] + }, + "pricing": { + "type": "per_token", + "input": 5, + "cached_input": 1.25, + "image_input": 8, + "cached_image_input": 2, + "output": 30, + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.6-flare" + }, + "release": { + "date": "2026-11-04", + "basis": "model", + "source_url": "https://developers.openai.com/api/docs/changelog" + }, + "providers": { + "vercel": { + "provider": "vercel", + "id": "openai/gpt-image-2.6-flare", + "url": "https://vercel.com/ai-gateway/models/gpt-image-2.6-flare", + "pricing": { + "type": "per_token", + "input": 5, + "cached_input": 1.25, + "output": 30 + } + }, + "fal": { + "endpoints": [ + { + "id": "openai/gpt-image-2.6/flare/text-to-image", + "input": "text", + "source_url": "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image/api", + "parameters": { + "enable_safety_checker": { + "type": "boolean" + }, + "prompt": { + "max_length": 32000, + "min_length": 1, + "type": "string" + }, + "sync_mode": { + "type": "boolean" + }, + "quality": { + "enum": [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "type": "string" + }, + "frame_duration_ms": { + "maximum": 2000, + "type": "integer", + "minimum": 20 + }, + "frame_count": { + "maximum": 16, + "type": "integer", + "minimum": 2 + }, + "background": { + "enum": [ + "auto", + "transparent", + "opaque" + ], + "type": "string" + }, + "reasoning_effort": { + "enum": [ + "low", + "medium", + "high" + ], + "type": "string" + }, + "image_size": { + "enum": [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9", + "auto" + ] + }, + "image_size.width": { + "type": "integer", + "minimum": 1, + "maximum": 3840, + "multiple_of": 16 + }, + "image_size.height": { + "type": "integer", + "minimum": 1, + "maximum": 3840, + "multiple_of": 16 + }, + "output_compression": { + "maximum": 100, + "type": "integer", + "minimum": 0 + }, + "num_images": { + "maximum": 10, + "type": "integer", + "minimum": 1 + }, + "output_format": { + "enum": [ + "jpeg", + "png", + "webp", + "gif", + "svg" + ], + "type": "string" + }, + "svg_model": { + "enum": [ + "gpt-6-astra", + "gpt-5.5", + "gpt-5.4", + "gpt-5.6-terra", + "gpt-6-luna" + ], + "type": "string" + } + }, + "image_constraints": { + "step": 16, + "max_edge": 3840, + "min_pixels": 655360, + "max_pixels": 8294400, + "aspect_ratio": { + "max": 3 + } + } + }, + { + "id": "openai/gpt-image-2.6/flare/edit", + "input": "image", + "source_url": "https://fal.ai/models/openai/gpt-image-2.6/flare/edit/api", + "parameters": { + "prompt": { + "max_length": 32000, + "min_length": 1, + "type": "string" + }, + "sync_mode": { + "type": "boolean" + }, + "frame_duration_ms": { + "maximum": 2000, + "type": "integer", + "minimum": 20 + }, + "image_size": { + "enum": [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9", + "auto" + ] + }, + "image_size.width": { + "type": "integer", + "minimum": 1, + "maximum": 3840, + "multiple_of": 16 + }, + "image_size.height": { + "type": "integer", + "minimum": 1, + "maximum": 3840, + "multiple_of": 16 + }, + "enable_safety_checker": { + "type": "boolean" + }, + "image_urls": { + "max_items": 16, + "type": "array" + }, + "background": { + "enum": [ + "auto", + "transparent", + "opaque" + ], + "type": "string" + }, + "reasoning_effort": { + "enum": [ + "low", + "medium", + "high" + ], + "type": "string" + }, + "quality": { + "enum": [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "type": "string" + }, + "frame_count": { + "maximum": 16, + "type": "integer", + "minimum": 2 + }, + "markup_image_url": { + "type": "string" + }, + "output_compression": { + "maximum": 100, + "type": "integer", + "minimum": 0 + }, + "num_images": { + "maximum": 10, + "type": "integer", + "minimum": 1 + }, + "output_format": { + "enum": [ + "jpeg", + "png", + "webp", + "gif" + ], + "type": "string" + }, + "mask_url": { + "type": "string" + } + }, + "image_constraints": { + "step": 16, + "max_edge": 3840, + "min_pixels": 655360, + "max_pixels": 8294400, + "aspect_ratio": { + "max": 3 + } + } + } + ], + "provider": "fal", + "id": "openai/gpt-image-2.6/flare/text-to-image", + "url": "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image", + "source_url": "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image/api", + "qualifications": [ + { + "source_url": "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image/api", + "notes": "The generation schema lists GIF and SVG output; its edit schema lists GIF but no SVG. GIF frame_count is 2–16 and frame_duration_ms is 20–2,000, rounded to 10 ms. All GIF frames/outputs share the request pixel budget. The native image guide documents GIF generation only and a different frame range; provider parity is not inferred." + }, + { + "source_url": "https://developers.openai.com/api/docs/guides/image-generation", + "notes": "SVG output includes separate authoring-model token charges and is not priced as raster output alone. Complexity has no separate fee." + } + ], + "references": { + "id": "openai/gpt-image-2.6/flare/edit", + "max": 16 + }, + "pricing": { + "source_url": "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image", + "rounding_usd": 0.0001, + "type": "per_token", + "input": 5, + "cached_input": 1.25, + "image_input": 8, + "cached_image_input": 2, + "text_output": 10, + "output": 30 + } + }, + "openai": { + "provider": "openai", + "id": "gpt-image-2.6-flare", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.6-flare", + "url": "https://developers.openai.com/api/docs/models/gpt-image-2.6-flare", + "endpoints": [ + { + "id": "v1/images/generations", + "input": "text", + "interface": "images.generations", + "source_url": "https://developers.openai.com/api/docs/guides/image-generation", + "parameters": { + "output_format": { + "type": "string", + "enum": [ + "png", + "jpeg", + "webp", + "gif", + "svg" + ] + }, + "complexity": { + "type": "string", + "enum": [ + "low", + "medium", + "high" + ] + }, + "frame_count": { + "type": "integer", + "minimum": 2, + "maximum": 64 + }, + "frame_duration_ms": { + "type": "integer", + "minimum": 20, + "maximum": 2000 + } + } + }, + { + "id": "v1/images/edits", + "input": "image", + "interface": "images.edits", + "source_url": "https://developers.openai.com/api/docs/guides/image-generation", + "parameters": { + "output_format": { + "type": "string", + "enum": [ + "png", + "jpeg", + "webp" + ] + }, + "complexity": { + "type": "string", + "enum": [ + "low", + "medium", + "high" + ] + } + } + } + ], + "qualifications": [ + { + "source_url": "https://developers.openai.com/api/docs/guides/image-generation", + "notes": "GIF output is generation-only; the native guide does not support GIF output on edits. SVG output is generated through a separately billed authoring model. Raster token pricing does not include those authoring-model tokens." + } + ], + "pricing": { + "type": "per_token", + "input": 5, + "cached_input": 1.25, + "output": 30, + "image_input": 8, + "cached_image_input": 2, + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.6-flare" + } + }, + "openrouter": { + "provider": "openrouter", + "id": "openai/gpt-image-2.6-flare", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-flare/endpoints", + "url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-flare/endpoints", + "transparent_background": true, + "endpoints": [ + { + "id": "openai/gpt-image-2.6-flare", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-flare/endpoints", + "parameters": { + "aspect_ratio": { + "enum": [ + "1:1", + "3:2", + "2:3", + "4:3", + "3:4", + "16:9", + "9:16", + "21:9", + "auto" + ] + }, + "quality": { + "enum": [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max" + ] + }, + "background": { + "enum": [ + "auto", + "transparent", + "opaque" + ] + }, + "n": { + "type": "integer", + "minimum": 1, + "maximum": 10 + }, + "input_references": { + "type": "integer", + "minimum": 0, + "maximum": 16 + }, + "output_compression": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "output_format": { + "type": "string", + "enum": [ + "png", + "jpeg", + "webp" + ] + } + }, + "input": "text" + } + ], + "pricing": { + "type": "per_token", + "image_input": 8.0, + "input": 5.0, + "output": 30.0, + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-flare/endpoints" }, + "references": { + "id": "openai/gpt-image-2.6-flare", + "max": 16 + } + } + }, + "constraints": { + "step": 16, + "max_edge": 3840, + "min_pixels": 655360, + "max_pixels": 8294400, + "aspect_ratio": { + "max": 3 + } + }, + "output_token_calculator": { + "source_url": "https://developers.openai.com/api/docs/guides/image-generation", + "source_js_url": "https://developers.openai.com/_astro/GptImageTokenCalculator.react.SM_UvXcs.js", + "area_offset": 2000000, + "area_divisor": 4000000, + "short_axis_rounding": "nearest_ties_even", + "token_rounding": "ceil", + "examples": [ { "width": 1024, - "height": 1536, - "quality": "xhigh", - "output_tokens": 2459, - "usd": 0.07377, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" - }, - { - "width": 1536, "height": 1024, - "quality": "xhigh", - "output_tokens": 2459, - "usd": 0.07377, - "usd_precision": 5, + "quality": "low", + "output_tokens": 823, "source_url": "https://developers.openai.com/api/docs/guides/image-generation" }, - { - "width": 1920, - "height": 1080, - "quality": "xhigh", - "usd": 0.07041, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" - }, - { - "width": 2560, - "height": 1440, - "quality": "xhigh", - "output_tokens": 3276, - "usd": 0.09828, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" - }, - { - "width": 3840, - "height": 2160, - "quality": "xhigh", - "output_tokens": 5930, - "usd": 0.1779, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" - }, { "width": 1024, - "height": 768, - "quality": "max", - "output_tokens": 4815, - "usd": 0.14445, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" - }, - { - "width": 1024, - "height": 1024, - "quality": "max", - "output_tokens": 7024, - "usd": 0.21072, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" - }, - { - "width": 1024, - "height": 1536, - "quality": "max", - "output_tokens": 5488, - "usd": 0.16464, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" - }, - { - "width": 1536, "height": 1024, - "quality": "max", - "output_tokens": 5488, - "usd": 0.16464, - "usd_precision": 5, + "quality": "medium", + "output_tokens": 1449, "source_url": "https://developers.openai.com/api/docs/guides/image-generation" }, { - "width": 1920, - "height": 1080, - "quality": "max", - "usd": 0.1584, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + "width": 1024, + "height": 1024, + "quality": "high", + "output_tokens": 1756, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" }, { - "width": 2560, - "height": 1440, - "quality": "max", - "output_tokens": 7370, - "usd": 0.2211, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + "width": 1024, + "height": 1024, + "quality": "xhigh", + "output_tokens": 3122, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" }, { - "width": 3840, - "height": 2160, + "width": 1024, + "height": 1024, "quality": "max", - "output_tokens": 13342, - "usd": 0.40026, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + "output_tokens": 7024, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" } - ] + ], + "result_rounding": "nearest_ties_up", + "quality_axes": { + "low": 16, + "medium": 24, + "high": 48, + "xhigh": 64, + "max": 96 + }, + "quality_multipliers": { + "low": "4.2", + "medium": "3.3", + "high": "1", + "xhigh": "1", + "max": "1" + } }, "provider_coverage": { "openrouter": { "disposition": "listed", - "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-flare/endpoints" + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-flare/endpoints" }, "vercel": { "disposition": "listed", - "source_url": "https://vercel.com/ai-gateway/models/gpt-image-2.5-flare" + "source_url": "https://vercel.com/ai-gateway/models/gpt-image-2.6-flare" }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" + "source_url": "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image" }, "openai": { "disposition": "listed", - "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-flare" - }, - "grida": { - "disposition": "listed", - "source_url": "https://gateway.grida.ai/v1/models" + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.6-flare" } }, "styles": null }, - "openai/gpt-image-2.5-sunburst": { + "openai/gpt-image-2.6-sunburst": { "reference_provider": "openai", - "id": "openai/gpt-image-2.5-sunburst", - "label": "GPT Image 2.5 Sunburst", - "short_description": "Detailed image generation and precise editing with longer generation times.", + "id": "openai/gpt-image-2.6-sunburst", + "label": "GPT Image 2.6 Sunburst", + "short_description": "Image generation and editing for detailed visual work.", "vendor": "openai", "transparent_background": true, - "speed_label": "slow", - "speed_max": "varies", "sizes": [ [ 1024, @@ -11913,87 +14015,41 @@ "high", "xhigh", "max" - ], - "default": "high" + ] }, "pricing": { "type": "per_token", "input": 5, "cached_input": 1.25, - "output": 30 + "image_input": 8, + "cached_image_input": 2, + "output": 30, + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.6-sunburst" }, - "avg_cost_usd": 0.055, "release": { - "date": "2026-09-08", + "date": "2026-11-04", "basis": "model", - "source_url": "https://openai.com/index/introducing-chatgpt-images-2-5/" + "source_url": "https://developers.openai.com/api/docs/changelog" }, "providers": { "vercel": { "provider": "vercel", - "id": "openai/gpt-image-2.5-sunburst", + "id": "openai/gpt-image-2.6-sunburst", + "url": "https://vercel.com/ai-gateway/models/gpt-image-2.6-sunburst", "pricing": { "type": "per_token", "input": 5, "cached_input": 1.25, "output": 30 - }, - "avg_cost_usd": 0.055, - "url": "https://vercel.com/ai-gateway/models/gpt-image-2.5-sunburst" + } }, "fal": { "endpoints": [ { - "id": "openai/gpt-image-2.5/sunburst/edit", - "input": "image", - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/edit/api", + "id": "openai/gpt-image-2.6/sunburst/text-to-image", + "input": "text", + "source_url": "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image/api", "parameters": { - "prompt": { - "type": "string", - "min_length": 1, - "max_length": 32000 - }, - "num_images": { - "type": "integer", - "minimum": 1, - "maximum": 10 - }, - "quality": { - "type": "string", - "enum": [ - "auto", - "low", - "medium", - "high", - "xhigh", - "max" - ] - }, - "background": { - "type": "string", - "enum": [ - "auto", - "transparent", - "opaque" - ] - }, - "output_format": { - "type": "string", - "enum": [ - "jpeg", - "png", - "webp" - ] - }, - "image_urls": { - "type": "array", - "max_items": 16 - }, - "output_compression": { - "type": "integer", - "minimum": 0, - "maximum": 100 - }, "image_size": { "enum": [ "square_hd", @@ -12016,32 +14072,68 @@ "minimum": 1, "maximum": 3840, "multiple_of": 16 - } - }, - "image_constraints": { - "min_pixels": 655360, - "max_pixels": 8294400, - "step": 16, - "max_edge": 3840, - "aspect_ratio": { - "max": 3 - } - } - }, - { - "id": "openai/gpt-image-2.5/sunburst/text-to-image", - "input": "text", - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image/api", - "parameters": { + }, + "background": { + "enum": [ + "auto", + "transparent", + "opaque" + ], + "type": "string" + }, + "output_compression": { + "type": "integer", + "maximum": 100, + "minimum": 0 + }, "prompt": { + "max_length": 32000, "type": "string", - "min_length": 1, - "max_length": 32000 + "min_length": 1 + }, + "enable_safety_checker": { + "type": "boolean" + }, + "frame_count": { + "type": "integer", + "maximum": 16, + "minimum": 2 + }, + "output_format": { + "enum": [ + "jpeg", + "png", + "webp", + "gif", + "svg" + ], + "type": "string" }, "num_images": { "type": "integer", - "minimum": 1, - "maximum": 10 + "maximum": 10, + "minimum": 1 + }, + "sync_mode": { + "type": "boolean" + }, + "reasoning_effort": { + "type": "string", + "enum": [ + "low", + "medium", + "high" + ] + }, + "svg_model": { + "enum": [ + "gpt-6-astra", + "gpt-5.5", + "gpt-5.4", + "gpt-5.6-terra", + "gpt-6-luna" + ], + "type": "string" }, "quality": { "type": "string", @@ -12054,26 +14146,59 @@ "max" ] }, + "frame_duration_ms": { + "type": "integer", + "maximum": 2000, + "minimum": 20 + } + }, + "image_constraints": { + "step": 16, + "max_edge": 3840, + "min_pixels": 655360, + "max_pixels": 8294400, + "aspect_ratio": { + "max": 3 + } + } + }, + { + "id": "openai/gpt-image-2.6/sunburst/edit", + "input": "image", + "source_url": "https://fal.ai/models/openai/gpt-image-2.6/sunburst/edit/api", + "parameters": { "background": { - "type": "string", "enum": [ "auto", "transparent", "opaque" - ] + ], + "type": "string" }, "output_format": { - "type": "string", "enum": [ "jpeg", "png", - "webp" - ] + "webp", + "gif" + ], + "type": "string" }, - "output_compression": { + "prompt": { + "max_length": 32000, + "type": "string", + "min_length": 1 + }, + "mask_url": { + "type": "string" + }, + "frame_count": { "type": "integer", - "minimum": 0, - "maximum": 100 + "maximum": 16, + "minimum": 2 + }, + "markup_image_url": { + "type": "string" }, "image_size": { "enum": [ @@ -12097,13 +14222,57 @@ "minimum": 1, "maximum": 3840, "multiple_of": 16 + }, + "output_compression": { + "type": "integer", + "maximum": 100, + "minimum": 0 + }, + "enable_safety_checker": { + "type": "boolean" + }, + "image_urls": { + "type": "array", + "max_items": 16 + }, + "num_images": { + "type": "integer", + "maximum": 10, + "minimum": 1 + }, + "sync_mode": { + "type": "boolean" + }, + "reasoning_effort": { + "type": "string", + "enum": [ + "low", + "medium", + "high" + ] + }, + "frame_duration_ms": { + "type": "integer", + "maximum": 2000, + "minimum": 20 + }, + "quality": { + "type": "string", + "enum": [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max" + ] } }, "image_constraints": { - "min_pixels": 655360, - "max_pixels": 8294400, "step": 16, "max_edge": 3840, + "min_pixels": 655360, + "max_pixels": 8294400, "aspect_ratio": { "max": 3 } @@ -12111,15 +14280,25 @@ } ], "provider": "fal", - "id": "openai/gpt-image-2.5/sunburst/text-to-image", - "avg_cost_usd": 0.055, - "url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image", + "id": "openai/gpt-image-2.6/sunburst/text-to-image", + "url": "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image", + "source_url": "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image/api", + "qualifications": [ + { + "source_url": "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image/api", + "notes": "The generation schema lists GIF and SVG output; its edit schema lists GIF but no SVG. GIF frame_count is 2–16 and frame_duration_ms is 20–2,000, rounded to 10 ms. All GIF frames/outputs share the request pixel budget. The native image guide documents GIF generation only and a different frame range; provider parity is not inferred." + }, + { + "source_url": "https://developers.openai.com/api/docs/guides/image-generation", + "notes": "SVG output includes separate authoring-model token charges and is not priced as raster output alone. Complexity has no separate fee." + } + ], "references": { - "id": "openai/gpt-image-2.5/sunburst/edit", + "id": "openai/gpt-image-2.6/sunburst/edit", "max": 16 }, "pricing": { - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image", + "source_url": "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image", "rounding_usd": 0.0001, "type": "per_token", "input": 5, @@ -12132,9 +14311,77 @@ }, "openai": { "provider": "openai", - "id": "gpt-image-2.5-sunburst", - "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-sunburst", - "url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-sunburst", + "id": "gpt-image-2.6-sunburst", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.6-sunburst", + "url": "https://developers.openai.com/api/docs/models/gpt-image-2.6-sunburst", + "endpoints": [ + { + "id": "v1/images/generations", + "input": "text", + "interface": "images.generations", + "source_url": "https://developers.openai.com/api/docs/guides/image-generation", + "parameters": { + "output_format": { + "type": "string", + "enum": [ + "png", + "jpeg", + "webp", + "gif", + "svg" + ] + }, + "complexity": { + "type": "string", + "enum": [ + "low", + "medium", + "high" + ] + }, + "frame_count": { + "type": "integer", + "minimum": 2, + "maximum": 64 + }, + "frame_duration_ms": { + "type": "integer", + "minimum": 20, + "maximum": 2000 + } + } + }, + { + "id": "v1/images/edits", + "input": "image", + "interface": "images.edits", + "source_url": "https://developers.openai.com/api/docs/guides/image-generation", + "parameters": { + "output_format": { + "type": "string", + "enum": [ + "png", + "jpeg", + "webp" + ] + }, + "complexity": { + "type": "string", + "enum": [ + "low", + "medium", + "high" + ] + } + } + } + ], + "qualifications": [ + { + "source_url": "https://developers.openai.com/api/docs/guides/image-generation", + "notes": "GIF output is generation-only; the native guide does not support GIF output on edits. SVG output is generated through a separately billed authoring model. Raster token pricing does not include those authoring-model tokens." + } + ], "pricing": { "type": "per_token", "input": 5, @@ -12142,30 +14389,19 @@ "output": 30, "image_input": 8, "cached_image_input": 2, - "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-sunburst" + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.6-sunburst" } }, "openrouter": { "provider": "openrouter", - "id": "openai/gpt-image-2.5-sunburst", - "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-sunburst/endpoints", - "url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-sunburst/endpoints", - "pricing": { - "type": "per_token", - "image_input": 8.0, - "input": 5.0, - "output": 30.0, - "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-sunburst/endpoints" - }, + "id": "openai/gpt-image-2.6-sunburst", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-sunburst/endpoints", + "url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-sunburst/endpoints", "transparent_background": true, - "references": { - "id": "openai/gpt-image-2.5-sunburst", - "max": 16 - }, "endpoints": [ { - "id": "openai/gpt-image-2.5-sunburst", - "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-sunburst/endpoints", + "id": "openai/gpt-image-2.6-sunburst", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-sunburst/endpoints", "parameters": { "aspect_ratio": { "enum": [ @@ -12211,428 +14447,117 @@ "type": "integer", "minimum": 0, "maximum": 100 + }, + "output_format": { + "type": "string", + "enum": [ + "png", + "jpeg", + "webp" + ] } }, "input": "text" - } - ] - }, - "grida": { - "provider": "grida", - "id": "openai/gpt-image-2.5-sunburst", - "url": "https://gateway.grida.ai/v1/models", - "endpoints": [ - { - "id": "image.openai.gpt-image-2.5-sunburst.references", - "operation": "image.openai.gpt-image-2.5-sunburst.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.openai.gpt-image-2.5-sunburst.references.input", - "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_10", - "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": "1" - } - ] - } - }, - { - "id": "image.openai.gpt-image-2.5-sunburst.text", - "operation": "image.openai.gpt-image-2.5-sunburst.text", - "input": "text", - "source_url": "https://gateway.grida.ai/schemas/operations.json", - "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.openai.gpt-image-2.5-sunburst.text.input", - "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_10", - "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": "1" - } - ] - } - } - ] - } - }, - "constraints": { - "step": 16, - "max_edge": 3840, - "min_pixels": 655360, - "max_pixels": 8294400, - "aspect_ratio": { - "max": 3 - } - }, - "output_token_calculator": { - "source_url": "https://developers.openai.com/api/docs/guides/image-generation", - "source_js_url": "https://developers.openai.com/_astro/GptImageTokenCalculator.react.DukR73TZ.js", - "area_offset": 2000000, - "area_divisor": 4000000, - "short_axis_rounding": "nearest_ties_even", - "token_rounding": "ceil", - "quality_axes": { - "low": 16, - "medium": 24, - "high": 48, - "xhigh": 64, - "max": 96 - }, - "examples": [ - { - "width": 1024, - "height": 768, - "quality": "low", - "output_tokens": 134, - "usd": 0.00402, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 1024, - "height": 1024, - "quality": "low", - "output_tokens": 196, - "usd": 0.00588, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 1024, - "height": 1536, - "quality": "low", - "output_tokens": 158, - "usd": 0.00474, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 1536, - "height": 1024, - "quality": "low", - "output_tokens": 158, - "usd": 0.00474, - "usd_precision": 5, - "source_url": "https://developers.openai.com/api/docs/guides/image-generation" - }, - { - "width": 1920, - "height": 1080, - "quality": "low", - "usd": 0.00441, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 2560, - "height": 1440, - "quality": "low", - "output_tokens": 205, - "usd": 0.00615, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 3840, - "height": 2160, - "quality": "low", - "output_tokens": 371, - "usd": 0.01113, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 1024, - "height": 768, - "quality": "medium", - "output_tokens": 301, - "usd": 0.00903, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + } + ], + "pricing": { + "type": "per_token", + "image_input": 8.0, + "input": 5.0, + "output": 30.0, + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-sunburst/endpoints" }, + "references": { + "id": "openai/gpt-image-2.6-sunburst", + "max": 16 + } + } + }, + "constraints": { + "step": 16, + "max_edge": 3840, + "min_pixels": 655360, + "max_pixels": 8294400, + "aspect_ratio": { + "max": 3 + } + }, + "output_token_calculator": { + "source_url": "https://developers.openai.com/api/docs/guides/image-generation", + "source_js_url": "https://developers.openai.com/_astro/GptImageTokenCalculator.react.SM_UvXcs.js", + "area_offset": 2000000, + "area_divisor": 4000000, + "short_axis_rounding": "nearest_ties_even", + "token_rounding": "ceil", + "examples": [ { "width": 1024, "height": 1024, - "quality": "medium", - "output_tokens": 439, - "usd": 0.01317, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + "quality": "low", + "output_tokens": 823, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" }, { "width": 1024, - "height": 1536, - "quality": "medium", - "output_tokens": 343, - "usd": 0.01029, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 1536, "height": 1024, "quality": "medium", - "output_tokens": 343, - "usd": 0.01029, - "usd_precision": 5, + "output_tokens": 1449, "source_url": "https://developers.openai.com/api/docs/guides/image-generation" }, - { - "width": 1920, - "height": 1080, - "quality": "medium", - "usd": 0.01029, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 2560, - "height": 1440, - "quality": "medium", - "output_tokens": 478, - "usd": 0.01434, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 3840, - "height": 2160, - "quality": "medium", - "output_tokens": 865, - "usd": 0.02595, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 1024, - "height": 768, - "quality": "high", - "output_tokens": 1204, - "usd": 0.03612, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, { "width": 1024, "height": 1024, "quality": "high", "output_tokens": 1756, - "usd": 0.05268, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 1024, - "height": 1536, - "quality": "high", - "output_tokens": 1372, - "usd": 0.04116, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 1536, - "height": 1024, - "quality": "high", - "output_tokens": 1372, - "usd": 0.04116, - "usd_precision": 5, "source_url": "https://developers.openai.com/api/docs/guides/image-generation" }, - { - "width": 1920, - "height": 1080, - "quality": "high", - "usd": 0.0396, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 2560, - "height": 1440, - "quality": "high", - "output_tokens": 1843, - "usd": 0.05529, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 3840, - "height": 2160, - "quality": "high", - "output_tokens": 3336, - "usd": 0.10008, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 1024, - "height": 768, - "quality": "xhigh", - "output_tokens": 2140, - "usd": 0.0642, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, { "width": 1024, "height": 1024, "quality": "xhigh", "output_tokens": 3122, - "usd": 0.09366, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 1024, - "height": 1536, - "quality": "xhigh", - "output_tokens": 2459, - "usd": 0.07377, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 1536, - "height": 1024, - "quality": "xhigh", - "output_tokens": 2459, - "usd": 0.07377, - "usd_precision": 5, "source_url": "https://developers.openai.com/api/docs/guides/image-generation" }, - { - "width": 1920, - "height": 1080, - "quality": "xhigh", - "usd": 0.07041, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 2560, - "height": 1440, - "quality": "xhigh", - "output_tokens": 3276, - "usd": 0.09828, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 3840, - "height": 2160, - "quality": "xhigh", - "output_tokens": 5930, - "usd": 0.1779, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 1024, - "height": 768, - "quality": "max", - "output_tokens": 4815, - "usd": 0.14445, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, { "width": 1024, "height": 1024, "quality": "max", "output_tokens": 7024, - "usd": 0.21072, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 1024, - "height": 1536, - "quality": "max", - "output_tokens": 5488, - "usd": 0.16464, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 1536, - "height": 1024, - "quality": "max", - "output_tokens": 5488, - "usd": 0.16464, - "usd_precision": 5, "source_url": "https://developers.openai.com/api/docs/guides/image-generation" - }, - { - "width": 1920, - "height": 1080, - "quality": "max", - "usd": 0.1584, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 2560, - "height": 1440, - "quality": "max", - "output_tokens": 7370, - "usd": 0.2211, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" - }, - { - "width": 3840, - "height": 2160, - "quality": "max", - "output_tokens": 13342, - "usd": 0.40026, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" } - ] + ], + "result_rounding": "nearest_ties_up", + "quality_axes": { + "low": 16, + "medium": 24, + "high": 48, + "xhigh": 64, + "max": 96 + }, + "quality_multipliers": { + "low": "4.2", + "medium": "3.3", + "high": "1", + "xhigh": "1", + "max": "1" + } }, "provider_coverage": { "openrouter": { "disposition": "listed", - "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-sunburst/endpoints" + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-sunburst/endpoints" }, "vercel": { "disposition": "listed", - "source_url": "https://vercel.com/ai-gateway/models/gpt-image-2.5-sunburst" + "source_url": "https://vercel.com/ai-gateway/models/gpt-image-2.6-sunburst" }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" + "source_url": "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image" }, "openai": { "disposition": "listed", - "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-sunburst" - }, - "grida": { - "disposition": "listed", - "source_url": "https://gateway.grida.ai/v1/models" + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.6-sunburst" } }, "styles": null diff --git a/models/black-forest-labs/flux-3-image/card.toml b/models/black-forest-labs/flux-3-image/card.toml new file mode 100644 index 0000000..c2ccfaa --- /dev/null +++ b/models/black-forest-labs/flux-3-image/card.toml @@ -0,0 +1,178 @@ +id = "bfl/flux-3-image" +section = "image.models" +vendor = "black-forest-labs" +reference_provider = "bfl" +label = "FLUX 3 Image" +short_description = "Image generation and editing with up to ten reference images." + +[release] +date = "2026-10-01" +basis = "model" +source_url = "https://bfl.ai/pricing" + +[pricing] +type = "per_image_tiered" +source_url = "https://bfl.ai/pricing?category=flux+3+image" + +[pricing.tiers] +768sq = 0.041 +1k = 0.048 +"1.5k" = 0.07 +2k = 0.1 +4k = 0.607 + +[providers] + +[providers.bfl] +provider = "bfl" +id = "flux-3-image" +source_url = "https://docs.bfl.ml/api-reference/utility/generate-an-image-with-flux-3" +url = "https://docs.bfl.ml/api-reference/utility/generate-an-image-with-flux-3" + +[providers.bfl.references] +id = "flux-3-image" +max = 10 + +[providers.bfl.pricing] +type = "per_image_tiered" +source_url = "https://bfl.ai/pricing?category=flux+3+image" + +[providers.bfl.pricing.tiers] +768sq = 0.041 +1k = 0.048 +"1.5k" = 0.07 +2k = 0.1 +4k = 0.607 + +[providers.vercel] +provider = "vercel" +id = "bfl/flux-3-image" +source_url = "https://vercel.com/ai-gateway/models/flux-3-image" +url = "https://vercel.com/ai-gateway/models/flux-3-image" + +[providers.vercel.references] +id = "bfl/flux-3-image" +max = 10 + +[providers.vercel.pricing] +type = "per_image_tiered" +source_url = "https://ai-gateway.vercel.sh/v1/models" + +[providers.vercel.pricing.tiers] +768x768 = 0.041 +1024x1024 = 0.048 +1536x1536 = 0.07 +2048x2048 = 0.1 +4096x4096 = 0.607 + +[providers.openrouter] +provider = "openrouter" +id = "black-forest-labs/flux-3-image" +source_url = "https://openrouter.ai/api/v1/images/models/black-forest-labs/flux-3-image/endpoints" +url = "https://openrouter.ai/api/v1/images/models/black-forest-labs/flux-3-image/endpoints" + +[providers.openrouter.references] +id = "black-forest-labs/flux-3-image" +max = 10 + +[providers.openrouter.pricing] +type = "per_image_tiered" +source_url = "https://openrouter.ai/api/v1/images/models/black-forest-labs/flux-3-image/endpoints" + +[providers.openrouter.pricing.tiers] +768 = 0.041 +1k = 0.048 +"1.5k" = 0.07 +2k = 0.1 +4k = 0.607 + +[providers.fal] +provider = "fal" +id = "blackforestlabs/flux-3/text-to-image" +source_url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-image/api" +url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-image" +qualifications = [ + { source_url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-image/api", notes = "The exact API schema lists 768sq, 1k, 1.5k, 2k and 4k. Narrative documentation instead lists 512sq and omits 1.5k; the exact endpoint schema supplies this binding parameter list." }, + { source_url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-image", notes = "The page publishes $0.048 for a 1K (1 MP) image and endpoint billing metadata names megapixels. Resolution-tier rates, quantity rounding and reference-image billing scope are not established by this source; native-provider flat tier prices are not substituted." }, +] +endpoints = [ + { id = "blackforestlabs/flux-3/text-to-image", input = "text", source_url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-image/api", parameters = { version = { type = "string" }, sync_mode = { type = "boolean" }, resolution = { enum = [ + "768sq", + "1k", + "1.5k", + "2k", + "4k", + ], type = "string" }, output_format = { enum = [ + "jpeg", + "png", + ], type = "string" }, safety_tolerance = { minimum = 0, maximum = 4, type = "integer" }, aspect_ratio = { enum = [ + "auto", + "21:9", + "2:1", + "16:9", + "3:2", + "7:5", + "4:3", + "5:4", + "1:1", + "4:5", + "3:4", + "5:7", + "2:3", + "9:16", + "1:2", + ], type = "string" }, enable_prompt_expansion = { type = "boolean" }, prompt = { type = "string" } } }, + { id = "blackforestlabs/flux-3/edit-image", input = "multi_image", source_url = "https://fal.ai/models/blackforestlabs/flux-3/edit-image/api", parameters = { version = { type = "string" }, sync_mode = { type = "boolean" }, resolution = { enum = [ + "768sq", + "1k", + "1.5k", + "2k", + "4k", + ], type = "string" }, output_format = { enum = [ + "jpeg", + "png", + ], type = "string" }, safety_tolerance = { minimum = 0, maximum = 4, type = "integer" }, image_urls = { max_items = 10, type = "array", min_items = 1 }, aspect_ratio = { enum = [ + "auto", + "21:9", + "2:1", + "16:9", + "3:2", + "7:5", + "4:3", + "5:4", + "1:1", + "4:5", + "3:4", + "5:7", + "2:3", + "9:16", + "1:2", + ], type = "string" }, enable_prompt_expansion = { type = "boolean" }, prompt = { type = "string" } } }, +] + +[providers.fal.references] +id = "blackforestlabs/flux-3/edit-image" +max = 10 + +[providers.fal.pricing] +type = "per_megapixel" +usd = 0.048 +source_url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-image" + +[provider_coverage] + +[provider_coverage.bfl] +disposition = "listed" +source_url = "https://docs.bfl.ml/api-reference/utility/generate-an-image-with-flux-3" + +[provider_coverage.vercel] +disposition = "listed" +source_url = "https://vercel.com/ai-gateway/models/flux-3-image" + +[provider_coverage.openrouter] +disposition = "listed" +source_url = "https://openrouter.ai/api/v1/images/models/black-forest-labs/flux-3-image/endpoints" + +[provider_coverage.fal] +disposition = "listed" +source_url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-image/api" diff --git a/models/google/gemini-4-argon/card.toml b/models/google/gemini-4-argon/card.toml new file mode 100644 index 0000000..68cda65 --- /dev/null +++ b/models/google/gemini-4-argon/card.toml @@ -0,0 +1,142 @@ +id = "google/gemini-4-argon" +section = "text.catalog" +vendor = "google" +reference_provider = "google" +label = "Gemini 4 Argon" +multimodal = true +image_input_mimes = ["image/png", "image/jpeg", "image/webp", "image/heic", "image/heif"] +tool_call = true +context_window = 1048576 +output_limit = 65536 + +[cost] +input = 4 +output = 20 +cache_read = 0.2 + +[release] +date = "2026-10-13" +basis = "model" +source_url = "https://ai.google.dev/gemini-api/docs/changelog" + +[vision_tokenization] +source_url = "https://ai.google.dev/gemini-api/docs/media-resolution" +maximum_tokens_per_image = 2240 +token_counts_approximate = true + +[vision_tokenization.detail_token_budgets] +unspecified = 1120 +low = 280 +medium = 560 +high = 1120 +ultra_high = 2240 + +[providers] + +[providers.google] +provider = "google" +id = "gemini-4-argon" +url = "https://ai.google.dev/gemini-api/docs/models/gemini-4-argon" +source_url = "https://ai.google.dev/gemini-api/docs/models/gemini-4-argon" +endpoints = [ + { id = "gemini-4-argon", input = "text", source_url = "https://ai.google.dev/gemini-api/docs/models/gemini-4-argon" }, +] +qualifications = [ + { source_url = "https://ai.google.dev/gemini-api/docs/latest-model", notes = "Native default synchronous output is 65,536 tokens within the unified 1,048,576-token input/thinking/output window. Longer output uses continuation hops/background execution; provider discovery limits must not be interpreted as a single synchronous hop." }, +] + +[providers.google.limits] +source_url = "https://ai.google.dev/gemini-api/docs/models/gemini-4-argon" +context_tokens = 1048576 +max_output_tokens = 65536 + +[providers.google.capabilities] +source_url = "https://ai.google.dev/gemini-api/docs/models/gemini-4-argon" +image_input = true +tools = true +reasoning = true +structured_output = true + +[providers.google.token_pricing] +source_url = "https://ai.google.dev/gemini-api/docs/pricing" +unit = "usd_per_token" +scope = "Regular Standard global token rates. Implicit caching only. Introductory discounts, grounding tools and alternate service tiers are excluded." +input = "0.000004" +output = "0.00002" +input_cache_read = "0.0000002" + +[providers.vercel] +provider = "vercel" +id = "google/gemini-4-argon" +url = "https://vercel.com/ai-gateway/models/gemini-4-argon" +source_url = "https://vercel.com/ai-gateway/models/gemini-4-argon" +endpoints = [ + { id = "google/gemini-4-argon", input = "text", source_url = "https://vercel.com/ai-gateway/models/gemini-4-argon" }, +] +qualifications = [ + { source_url = "https://ai.google.dev/gemini-api/docs/latest-model", notes = "Native default synchronous output is 65,536 tokens within the unified 1,048,576-token input/thinking/output window. Longer output uses continuation hops/background execution; provider discovery limits must not be interpreted as a single synchronous hop." }, +] + +[providers.vercel.limits] +source_url = "https://vercel.com/ai-gateway/models/gemini-4-argon" +context_tokens = 1000000 +max_output_tokens = 1000000 + +[providers.vercel.capabilities] +source_url = "https://vercel.com/ai-gateway/models/gemini-4-argon" +image_input = true +tools = true +reasoning = true +structured_output = true + +[providers.vercel.token_pricing] +source_url = "https://vercel.com/ai-gateway/models/gemini-4-argon" +unit = "usd_per_token" +scope = "Regular Standard global token rates. Implicit caching only. Introductory discounts, grounding tools and alternate service tiers are excluded." +input = "0.000004" +output = "0.00002" +input_cache_read = "0.0000002" + +[providers.openrouter] +provider = "openrouter" +id = "google/gemini-4-argon" +url = "https://openrouter.ai/google/gemini-4-argon" +source_url = "https://openrouter.ai/google/gemini-4-argon" +endpoints = [ + { id = "google/gemini-4-argon", input = "text", source_url = "https://openrouter.ai/google/gemini-4-argon" }, +] +qualifications = [ + { source_url = "https://openrouter.ai/api/v1/models", notes = "The live feed quotes introductory token rates. A separate regular price is not established by this provider source, so token prices are omitted; omission does not mean free inference." }, + { source_url = "https://ai.google.dev/gemini-api/docs/latest-model", notes = "Native default synchronous output is 65,536 tokens within the unified 1,048,576-token input/thinking/output window. Longer output uses continuation hops/background execution; provider discovery limits must not be interpreted as a single synchronous hop." }, +] + +[providers.openrouter.limits] +source_url = "https://openrouter.ai/google/gemini-4-argon" +context_tokens = 1048576 +max_output_tokens = 943718 + +[providers.openrouter.capabilities] +source_url = "https://openrouter.ai/google/gemini-4-argon" +image_input = true +tools = true +reasoning = true +structured_output = true + +[provider_coverage] + +[provider_coverage.google] +disposition = "listed" +source_url = "https://ai.google.dev/gemini-api/docs/models/gemini-4-argon" + +[provider_coverage.vercel] +disposition = "listed" +source_url = "https://vercel.com/ai-gateway/models/gemini-4-argon" + +[provider_coverage.openrouter] +disposition = "listed" +source_url = "https://openrouter.ai/google/gemini-4-argon" + +[provider_coverage.fal] +disposition = "excluded" +source_url = "https://fal.ai/models" +reason = "The provider coverage policy includes fal for media models only; no text API compatibility is claimed." diff --git a/models/openai/gpt-6.1-terra/card.toml b/models/openai/gpt-6.1-terra/card.toml new file mode 100644 index 0000000..f611e37 --- /dev/null +++ b/models/openai/gpt-6.1-terra/card.toml @@ -0,0 +1,184 @@ +id = "openai/gpt-6.1-terra" +section = "text.catalog" +vendor = "openai" +reference_provider = "openai" +label = "GPT-6.1 Terra" +multimodal = true +image_input_mimes = ["image/png", "image/jpeg", "image/webp", "image/gif"] +tool_call = true +context_window = 1050000 +output_limit = 128000 + +[release] +date = "2026-10-26" +basis = "model" +source_url = "https://developers.openai.com/api/docs/changelog" + +[cost] +input = 1 +output = 5 +cache_read = 0.05 +cache_write = 1.25 + +[cost.long_context] +input_tokens_above = 272000 +input_multiplier = 2 +output_multiplier = 1.5 + +[providers] + +[providers.openai] +provider = "openai" +id = "gpt-6.1-terra" +url = "https://developers.openai.com/api/docs/models/gpt-6.1-terra" +source_url = "https://developers.openai.com/api/docs/models/gpt-6.1-terra" +qualifications = [ + { source_url = "https://developers.openai.com/api/docs/models/gpt-6.1-terra", notes = "Responses supports function calling. Chat Completions does not support tool calling. Reasoning none is supported; minimal is not listed." }, + { source_url = "https://developers.openai.com/api/docs/guides/images-vision", notes = "Image input is supported, but the published patch/tile multiplier and detail-level sizing tables do not name this exact model. No vision-tokenization formula is inferred from other models." }, +] +endpoints = [ + { id = "gpt-6.1-terra", input = "text", source_url = "https://developers.openai.com/api/docs/models/gpt-6.1-terra", interface = "responses", capabilities = { source_url = "https://developers.openai.com/api/docs/models/gpt-6.1-terra", image_input = true, tools = true, reasoning = true, structured_output = true, streaming = true }, parameters = { "reasoning.effort" = { type = "string", enum = [ + "none", + "low", + "medium", + "high", + "xhigh", + "max", + ] } } }, +] + +[providers.openai.token_pricing] +source_url = "https://developers.openai.com/api/docs/models/gpt-6.1-terra" +unit = "usd_per_token" +scope = "Regular Standard synchronous global token rates; 30-minute cache writes. Optional tools, alternate service tiers, 12-hour retention and regional processing are excluded." +input = "0.000001" +output = "0.000005" +input_cache_read = "0.00000005" +input_cache_write = "0.00000125" +tiers = [ + { meter = "input", minimum_input_tokens = 0, maximum_input_tokens = 272001, usd_per_token = "0.000001" }, + { meter = "input", minimum_input_tokens = 272001, usd_per_token = "0.000002" }, + { meter = "output", minimum_input_tokens = 0, maximum_input_tokens = 272001, usd_per_token = "0.000005" }, + { meter = "output", minimum_input_tokens = 272001, usd_per_token = "0.0000075" }, + { meter = "input_cache_read", minimum_input_tokens = 0, maximum_input_tokens = 272001, usd_per_token = "0.00000005" }, + { meter = "input_cache_read", minimum_input_tokens = 272001, usd_per_token = "0.0000001" }, + { meter = "input_cache_write", minimum_input_tokens = 0, maximum_input_tokens = 272001, usd_per_token = "0.00000125" }, + { meter = "input_cache_write", minimum_input_tokens = 272001, usd_per_token = "0.0000025" }, +] + +[providers.openai.capabilities] +source_url = "https://developers.openai.com/api/docs/models/gpt-6.1-terra" +image_input = true +tools = true +reasoning = true +structured_output = true +streaming = true + +[providers.openai.limits] +source_url = "https://developers.openai.com/api/docs/models/gpt-6.1-terra" +context_tokens = 1050000 +max_output_tokens = 128000 + +[providers.openrouter] +provider = "openrouter" +id = "openai/gpt-6.1-terra" +url = "https://openrouter.ai/openai/gpt-6.1-terra" +source_url = "https://openrouter.ai/openai/gpt-6.1-terra" +qualifications = [ + { source_url = "https://openrouter.ai/api/v1/models", notes = "The provider reports its long-context override at minimum 272000 prompt tokens. This binding preserves that threshold rather than substituting another provider's 272001 boundary." }, +] +endpoints = [ + { id = "openai/gpt-6.1-terra", input = "text", source_url = "https://openrouter.ai/openai/gpt-6.1-terra" }, +] + +[providers.openrouter.token_pricing] +source_url = "https://openrouter.ai/openai/gpt-6.1-terra" +unit = "usd_per_token" +scope = "Regular Standard synchronous global token rates; 30-minute cache writes. Optional tools, alternate service tiers, 12-hour retention and regional processing are excluded." +input = "0.000001" +output = "0.000005" +input_cache_read = "0.00000005" +input_cache_write = "0.00000125" +tiers = [ + { meter = "input", minimum_input_tokens = 0, maximum_input_tokens = 272000, usd_per_token = "0.000001" }, + { meter = "input", minimum_input_tokens = 272000, usd_per_token = "0.000002" }, + { meter = "output", minimum_input_tokens = 0, maximum_input_tokens = 272000, usd_per_token = "0.000005" }, + { meter = "output", minimum_input_tokens = 272000, usd_per_token = "0.0000075" }, + { meter = "input_cache_read", minimum_input_tokens = 0, maximum_input_tokens = 272000, usd_per_token = "0.00000005" }, + { meter = "input_cache_read", minimum_input_tokens = 272000, usd_per_token = "0.0000001" }, + { meter = "input_cache_write", minimum_input_tokens = 0, maximum_input_tokens = 272000, usd_per_token = "0.00000125" }, + { meter = "input_cache_write", minimum_input_tokens = 272000, usd_per_token = "0.0000025" }, +] + +[providers.openrouter.capabilities] +source_url = "https://openrouter.ai/openai/gpt-6.1-terra" +image_input = true +tools = true +reasoning = true +structured_output = true +streaming = true + +[providers.openrouter.limits] +source_url = "https://openrouter.ai/openai/gpt-6.1-terra" +context_tokens = 1050000 +max_output_tokens = 128000 + +[providers.vercel] +provider = "vercel" +id = "openai/gpt-6.1-terra" +url = "https://vercel.com/ai-gateway/models/gpt-6.1-terra" +source_url = "https://vercel.com/ai-gateway/models/gpt-6.1-terra" +endpoints = [ + { id = "openai/gpt-6.1-terra", input = "text", source_url = "https://vercel.com/ai-gateway/models/gpt-6.1-terra" }, +] + +[providers.vercel.token_pricing] +source_url = "https://vercel.com/ai-gateway/models/gpt-6.1-terra" +unit = "usd_per_token" +scope = "Regular Standard synchronous global token rates; 30-minute cache writes. Optional tools, alternate service tiers, 12-hour retention and regional processing are excluded." +input = "0.000001" +output = "0.000005" +input_cache_read = "0.00000005" +input_cache_write = "0.00000125" +tiers = [ + { meter = "input", minimum_input_tokens = 0, maximum_input_tokens = 272001, usd_per_token = "0.000001" }, + { meter = "input", minimum_input_tokens = 272001, usd_per_token = "0.000002" }, + { meter = "output", minimum_input_tokens = 0, maximum_input_tokens = 272001, usd_per_token = "0.000005" }, + { meter = "output", minimum_input_tokens = 272001, usd_per_token = "0.0000075" }, + { meter = "input_cache_read", minimum_input_tokens = 0, maximum_input_tokens = 272001, usd_per_token = "0.00000005" }, + { meter = "input_cache_read", minimum_input_tokens = 272001, usd_per_token = "0.0000001" }, + { meter = "input_cache_write", minimum_input_tokens = 0, maximum_input_tokens = 272001, usd_per_token = "0.00000125" }, + { meter = "input_cache_write", minimum_input_tokens = 272001, usd_per_token = "0.0000025" }, +] + +[providers.vercel.capabilities] +source_url = "https://vercel.com/ai-gateway/models/gpt-6.1-terra" +image_input = true +tools = true +reasoning = true +structured_output = true +streaming = true + +[providers.vercel.limits] +source_url = "https://vercel.com/ai-gateway/models/gpt-6.1-terra" +context_tokens = 1050000 +max_output_tokens = 128000 + +[provider_coverage] + +[provider_coverage.openai] +disposition = "listed" +source_url = "https://developers.openai.com/api/docs/models/gpt-6.1-terra" + +[provider_coverage.openrouter] +disposition = "listed" +source_url = "https://openrouter.ai/openai/gpt-6.1-terra" + +[provider_coverage.vercel] +disposition = "listed" +source_url = "https://vercel.com/ai-gateway/models/gpt-6.1-terra" + +[provider_coverage.fal] +disposition = "excluded" +source_url = "https://fal.ai/models" +reason = "The provider coverage policy includes fal for media models only; no text API compatibility is claimed." diff --git a/models/openai/gpt-image-2.6-flare/card.toml b/models/openai/gpt-image-2.6-flare/card.toml new file mode 100644 index 0000000..f4b15b3 --- /dev/null +++ b/models/openai/gpt-image-2.6-flare/card.toml @@ -0,0 +1,274 @@ +reference_provider = "openai" +id = "openai/gpt-image-2.6-flare" +section = "image.models" +null_keys = ["styles"] +label = "GPT Image 2.6 Flare" +short_description = "Image generation and editing for fast iteration." +vendor = "openai" +transparent_background = true +sizes = [[1024, 1024, "1:1"], [1024, 1536, "2:3"], [1536, 1024, "3:2"]] + +[quality] +options = ["auto", "low", "medium", "high", "xhigh", "max"] + +[pricing] +type = "per_token" +input = 5 +cached_input = 1.25 +image_input = 8 +cached_image_input = 2 +output = 30 +source_url = "https://developers.openai.com/api/docs/models/gpt-image-2.6-flare" + +[release] +date = "2026-11-04" +basis = "model" +source_url = "https://developers.openai.com/api/docs/changelog" + +[providers] + +[providers.vercel] +provider = "vercel" +id = "openai/gpt-image-2.6-flare" +url = "https://vercel.com/ai-gateway/models/gpt-image-2.6-flare" + +[providers.vercel.pricing] +type = "per_token" +input = 5 +cached_input = 1.25 +output = 30 + +[providers.fal] +endpoints = [ + { id = "openai/gpt-image-2.6/flare/text-to-image", input = "text", source_url = "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image/api", parameters = { enable_safety_checker = { type = "boolean" }, prompt = { max_length = 32000, min_length = 1, type = "string" }, sync_mode = { type = "boolean" }, quality = { enum = [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max", + ], type = "string" }, frame_duration_ms = { maximum = 2000, type = "integer", minimum = 20 }, frame_count = { maximum = 16, type = "integer", minimum = 2 }, background = { enum = [ + "auto", + "transparent", + "opaque", + ], type = "string" }, reasoning_effort = { enum = [ + "low", + "medium", + "high", + ], type = "string" }, image_size = { enum = [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9", + "auto", + ] }, "image_size.width" = { type = "integer", minimum = 1, maximum = 3840, multiple_of = 16 }, "image_size.height" = { type = "integer", minimum = 1, maximum = 3840, multiple_of = 16 }, output_compression = { maximum = 100, type = "integer", minimum = 0 }, num_images = { maximum = 10, type = "integer", minimum = 1 }, output_format = { enum = [ + "jpeg", + "png", + "webp", + "gif", + "svg", + ], type = "string" }, svg_model = { enum = [ + "gpt-6-astra", + "gpt-5.5", + "gpt-5.4", + "gpt-5.6-terra", + "gpt-6-luna", + ], type = "string" } }, image_constraints = { step = 16, max_edge = 3840, min_pixels = 655360, max_pixels = 8294400, aspect_ratio = { max = 3 } } }, + { id = "openai/gpt-image-2.6/flare/edit", input = "image", source_url = "https://fal.ai/models/openai/gpt-image-2.6/flare/edit/api", parameters = { prompt = { max_length = 32000, min_length = 1, type = "string" }, sync_mode = { type = "boolean" }, frame_duration_ms = { maximum = 2000, type = "integer", minimum = 20 }, image_size = { enum = [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9", + "auto", + ] }, "image_size.width" = { type = "integer", minimum = 1, maximum = 3840, multiple_of = 16 }, "image_size.height" = { type = "integer", minimum = 1, maximum = 3840, multiple_of = 16 }, enable_safety_checker = { type = "boolean" }, image_urls = { max_items = 16, type = "array" }, background = { enum = [ + "auto", + "transparent", + "opaque", + ], type = "string" }, reasoning_effort = { enum = [ + "low", + "medium", + "high", + ], type = "string" }, quality = { enum = [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max", + ], type = "string" }, frame_count = { maximum = 16, type = "integer", minimum = 2 }, markup_image_url = { type = "string" }, output_compression = { maximum = 100, type = "integer", minimum = 0 }, num_images = { maximum = 10, type = "integer", minimum = 1 }, output_format = { enum = [ + "jpeg", + "png", + "webp", + "gif", + ], type = "string" }, mask_url = { type = "string" } }, image_constraints = { step = 16, max_edge = 3840, min_pixels = 655360, max_pixels = 8294400, aspect_ratio = { max = 3 } } }, +] +provider = "fal" +id = "openai/gpt-image-2.6/flare/text-to-image" +url = "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image" +source_url = "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image/api" +qualifications = [ + { source_url = "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image/api", notes = "The generation schema lists GIF and SVG output; its edit schema lists GIF but no SVG. GIF frame_count is 2–16 and frame_duration_ms is 20–2,000, rounded to 10 ms. All GIF frames/outputs share the request pixel budget. The native image guide documents GIF generation only and a different frame range; provider parity is not inferred." }, + { source_url = "https://developers.openai.com/api/docs/guides/image-generation", notes = "SVG output includes separate authoring-model token charges and is not priced as raster output alone. Complexity has no separate fee." }, +] + +[providers.fal.references] +id = "openai/gpt-image-2.6/flare/edit" +max = 16 + +[providers.fal.pricing] +source_url = "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image" +rounding_usd = 0.0001 +type = "per_token" +input = 5 +cached_input = 1.25 +image_input = 8 +cached_image_input = 2 +text_output = 10 +output = 30 + +[providers.openai] +provider = "openai" +id = "gpt-image-2.6-flare" +source_url = "https://developers.openai.com/api/docs/models/gpt-image-2.6-flare" +url = "https://developers.openai.com/api/docs/models/gpt-image-2.6-flare" +endpoints = [ + { id = "v1/images/generations", input = "text", interface = "images.generations", source_url = "https://developers.openai.com/api/docs/guides/image-generation", parameters = { output_format = { type = "string", enum = [ + "png", + "jpeg", + "webp", + "gif", + "svg", + ] }, complexity = { type = "string", enum = [ + "low", + "medium", + "high", + ] }, frame_count = { type = "integer", minimum = 2, maximum = 64 }, frame_duration_ms = { type = "integer", minimum = 20, maximum = 2000 } } }, + { id = "v1/images/edits", input = "image", interface = "images.edits", source_url = "https://developers.openai.com/api/docs/guides/image-generation", parameters = { output_format = { type = "string", enum = [ + "png", + "jpeg", + "webp", + ] }, complexity = { type = "string", enum = [ + "low", + "medium", + "high", + ] } } }, +] +qualifications = [ + { source_url = "https://developers.openai.com/api/docs/guides/image-generation", notes = "GIF output is generation-only; the native guide does not support GIF output on edits. SVG output is generated through a separately billed authoring model. Raster token pricing does not include those authoring-model tokens." }, +] + +[providers.openai.pricing] +type = "per_token" +input = 5 +cached_input = 1.25 +output = 30 +image_input = 8 +cached_image_input = 2 +source_url = "https://developers.openai.com/api/docs/models/gpt-image-2.6-flare" + +[providers.openrouter] +provider = "openrouter" +id = "openai/gpt-image-2.6-flare" +source_url = "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-flare/endpoints" +url = "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-flare/endpoints" +transparent_background = true +endpoints = [ + { id = "openai/gpt-image-2.6-flare", source_url = "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-flare/endpoints", parameters = { aspect_ratio = { enum = [ + "1:1", + "3:2", + "2:3", + "4:3", + "3:4", + "16:9", + "9:16", + "21:9", + "auto", + ] }, quality = { enum = [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max", + ] }, background = { enum = [ + "auto", + "transparent", + "opaque", + ] }, n = { type = "integer", minimum = 1, maximum = 10 }, input_references = { type = "integer", minimum = 0, maximum = 16 }, output_compression = { type = "integer", minimum = 0, maximum = 100 }, output_format = { type = "string", enum = [ + "png", + "jpeg", + "webp", + ] } }, input = "text" }, +] + +[providers.openrouter.pricing] +type = "per_token" +image_input = 8.0 +input = 5.0 +output = 30.0 +source_url = "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-flare/endpoints" + +[providers.openrouter.references] +id = "openai/gpt-image-2.6-flare" +max = 16 + +[constraints] +step = 16 +max_edge = 3840 +min_pixels = 655360 +max_pixels = 8294400 + +[constraints.aspect_ratio] +max = 3 + +[output_token_calculator] +source_url = "https://developers.openai.com/api/docs/guides/image-generation" +source_js_url = "https://developers.openai.com/_astro/GptImageTokenCalculator.react.SM_UvXcs.js" +area_offset = 2000000 +area_divisor = 4000000 +short_axis_rounding = "nearest_ties_even" +token_rounding = "ceil" +examples = [ + { width = 1024, height = 1024, quality = "low", output_tokens = 823, source_url = "https://developers.openai.com/api/docs/guides/image-generation" }, + { width = 1024, height = 1024, quality = "medium", output_tokens = 1449, source_url = "https://developers.openai.com/api/docs/guides/image-generation" }, + { width = 1024, height = 1024, quality = "high", output_tokens = 1756, source_url = "https://developers.openai.com/api/docs/guides/image-generation" }, + { width = 1024, height = 1024, quality = "xhigh", output_tokens = 3122, source_url = "https://developers.openai.com/api/docs/guides/image-generation" }, + { width = 1024, height = 1024, quality = "max", output_tokens = 7024, source_url = "https://developers.openai.com/api/docs/guides/image-generation" }, +] +result_rounding = "nearest_ties_up" + +[output_token_calculator.quality_axes] +low = 16 +medium = 24 +high = 48 +xhigh = 64 +max = 96 + +[output_token_calculator.quality_multipliers] +low = "4.2" +medium = "3.3" +high = "1" +xhigh = "1" +max = "1" + +[provider_coverage] + +[provider_coverage.openrouter] +disposition = "listed" +source_url = "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-flare/endpoints" + +[provider_coverage.vercel] +disposition = "listed" +source_url = "https://vercel.com/ai-gateway/models/gpt-image-2.6-flare" + +[provider_coverage.fal] +disposition = "listed" +source_url = "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image" + +[provider_coverage.openai] +disposition = "listed" +source_url = "https://developers.openai.com/api/docs/models/gpt-image-2.6-flare" diff --git a/models/openai/gpt-image-2.6-sunburst/card.toml b/models/openai/gpt-image-2.6-sunburst/card.toml new file mode 100644 index 0000000..bb32aba --- /dev/null +++ b/models/openai/gpt-image-2.6-sunburst/card.toml @@ -0,0 +1,274 @@ +reference_provider = "openai" +id = "openai/gpt-image-2.6-sunburst" +section = "image.models" +null_keys = ["styles"] +label = "GPT Image 2.6 Sunburst" +short_description = "Image generation and editing for detailed visual work." +vendor = "openai" +transparent_background = true +sizes = [[1024, 1024, "1:1"], [1024, 1536, "2:3"], [1536, 1024, "3:2"]] + +[quality] +options = ["auto", "low", "medium", "high", "xhigh", "max"] + +[pricing] +type = "per_token" +input = 5 +cached_input = 1.25 +image_input = 8 +cached_image_input = 2 +output = 30 +source_url = "https://developers.openai.com/api/docs/models/gpt-image-2.6-sunburst" + +[release] +date = "2026-11-04" +basis = "model" +source_url = "https://developers.openai.com/api/docs/changelog" + +[providers] + +[providers.vercel] +provider = "vercel" +id = "openai/gpt-image-2.6-sunburst" +url = "https://vercel.com/ai-gateway/models/gpt-image-2.6-sunburst" + +[providers.vercel.pricing] +type = "per_token" +input = 5 +cached_input = 1.25 +output = 30 + +[providers.fal] +endpoints = [ + { id = "openai/gpt-image-2.6/sunburst/text-to-image", input = "text", source_url = "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image/api", parameters = { image_size = { enum = [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9", + "auto", + ] }, "image_size.width" = { type = "integer", minimum = 1, maximum = 3840, multiple_of = 16 }, "image_size.height" = { type = "integer", minimum = 1, maximum = 3840, multiple_of = 16 }, background = { enum = [ + "auto", + "transparent", + "opaque", + ], type = "string" }, output_compression = { type = "integer", maximum = 100, minimum = 0 }, prompt = { max_length = 32000, type = "string", min_length = 1 }, enable_safety_checker = { type = "boolean" }, frame_count = { type = "integer", maximum = 16, minimum = 2 }, output_format = { enum = [ + "jpeg", + "png", + "webp", + "gif", + "svg", + ], type = "string" }, num_images = { type = "integer", maximum = 10, minimum = 1 }, sync_mode = { type = "boolean" }, reasoning_effort = { type = "string", enum = [ + "low", + "medium", + "high", + ] }, svg_model = { enum = [ + "gpt-6-astra", + "gpt-5.5", + "gpt-5.4", + "gpt-5.6-terra", + "gpt-6-luna", + ], type = "string" }, quality = { type = "string", enum = [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max", + ] }, frame_duration_ms = { type = "integer", maximum = 2000, minimum = 20 } }, image_constraints = { step = 16, max_edge = 3840, min_pixels = 655360, max_pixels = 8294400, aspect_ratio = { max = 3 } } }, + { id = "openai/gpt-image-2.6/sunburst/edit", input = "image", source_url = "https://fal.ai/models/openai/gpt-image-2.6/sunburst/edit/api", parameters = { background = { enum = [ + "auto", + "transparent", + "opaque", + ], type = "string" }, output_format = { enum = [ + "jpeg", + "png", + "webp", + "gif", + ], type = "string" }, prompt = { max_length = 32000, type = "string", min_length = 1 }, mask_url = { type = "string" }, frame_count = { type = "integer", maximum = 16, minimum = 2 }, markup_image_url = { type = "string" }, image_size = { enum = [ + "square_hd", + "square", + "portrait_4_3", + "portrait_16_9", + "landscape_4_3", + "landscape_16_9", + "auto", + ] }, "image_size.width" = { type = "integer", minimum = 1, maximum = 3840, multiple_of = 16 }, "image_size.height" = { type = "integer", minimum = 1, maximum = 3840, multiple_of = 16 }, output_compression = { type = "integer", maximum = 100, minimum = 0 }, enable_safety_checker = { type = "boolean" }, image_urls = { type = "array", max_items = 16 }, num_images = { type = "integer", maximum = 10, minimum = 1 }, sync_mode = { type = "boolean" }, reasoning_effort = { type = "string", enum = [ + "low", + "medium", + "high", + ] }, frame_duration_ms = { type = "integer", maximum = 2000, minimum = 20 }, quality = { type = "string", enum = [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max", + ] } }, image_constraints = { step = 16, max_edge = 3840, min_pixels = 655360, max_pixels = 8294400, aspect_ratio = { max = 3 } } }, +] +provider = "fal" +id = "openai/gpt-image-2.6/sunburst/text-to-image" +url = "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image" +source_url = "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image/api" +qualifications = [ + { source_url = "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image/api", notes = "The generation schema lists GIF and SVG output; its edit schema lists GIF but no SVG. GIF frame_count is 2–16 and frame_duration_ms is 20–2,000, rounded to 10 ms. All GIF frames/outputs share the request pixel budget. The native image guide documents GIF generation only and a different frame range; provider parity is not inferred." }, + { source_url = "https://developers.openai.com/api/docs/guides/image-generation", notes = "SVG output includes separate authoring-model token charges and is not priced as raster output alone. Complexity has no separate fee." }, +] + +[providers.fal.references] +id = "openai/gpt-image-2.6/sunburst/edit" +max = 16 + +[providers.fal.pricing] +source_url = "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image" +rounding_usd = 0.0001 +type = "per_token" +input = 5 +cached_input = 1.25 +image_input = 8 +cached_image_input = 2 +text_output = 10 +output = 30 + +[providers.openai] +provider = "openai" +id = "gpt-image-2.6-sunburst" +source_url = "https://developers.openai.com/api/docs/models/gpt-image-2.6-sunburst" +url = "https://developers.openai.com/api/docs/models/gpt-image-2.6-sunburst" +endpoints = [ + { id = "v1/images/generations", input = "text", interface = "images.generations", source_url = "https://developers.openai.com/api/docs/guides/image-generation", parameters = { output_format = { type = "string", enum = [ + "png", + "jpeg", + "webp", + "gif", + "svg", + ] }, complexity = { type = "string", enum = [ + "low", + "medium", + "high", + ] }, frame_count = { type = "integer", minimum = 2, maximum = 64 }, frame_duration_ms = { type = "integer", minimum = 20, maximum = 2000 } } }, + { id = "v1/images/edits", input = "image", interface = "images.edits", source_url = "https://developers.openai.com/api/docs/guides/image-generation", parameters = { output_format = { type = "string", enum = [ + "png", + "jpeg", + "webp", + ] }, complexity = { type = "string", enum = [ + "low", + "medium", + "high", + ] } } }, +] +qualifications = [ + { source_url = "https://developers.openai.com/api/docs/guides/image-generation", notes = "GIF output is generation-only; the native guide does not support GIF output on edits. SVG output is generated through a separately billed authoring model. Raster token pricing does not include those authoring-model tokens." }, +] + +[providers.openai.pricing] +type = "per_token" +input = 5 +cached_input = 1.25 +output = 30 +image_input = 8 +cached_image_input = 2 +source_url = "https://developers.openai.com/api/docs/models/gpt-image-2.6-sunburst" + +[providers.openrouter] +provider = "openrouter" +id = "openai/gpt-image-2.6-sunburst" +source_url = "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-sunburst/endpoints" +url = "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-sunburst/endpoints" +transparent_background = true +endpoints = [ + { id = "openai/gpt-image-2.6-sunburst", source_url = "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-sunburst/endpoints", parameters = { aspect_ratio = { enum = [ + "1:1", + "3:2", + "2:3", + "4:3", + "3:4", + "16:9", + "9:16", + "21:9", + "auto", + ] }, quality = { enum = [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max", + ] }, background = { enum = [ + "auto", + "transparent", + "opaque", + ] }, n = { type = "integer", minimum = 1, maximum = 10 }, input_references = { type = "integer", minimum = 0, maximum = 16 }, output_compression = { type = "integer", minimum = 0, maximum = 100 }, output_format = { type = "string", enum = [ + "png", + "jpeg", + "webp", + ] } }, input = "text" }, +] + +[providers.openrouter.pricing] +type = "per_token" +image_input = 8.0 +input = 5.0 +output = 30.0 +source_url = "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-sunburst/endpoints" + +[providers.openrouter.references] +id = "openai/gpt-image-2.6-sunburst" +max = 16 + +[constraints] +step = 16 +max_edge = 3840 +min_pixels = 655360 +max_pixels = 8294400 + +[constraints.aspect_ratio] +max = 3 + +[output_token_calculator] +source_url = "https://developers.openai.com/api/docs/guides/image-generation" +source_js_url = "https://developers.openai.com/_astro/GptImageTokenCalculator.react.SM_UvXcs.js" +area_offset = 2000000 +area_divisor = 4000000 +short_axis_rounding = "nearest_ties_even" +token_rounding = "ceil" +examples = [ + { width = 1024, height = 1024, quality = "low", output_tokens = 823, source_url = "https://developers.openai.com/api/docs/guides/image-generation" }, + { width = 1024, height = 1024, quality = "medium", output_tokens = 1449, source_url = "https://developers.openai.com/api/docs/guides/image-generation" }, + { width = 1024, height = 1024, quality = "high", output_tokens = 1756, source_url = "https://developers.openai.com/api/docs/guides/image-generation" }, + { width = 1024, height = 1024, quality = "xhigh", output_tokens = 3122, source_url = "https://developers.openai.com/api/docs/guides/image-generation" }, + { width = 1024, height = 1024, quality = "max", output_tokens = 7024, source_url = "https://developers.openai.com/api/docs/guides/image-generation" }, +] +result_rounding = "nearest_ties_up" + +[output_token_calculator.quality_axes] +low = 16 +medium = 24 +high = 48 +xhigh = 64 +max = 96 + +[output_token_calculator.quality_multipliers] +low = "4.2" +medium = "3.3" +high = "1" +xhigh = "1" +max = "1" + +[provider_coverage] + +[provider_coverage.openrouter] +disposition = "listed" +source_url = "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.6-sunburst/endpoints" + +[provider_coverage.vercel] +disposition = "listed" +source_url = "https://vercel.com/ai-gateway/models/gpt-image-2.6-sunburst" + +[provider_coverage.fal] +disposition = "listed" +source_url = "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image" + +[provider_coverage.openai] +disposition = "listed" +source_url = "https://developers.openai.com/api/docs/models/gpt-image-2.6-sunburst" From 55cc8313e8c08441ae5a16544452803a4d24e691 Mon Sep 17 00:00:00 2001 From: Universe Date: Thu, 5 Nov 2026 23:05:34 +0900 Subject: [PATCH 2/5] data: qualify model input and release provenance --- catalogue/PROVENANCE.md | 11 ++++++----- catalogue/models.json | 10 +++++++--- models/black-forest-labs/flux-3-image/card.toml | 6 +++--- models/openai/gpt-6.1-terra/card.toml | 1 + 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/catalogue/PROVENANCE.md b/catalogue/PROVENANCE.md index b664bd8..b535ebb 100644 --- a/catalogue/PROVENANCE.md +++ b/catalogue/PROVENANCE.md @@ -1289,7 +1289,7 @@ dates or other providers' listed prices change. OpenAI's October 26 changelog establishes broad availability of the exact model. The native model page supplies the 1,050,000-token context, 128,000-token output -limit, supported reasoning efforts and Standard token rates. Thirty-minute cache +limit, a separate 922,000-token maximum input, supported reasoning efforts and Standard token rates. Thirty-minute cache writes are a separate meter. The request-wide long-context boundary is strictly more than 272,000 input tokens on OpenAI and Vercel; OpenRouter's feed instead starts its override at 272,000. Each binding retains its own boundary. @@ -1375,10 +1375,11 @@ separately billed authoring-model tokens, not just the raster token rates. ### `bfl/flux-3-image` -BFL's published launch-pricing terms identify October 1 as the public image -launch; the earlier FLUX 3 announcement describes image access as forthcoming, -not broad availability. Vercel's October 5 listing is later provider availability -and does not replace the model release date. +The earlier FLUX 3 announcement describes image access as forthcoming, not broad +availability. A durable native launch date is not established by the current +pricing page. The recorded October 5 date therefore uses `provider_endpoint` +basis and Vercel's explicitly dated listing; it does not claim the model first +became broadly available on that day. - https://bfl.ai/pricing - https://bfl.ai/blog/flux-3 diff --git a/catalogue/models.json b/catalogue/models.json index 32e0f83..da4e636 100644 --- a/catalogue/models.json +++ b/catalogue/models.json @@ -6799,6 +6799,10 @@ "url": "https://developers.openai.com/api/docs/models/gpt-6.1-terra", "source_url": "https://developers.openai.com/api/docs/models/gpt-6.1-terra", "qualifications": [ + { + "source_url": "https://developers.openai.com/api/docs/models/gpt-6.1-terra", + "notes": "The total context window is 1,050,000 tokens, but the separately published maximum input is 922,000 tokens; the output maximum is 128,000. Context size does not authorize a larger input." + }, { "source_url": "https://developers.openai.com/api/docs/models/gpt-6.1-terra", "notes": "Responses supports function calling. Chat Completions does not support tool calling. Reasoning none is supported; minimal is not listed." @@ -7954,9 +7958,9 @@ "label": "FLUX 3 Image", "short_description": "Image generation and editing with up to ten reference images.", "release": { - "date": "2026-10-01", - "basis": "model", - "source_url": "https://bfl.ai/pricing" + "date": "2026-10-05", + "basis": "provider_endpoint", + "source_url": "https://vercel.com/ai-gateway/models/flux-3-image" }, "pricing": { "type": "per_image_tiered", diff --git a/models/black-forest-labs/flux-3-image/card.toml b/models/black-forest-labs/flux-3-image/card.toml index c2ccfaa..804f18b 100644 --- a/models/black-forest-labs/flux-3-image/card.toml +++ b/models/black-forest-labs/flux-3-image/card.toml @@ -6,9 +6,9 @@ label = "FLUX 3 Image" short_description = "Image generation and editing with up to ten reference images." [release] -date = "2026-10-01" -basis = "model" -source_url = "https://bfl.ai/pricing" +date = "2026-10-05" +basis = "provider_endpoint" +source_url = "https://vercel.com/ai-gateway/models/flux-3-image" [pricing] type = "per_image_tiered" diff --git a/models/openai/gpt-6.1-terra/card.toml b/models/openai/gpt-6.1-terra/card.toml index f611e37..d1e5e9f 100644 --- a/models/openai/gpt-6.1-terra/card.toml +++ b/models/openai/gpt-6.1-terra/card.toml @@ -33,6 +33,7 @@ id = "gpt-6.1-terra" url = "https://developers.openai.com/api/docs/models/gpt-6.1-terra" source_url = "https://developers.openai.com/api/docs/models/gpt-6.1-terra" qualifications = [ + { source_url = "https://developers.openai.com/api/docs/models/gpt-6.1-terra", notes = "The total context window is 1,050,000 tokens, but the separately published maximum input is 922,000 tokens; the output maximum is 128,000. Context size does not authorize a larger input." }, { source_url = "https://developers.openai.com/api/docs/models/gpt-6.1-terra", notes = "Responses supports function calling. Chat Completions does not support tool calling. Reasoning none is supported; minimal is not listed." }, { source_url = "https://developers.openai.com/api/docs/guides/images-vision", notes = "Image input is supported, but the published patch/tile multiplier and detail-level sizing tables do not name this exact model. No vision-tokenization formula is inferred from other models." }, ] From d2f9cfd0b451b5459af6cb3385ed6b3b1e13bdd1 Mon Sep 17 00:00:00 2001 From: Universe Date: Thu, 5 Nov 2026 23:13:07 +0900 Subject: [PATCH 3/5] data: qualify image format and frame constraints --- catalogue/PROVENANCE.md | 9 +++++++-- catalogue/models.json | 20 +++++++++++++++++-- models/openai/gpt-image-2.6-flare/card.toml | 4 +++- .../openai/gpt-image-2.6-sunburst/card.toml | 4 +++- 4 files changed, 31 insertions(+), 6 deletions(-) diff --git a/catalogue/PROVENANCE.md b/catalogue/PROVENANCE.md index b535ebb..f44ee61 100644 --- a/catalogue/PROVENANCE.md +++ b/catalogue/PROVENANCE.md @@ -1356,15 +1356,20 @@ image-price examples. The calculator estimates raster output only; it excludes text/image input and partial-image charges. - https://developers.openai.com/api/docs/guides/image-generation +- https://developers.openai.com/api/reference/resources/images/methods/generate - https://developers.openai.com/_astro/GptImageTokenCalculator.react.SM_UvXcs.js Provider format differences are intentional. The native guide permits GIF only -on generation, with 2–64 frames. fal generation permits GIF and SVG, whereas its +on generation, with 2–64 frames. The exact native generation API reference instead +lists 2–16; the native binding uses that narrower endpoint maximum and retains +the guide discrepancy as a qualification. fal generation permits GIF and SVG, whereas its edit schema lists GIF but no SVG, with 2–16 frames. Both native and fal describe 20–2,000 ms frame durations rounded to 10 ms; all frames/outputs share the request pixel budget. OpenRouter lists PNG/JPEG/WebP only. The catalogue preserves each provider's documented surface rather than claiming format parity. SVG includes -separately billed authoring-model tokens, not just the raster token rates. +separately billed authoring-model tokens, not just the raster token rates. The +native background contract requires PNG or WebP for transparency; format support +alone does not establish transparent GIF or SVG output. - https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image/api - https://fal.ai/models/openai/gpt-image-2.6/flare/edit/api diff --git a/catalogue/models.json b/catalogue/models.json index da4e636..3ddae01 100644 --- a/catalogue/models.json +++ b/catalogue/models.json @@ -13767,7 +13767,7 @@ "frame_count": { "type": "integer", "minimum": 2, - "maximum": 64 + "maximum": 16 }, "frame_duration_ms": { "type": "integer", @@ -13805,6 +13805,14 @@ { "source_url": "https://developers.openai.com/api/docs/guides/image-generation", "notes": "GIF output is generation-only; the native guide does not support GIF output on edits. SVG output is generated through a separately billed authoring model. Raster token pricing does not include those authoring-model tokens." + }, + { + "source_url": "https://developers.openai.com/api/reference/resources/images/methods/generate", + "notes": "Transparent backgrounds require PNG or WebP output. A listed GIF or SVG format does not establish transparent-background support for that format." + }, + { + "source_url": "https://developers.openai.com/api/reference/resources/images/methods/generate", + "notes": "The exact generation API reference limits frame_count to 2–16. The model-specific image guide describes 2–64; this binding records the narrower API-reference maximum rather than treating the two sources as equivalent." } ], "pricing": { @@ -14346,7 +14354,7 @@ "frame_count": { "type": "integer", "minimum": 2, - "maximum": 64 + "maximum": 16 }, "frame_duration_ms": { "type": "integer", @@ -14384,6 +14392,14 @@ { "source_url": "https://developers.openai.com/api/docs/guides/image-generation", "notes": "GIF output is generation-only; the native guide does not support GIF output on edits. SVG output is generated through a separately billed authoring model. Raster token pricing does not include those authoring-model tokens." + }, + { + "source_url": "https://developers.openai.com/api/reference/resources/images/methods/generate", + "notes": "Transparent backgrounds require PNG or WebP output. A listed GIF or SVG format does not establish transparent-background support for that format." + }, + { + "source_url": "https://developers.openai.com/api/reference/resources/images/methods/generate", + "notes": "The exact generation API reference limits frame_count to 2–16. The model-specific image guide describes 2–64; this binding records the narrower API-reference maximum rather than treating the two sources as equivalent." } ], "pricing": { diff --git a/models/openai/gpt-image-2.6-flare/card.toml b/models/openai/gpt-image-2.6-flare/card.toml index f4b15b3..e62f7a5 100644 --- a/models/openai/gpt-image-2.6-flare/card.toml +++ b/models/openai/gpt-image-2.6-flare/card.toml @@ -146,7 +146,7 @@ endpoints = [ "low", "medium", "high", - ] }, frame_count = { type = "integer", minimum = 2, maximum = 64 }, frame_duration_ms = { type = "integer", minimum = 20, maximum = 2000 } } }, + ] }, frame_count = { type = "integer", minimum = 2, maximum = 16 }, frame_duration_ms = { type = "integer", minimum = 20, maximum = 2000 } } }, { id = "v1/images/edits", input = "image", interface = "images.edits", source_url = "https://developers.openai.com/api/docs/guides/image-generation", parameters = { output_format = { type = "string", enum = [ "png", "jpeg", @@ -159,6 +159,8 @@ endpoints = [ ] qualifications = [ { source_url = "https://developers.openai.com/api/docs/guides/image-generation", notes = "GIF output is generation-only; the native guide does not support GIF output on edits. SVG output is generated through a separately billed authoring model. Raster token pricing does not include those authoring-model tokens." }, + { source_url = "https://developers.openai.com/api/reference/resources/images/methods/generate", notes = "Transparent backgrounds require PNG or WebP output. A listed GIF or SVG format does not establish transparent-background support for that format." }, + { source_url = "https://developers.openai.com/api/reference/resources/images/methods/generate", notes = "The exact generation API reference limits frame_count to 2–16. The model-specific image guide describes 2–64; this binding records the narrower API-reference maximum rather than treating the two sources as equivalent." }, ] [providers.openai.pricing] diff --git a/models/openai/gpt-image-2.6-sunburst/card.toml b/models/openai/gpt-image-2.6-sunburst/card.toml index bb32aba..e7eb78b 100644 --- a/models/openai/gpt-image-2.6-sunburst/card.toml +++ b/models/openai/gpt-image-2.6-sunburst/card.toml @@ -146,7 +146,7 @@ endpoints = [ "low", "medium", "high", - ] }, frame_count = { type = "integer", minimum = 2, maximum = 64 }, frame_duration_ms = { type = "integer", minimum = 20, maximum = 2000 } } }, + ] }, frame_count = { type = "integer", minimum = 2, maximum = 16 }, frame_duration_ms = { type = "integer", minimum = 20, maximum = 2000 } } }, { id = "v1/images/edits", input = "image", interface = "images.edits", source_url = "https://developers.openai.com/api/docs/guides/image-generation", parameters = { output_format = { type = "string", enum = [ "png", "jpeg", @@ -159,6 +159,8 @@ endpoints = [ ] qualifications = [ { source_url = "https://developers.openai.com/api/docs/guides/image-generation", notes = "GIF output is generation-only; the native guide does not support GIF output on edits. SVG output is generated through a separately billed authoring model. Raster token pricing does not include those authoring-model tokens." }, + { source_url = "https://developers.openai.com/api/reference/resources/images/methods/generate", notes = "Transparent backgrounds require PNG or WebP output. A listed GIF or SVG format does not establish transparent-background support for that format." }, + { source_url = "https://developers.openai.com/api/reference/resources/images/methods/generate", notes = "The exact generation API reference limits frame_count to 2–16. The model-specific image guide describes 2–64; this binding records the narrower API-reference maximum rather than treating the two sources as equivalent." }, ] [providers.openai.pricing] From aacf5a294b46a0dea409e8073a5df53a97dd81b6 Mon Sep 17 00:00:00 2001 From: Universe Date: Thu, 5 Nov 2026 23:14:19 +0900 Subject: [PATCH 4/5] data: clarify image reference billing scope --- catalogue/PROVENANCE.md | 8 ++++++-- catalogue/models.json | 6 +++++- models/black-forest-labs/flux-3-image/card.toml | 3 ++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/catalogue/PROVENANCE.md b/catalogue/PROVENANCE.md index f44ee61..5d79c08 100644 --- a/catalogue/PROVENANCE.md +++ b/catalogue/PROVENANCE.md @@ -1393,8 +1393,11 @@ became broadly available on that day. Native, Vercel and OpenRouter publish per-image resolution tiers. The native price includes reference images and prompts at no extra charge. fal's page and billing metadata instead name a $0.048 megapixel unit; that source does not establish -quantity rounding, all resolution-tier rates or reference billing scope. These -are not silently replaced with BFL's flat per-image tiers. fal's exact API schema +quantity rounding or all resolution-tier rates. The edit page explicitly states +one flat price per image regardless of reference count, establishing that +references add no separate charge. This does not establish identical prices +across resolutions, and missing rates are not silently replaced with BFL's flat +per-image tiers. fal's exact API schema lists `768sq`, `1k`, `1.5k`, `2k`, `4k`; its narrative table instead lists `512sq` and omits `1.5k`. The exact endpoint schema supplies the fal parameter list. @@ -1403,4 +1406,5 @@ and omits `1.5k`. The exact endpoint schema supplies the fal parameter list. - https://openrouter.ai/api/v1/images/models/black-forest-labs/flux-3-image/endpoints - https://fal.ai/models/blackforestlabs/flux-3/text-to-image - https://fal.ai/models/blackforestlabs/flux-3/text-to-image/api +- https://fal.ai/models/blackforestlabs/flux-3/edit-image - https://fal.ai/models/blackforestlabs/flux-3/edit-image/api diff --git a/catalogue/models.json b/catalogue/models.json index 3ddae01..945d05d 100644 --- a/catalogue/models.json +++ b/catalogue/models.json @@ -8049,7 +8049,11 @@ }, { "source_url": "https://fal.ai/models/blackforestlabs/flux-3/text-to-image", - "notes": "The page publishes $0.048 for a 1K (1 MP) image and endpoint billing metadata names megapixels. Resolution-tier rates, quantity rounding and reference-image billing scope are not established by this source; native-provider flat tier prices are not substituted." + "notes": "The page publishes $0.048 for a 1K (1 MP) image and endpoint billing metadata names megapixels. Larger resolution-tier rates and quantity rounding are not established by this source; native-provider flat tier prices are not substituted." + }, + { + "source_url": "https://fal.ai/models/blackforestlabs/flux-3/edit-image", + "notes": "The edit documentation explicitly states one flat price per image regardless of the number of references. This establishes that reference count adds no separate charge; it does not establish identical prices across output resolutions." } ], "endpoints": [ diff --git a/models/black-forest-labs/flux-3-image/card.toml b/models/black-forest-labs/flux-3-image/card.toml index 804f18b..269f2b4 100644 --- a/models/black-forest-labs/flux-3-image/card.toml +++ b/models/black-forest-labs/flux-3-image/card.toml @@ -93,7 +93,8 @@ source_url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-image/api" url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-image" qualifications = [ { source_url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-image/api", notes = "The exact API schema lists 768sq, 1k, 1.5k, 2k and 4k. Narrative documentation instead lists 512sq and omits 1.5k; the exact endpoint schema supplies this binding parameter list." }, - { source_url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-image", notes = "The page publishes $0.048 for a 1K (1 MP) image and endpoint billing metadata names megapixels. Resolution-tier rates, quantity rounding and reference-image billing scope are not established by this source; native-provider flat tier prices are not substituted." }, + { source_url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-image", notes = "The page publishes $0.048 for a 1K (1 MP) image and endpoint billing metadata names megapixels. Larger resolution-tier rates and quantity rounding are not established by this source; native-provider flat tier prices are not substituted." }, + { source_url = "https://fal.ai/models/blackforestlabs/flux-3/edit-image", notes = "The edit documentation explicitly states one flat price per image regardless of the number of references. This establishes that reference count adds no separate charge; it does not establish identical prices across output resolutions." }, ] endpoints = [ { id = "blackforestlabs/flux-3/text-to-image", input = "text", source_url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-image/api", parameters = { version = { type = "string" }, sync_mode = { type = "boolean" }, resolution = { enum = [ From 83a9587599c284858962f942aa54360a0e090ed5 Mon Sep 17 00:00:00 2001 From: Universe Date: Fri, 6 Nov 2026 08:03:58 +0900 Subject: [PATCH 5/5] data: align animated image facts with current API references --- catalogue/PROVENANCE.md | 25 +++++----- catalogue/models.json | 46 ++++++++++++++----- models/openai/gpt-image-2.6-flare/card.toml | 11 +++-- .../openai/gpt-image-2.6-sunburst/card.toml | 11 +++-- 4 files changed, 60 insertions(+), 33 deletions(-) diff --git a/catalogue/PROVENANCE.md b/catalogue/PROVENANCE.md index 5d79c08..1e77e66 100644 --- a/catalogue/PROVENANCE.md +++ b/catalogue/PROVENANCE.md @@ -1359,17 +1359,20 @@ text/image input and partial-image charges. - https://developers.openai.com/api/reference/resources/images/methods/generate - https://developers.openai.com/_astro/GptImageTokenCalculator.react.SM_UvXcs.js -Provider format differences are intentional. The native guide permits GIF only -on generation, with 2–64 frames. The exact native generation API reference instead -lists 2–16; the native binding uses that narrower endpoint maximum and retains -the guide discrepancy as a qualification. fal generation permits GIF and SVG, whereas its -edit schema lists GIF but no SVG, with 2–16 frames. Both native and fal describe -20–2,000 ms frame durations rounded to 10 ms; all frames/outputs share the request -pixel budget. OpenRouter lists PNG/JPEG/WebP only. The catalogue preserves each -provider's documented surface rather than claiming format parity. SVG includes -separately billed authoring-model tokens, not just the raster token rates. The -native background contract requires PNG or WebP for transparency; format support -alone does not establish transparent GIF or SVG output. +Provider format differences are intentional. The native guide and exact API +references document GIF on generation and editing, with 2–16 frames. Native GIF +output requires access to the selected model's GIF preview; documentation alone +does not establish account eligibility. GIF cannot be combined with masks, +streaming, partial images or custom output compression. The guide documents +20–2,000 ms frame durations rounded to 10 ms; the API reference separately +explains encoded-delay behavior. All frames/outputs share the request pixel +budget. fal generation permits GIF and SVG, whereas its edit schema lists GIF +but no SVG, also with 2–16 frames. OpenRouter lists PNG/JPEG/WebP only. Each +binding preserves its own documented surface without inferring access or parity. +SVG includes separately billed authoring-model tokens, not just raster token +rates. Transparent backgrounds require PNG or WebP. + +- https://developers.openai.com/api/reference/resources/images/methods/edit - https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image/api - https://fal.ai/models/openai/gpt-image-2.6/flare/edit/api diff --git a/catalogue/models.json b/catalogue/models.json index 945d05d..30c50be 100644 --- a/catalogue/models.json +++ b/catalogue/models.json @@ -13715,7 +13715,7 @@ "qualifications": [ { "source_url": "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image/api", - "notes": "The generation schema lists GIF and SVG output; its edit schema lists GIF but no SVG. GIF frame_count is 2–16 and frame_duration_ms is 20–2,000, rounded to 10 ms. All GIF frames/outputs share the request pixel budget. The native image guide documents GIF generation only and a different frame range; provider parity is not inferred." + "notes": "The generation schema lists GIF and SVG output; its edit schema lists GIF but no SVG. GIF frame_count is 2–16 and frame_duration_ms is 20–2,000, rounded to 10 ms. All GIF frames/outputs share the request pixel budget. Native API GIF access is preview-gated; provider access and parameter parity are not inferred." }, { "source_url": "https://developers.openai.com/api/docs/guides/image-generation", @@ -13784,14 +13784,15 @@ "id": "v1/images/edits", "input": "image", "interface": "images.edits", - "source_url": "https://developers.openai.com/api/docs/guides/image-generation", + "source_url": "https://developers.openai.com/api/reference/resources/images/methods/edit", "parameters": { "output_format": { "type": "string", "enum": [ "png", "jpeg", - "webp" + "webp", + "gif" ] }, "complexity": { @@ -13801,6 +13802,16 @@ "medium", "high" ] + }, + "frame_count": { + "type": "integer", + "minimum": 2, + "maximum": 16 + }, + "frame_duration_ms": { + "type": "integer", + "minimum": 20, + "maximum": 2000 } } } @@ -13808,15 +13819,15 @@ "qualifications": [ { "source_url": "https://developers.openai.com/api/docs/guides/image-generation", - "notes": "GIF output is generation-only; the native guide does not support GIF output on edits. SVG output is generated through a separately billed authoring model. Raster token pricing does not include those authoring-model tokens." + "notes": "The native guide documents GIF output on generation and editing, with still images accepted as edit references. SVG output is generation-only and uses a separately billed authoring model; raster prices do not include those authoring-model tokens." }, { "source_url": "https://developers.openai.com/api/reference/resources/images/methods/generate", "notes": "Transparent backgrounds require PNG or WebP output. A listed GIF or SVG format does not establish transparent-background support for that format." }, { - "source_url": "https://developers.openai.com/api/reference/resources/images/methods/generate", - "notes": "The exact generation API reference limits frame_count to 2–16. The model-specific image guide describes 2–64; this binding records the narrower API-reference maximum rather than treating the two sources as equivalent." + "source_url": "https://developers.openai.com/api/reference/resources/images/methods/edit", + "notes": "GIF output requires access to the selected model's GIF preview. Both native endpoints and the image guide list 2–16 frames. GIF output cannot be combined with masks, streaming, partial images or custom output compression. The guide documents 20–2,000 ms frame durations; the API reference describes encoded-delay behavior separately." } ], "pricing": { @@ -14302,7 +14313,7 @@ "qualifications": [ { "source_url": "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image/api", - "notes": "The generation schema lists GIF and SVG output; its edit schema lists GIF but no SVG. GIF frame_count is 2–16 and frame_duration_ms is 20–2,000, rounded to 10 ms. All GIF frames/outputs share the request pixel budget. The native image guide documents GIF generation only and a different frame range; provider parity is not inferred." + "notes": "The generation schema lists GIF and SVG output; its edit schema lists GIF but no SVG. GIF frame_count is 2–16 and frame_duration_ms is 20–2,000, rounded to 10 ms. All GIF frames/outputs share the request pixel budget. Native API GIF access is preview-gated; provider access and parameter parity are not inferred." }, { "source_url": "https://developers.openai.com/api/docs/guides/image-generation", @@ -14371,14 +14382,15 @@ "id": "v1/images/edits", "input": "image", "interface": "images.edits", - "source_url": "https://developers.openai.com/api/docs/guides/image-generation", + "source_url": "https://developers.openai.com/api/reference/resources/images/methods/edit", "parameters": { "output_format": { "type": "string", "enum": [ "png", "jpeg", - "webp" + "webp", + "gif" ] }, "complexity": { @@ -14388,6 +14400,16 @@ "medium", "high" ] + }, + "frame_count": { + "type": "integer", + "minimum": 2, + "maximum": 16 + }, + "frame_duration_ms": { + "type": "integer", + "minimum": 20, + "maximum": 2000 } } } @@ -14395,15 +14417,15 @@ "qualifications": [ { "source_url": "https://developers.openai.com/api/docs/guides/image-generation", - "notes": "GIF output is generation-only; the native guide does not support GIF output on edits. SVG output is generated through a separately billed authoring model. Raster token pricing does not include those authoring-model tokens." + "notes": "The native guide documents GIF output on generation and editing, with still images accepted as edit references. SVG output is generation-only and uses a separately billed authoring model; raster prices do not include those authoring-model tokens." }, { "source_url": "https://developers.openai.com/api/reference/resources/images/methods/generate", "notes": "Transparent backgrounds require PNG or WebP output. A listed GIF or SVG format does not establish transparent-background support for that format." }, { - "source_url": "https://developers.openai.com/api/reference/resources/images/methods/generate", - "notes": "The exact generation API reference limits frame_count to 2–16. The model-specific image guide describes 2–64; this binding records the narrower API-reference maximum rather than treating the two sources as equivalent." + "source_url": "https://developers.openai.com/api/reference/resources/images/methods/edit", + "notes": "GIF output requires access to the selected model's GIF preview. Both native endpoints and the image guide list 2–16 frames. GIF output cannot be combined with masks, streaming, partial images or custom output compression. The guide documents 20–2,000 ms frame durations; the API reference describes encoded-delay behavior separately." } ], "pricing": { diff --git a/models/openai/gpt-image-2.6-flare/card.toml b/models/openai/gpt-image-2.6-flare/card.toml index e62f7a5..fd760b6 100644 --- a/models/openai/gpt-image-2.6-flare/card.toml +++ b/models/openai/gpt-image-2.6-flare/card.toml @@ -111,7 +111,7 @@ id = "openai/gpt-image-2.6/flare/text-to-image" url = "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image" source_url = "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image/api" qualifications = [ - { source_url = "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image/api", notes = "The generation schema lists GIF and SVG output; its edit schema lists GIF but no SVG. GIF frame_count is 2–16 and frame_duration_ms is 20–2,000, rounded to 10 ms. All GIF frames/outputs share the request pixel budget. The native image guide documents GIF generation only and a different frame range; provider parity is not inferred." }, + { source_url = "https://fal.ai/models/openai/gpt-image-2.6/flare/text-to-image/api", notes = "The generation schema lists GIF and SVG output; its edit schema lists GIF but no SVG. GIF frame_count is 2–16 and frame_duration_ms is 20–2,000, rounded to 10 ms. All GIF frames/outputs share the request pixel budget. Native API GIF access is preview-gated; provider access and parameter parity are not inferred." }, { source_url = "https://developers.openai.com/api/docs/guides/image-generation", notes = "SVG output includes separate authoring-model token charges and is not priced as raster output alone. Complexity has no separate fee." }, ] @@ -147,20 +147,21 @@ endpoints = [ "medium", "high", ] }, frame_count = { type = "integer", minimum = 2, maximum = 16 }, frame_duration_ms = { type = "integer", minimum = 20, maximum = 2000 } } }, - { id = "v1/images/edits", input = "image", interface = "images.edits", source_url = "https://developers.openai.com/api/docs/guides/image-generation", parameters = { output_format = { type = "string", enum = [ + { id = "v1/images/edits", input = "image", interface = "images.edits", source_url = "https://developers.openai.com/api/reference/resources/images/methods/edit", parameters = { output_format = { type = "string", enum = [ "png", "jpeg", "webp", + "gif", ] }, complexity = { type = "string", enum = [ "low", "medium", "high", - ] } } }, + ] }, frame_count = { type = "integer", minimum = 2, maximum = 16 }, frame_duration_ms = { type = "integer", minimum = 20, maximum = 2000 } } }, ] qualifications = [ - { source_url = "https://developers.openai.com/api/docs/guides/image-generation", notes = "GIF output is generation-only; the native guide does not support GIF output on edits. SVG output is generated through a separately billed authoring model. Raster token pricing does not include those authoring-model tokens." }, + { source_url = "https://developers.openai.com/api/docs/guides/image-generation", notes = "The native guide documents GIF output on generation and editing, with still images accepted as edit references. SVG output is generation-only and uses a separately billed authoring model; raster prices do not include those authoring-model tokens." }, { source_url = "https://developers.openai.com/api/reference/resources/images/methods/generate", notes = "Transparent backgrounds require PNG or WebP output. A listed GIF or SVG format does not establish transparent-background support for that format." }, - { source_url = "https://developers.openai.com/api/reference/resources/images/methods/generate", notes = "The exact generation API reference limits frame_count to 2–16. The model-specific image guide describes 2–64; this binding records the narrower API-reference maximum rather than treating the two sources as equivalent." }, + { source_url = "https://developers.openai.com/api/reference/resources/images/methods/edit", notes = "GIF output requires access to the selected model's GIF preview. Both native endpoints and the image guide list 2–16 frames. GIF output cannot be combined with masks, streaming, partial images or custom output compression. The guide documents 20–2,000 ms frame durations; the API reference describes encoded-delay behavior separately." }, ] [providers.openai.pricing] diff --git a/models/openai/gpt-image-2.6-sunburst/card.toml b/models/openai/gpt-image-2.6-sunburst/card.toml index e7eb78b..bae8c45 100644 --- a/models/openai/gpt-image-2.6-sunburst/card.toml +++ b/models/openai/gpt-image-2.6-sunburst/card.toml @@ -111,7 +111,7 @@ id = "openai/gpt-image-2.6/sunburst/text-to-image" url = "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image" source_url = "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image/api" qualifications = [ - { source_url = "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image/api", notes = "The generation schema lists GIF and SVG output; its edit schema lists GIF but no SVG. GIF frame_count is 2–16 and frame_duration_ms is 20–2,000, rounded to 10 ms. All GIF frames/outputs share the request pixel budget. The native image guide documents GIF generation only and a different frame range; provider parity is not inferred." }, + { source_url = "https://fal.ai/models/openai/gpt-image-2.6/sunburst/text-to-image/api", notes = "The generation schema lists GIF and SVG output; its edit schema lists GIF but no SVG. GIF frame_count is 2–16 and frame_duration_ms is 20–2,000, rounded to 10 ms. All GIF frames/outputs share the request pixel budget. Native API GIF access is preview-gated; provider access and parameter parity are not inferred." }, { source_url = "https://developers.openai.com/api/docs/guides/image-generation", notes = "SVG output includes separate authoring-model token charges and is not priced as raster output alone. Complexity has no separate fee." }, ] @@ -147,20 +147,21 @@ endpoints = [ "medium", "high", ] }, frame_count = { type = "integer", minimum = 2, maximum = 16 }, frame_duration_ms = { type = "integer", minimum = 20, maximum = 2000 } } }, - { id = "v1/images/edits", input = "image", interface = "images.edits", source_url = "https://developers.openai.com/api/docs/guides/image-generation", parameters = { output_format = { type = "string", enum = [ + { id = "v1/images/edits", input = "image", interface = "images.edits", source_url = "https://developers.openai.com/api/reference/resources/images/methods/edit", parameters = { output_format = { type = "string", enum = [ "png", "jpeg", "webp", + "gif", ] }, complexity = { type = "string", enum = [ "low", "medium", "high", - ] } } }, + ] }, frame_count = { type = "integer", minimum = 2, maximum = 16 }, frame_duration_ms = { type = "integer", minimum = 20, maximum = 2000 } } }, ] qualifications = [ - { source_url = "https://developers.openai.com/api/docs/guides/image-generation", notes = "GIF output is generation-only; the native guide does not support GIF output on edits. SVG output is generated through a separately billed authoring model. Raster token pricing does not include those authoring-model tokens." }, + { source_url = "https://developers.openai.com/api/docs/guides/image-generation", notes = "The native guide documents GIF output on generation and editing, with still images accepted as edit references. SVG output is generation-only and uses a separately billed authoring model; raster prices do not include those authoring-model tokens." }, { source_url = "https://developers.openai.com/api/reference/resources/images/methods/generate", notes = "Transparent backgrounds require PNG or WebP output. A listed GIF or SVG format does not establish transparent-background support for that format." }, - { source_url = "https://developers.openai.com/api/reference/resources/images/methods/generate", notes = "The exact generation API reference limits frame_count to 2–16. The model-specific image guide describes 2–64; this binding records the narrower API-reference maximum rather than treating the two sources as equivalent." }, + { source_url = "https://developers.openai.com/api/reference/resources/images/methods/edit", notes = "GIF output requires access to the selected model's GIF preview. Both native endpoints and the image guide list 2–16 frames. GIF output cannot be combined with masks, streaming, partial images or custom output compression. The guide documents 20–2,000 ms frame durations; the API reference describes encoded-delay behavior separately." }, ] [providers.openai.pricing]