diff --git a/catalogue/PROVENANCE.md b/catalogue/PROVENANCE.md index 9803180..1e77e66 100644 --- a/catalogue/PROVENANCE.md +++ b/catalogue/PROVENANCE.md @@ -1282,3 +1282,132 @@ 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, 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. + +- 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/api/reference/resources/images/methods/generate +- https://developers.openai.com/_astro/GptImageTokenCalculator.react.SM_UvXcs.js + +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 +- 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` + +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 +- 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 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. + +- 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 +- https://fal.ai/models/blackforestlabs/flux-3/edit-image/api diff --git a/catalogue/models.json b/catalogue/models.json index 0e2c2e5..30c50be 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,555 @@ "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 - }, + "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://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://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://fal.ai/models/alibaba/qwen-image-3/text-to-image" - }, - "references": { - "id": "alibaba/qwen-image-3/edit", - "max": 3 - }, - "qualifications": [ { - "source_url": "https://fal.ai/models/alibaba/qwen-image-3/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": { - "type": "integer" + "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 +7322,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 +7348,7 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.07" + "usd_per_unit": "0.01" } ] } @@ -7128,96 +7358,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 +7457,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 +7500,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 +7519,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 +7560,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 +7579,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 +7603,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 +7629,7 @@ "quantity_rounding": { "mode": "none" }, - "usd_per_unit": "0.03" + "usd_per_unit": "0.07" } ] } @@ -7418,7 +7640,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 +7648,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 +7660,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 +7937,342 @@ }, "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 + "reference_provider": "bfl", + "label": "FLUX 3 Image", + "short_description": "Image generation and editing with up to ten reference images.", + "release": { + "date": "2026-10-05", + "basis": "provider_endpoint", + "source_url": "https://vercel.com/ai-gateway/models/flux-3-image" }, "pricing": { - "type": "per_image_flat", - "usd": 0.04 - }, - "avg_cost_usd": 0.04, - "release": { - "date": "2024-10-02", - "basis": "model", - "source_url": "https://bfl.ai/blog/24-10-02-flux" + "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. 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": [ + "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,68 +8280,309 @@ }, "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.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" + } + } + }, + "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" + }, + "bfl": { + "disposition": "listed", + "source_url": "https://docs.bfl.ai/quick_start/pricing" + } + }, + "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.", + "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, + "release": { + "date": "2024-10-02", + "basis": "model", + "source_url": "https://bfl.ai/blog/24-10-02-flux" + }, + "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", + "pricing": { + "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", @@ -10592,35 +11367,1302 @@ }, "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": "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/gpt-image-1.5" + }, + "openai": { + "disposition": "listed", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-1.5" + } + }, + "styles": null, + "constraints": null + }, + "openai/gpt-image-2": { + "reference_provider": "openai", + "id": "openai/gpt-image-2", + "label": "GPT Image 2", + "short_description": "Previous-generation image model. Superseded by GPT Image 2.5.", + "vendor": "openai", + "transparent_background": true, + "speed_label": "medium", + "speed_max": "1m", + "sizes": [ + [ + 1024, + 1024, + "1:1" + ], + [ + 1024, + 1536, + "2:3" + ], + [ + 1536, + 1024, + "3:2" + ] + ], + "avg_cost_usd": 0.053, + "release": { + "date": "2026-04-21", + "basis": "model", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2" + }, + "providers": { + "vercel": { + "provider": "vercel", + "id": "openai/gpt-image-2", + "pricing": { + "type": "per_token", + "input": 5, + "output": 30 + }, + "avg_cost_usd": 0.053, + "transparent_background": null + }, + "fal": { + "endpoints": [ + { + "id": "openai/gpt-image-2", + "input": "text", + "source_url": "https://fal.ai/models/openai/gpt-image-2/api", + "parameters": { + "prompt": { + "type": "string", + "min_length": 2, + "max_length": 32000 + }, + "num_images": { + "type": "integer", + "minimum": 1, + "maximum": 4 + }, + "quality": { + "type": "string", + "enum": [ + "auto", + "low", + "medium", + "high" + ] + }, + "background": { + "type": "string", + "enum": [ + "auto", + "transparent", + "opaque" + ] + }, + "output_format": { + "type": "string", + "enum": [ + "jpeg", + "png", + "webp" + ] + }, + "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/edit", + "input": "image", + "source_url": "https://fal.ai/models/openai/gpt-image-2/edit/api", + "parameters": { + "prompt": { + "type": "string", + "min_length": 2, + "max_length": 32000 + }, + "num_images": { + "type": "integer", + "minimum": 1, + "maximum": 4 + }, + "quality": { + "type": "string", + "enum": [ + "auto", + "low", + "medium", + "high" + ] + }, + "background": { + "type": "string", + "enum": [ + "auto", + "transparent", + "opaque" + ] + }, + "output_format": { + "type": "string", + "enum": [ + "jpeg", + "png", + "webp" + ] + }, + "image_urls": { + "type": "array", + "max_items": 16 + }, + "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", + "avg_cost_usd": 0.053, + "url": "https://fal.ai/models/openai/gpt-image-2", + "pricing": { + "source_url": "https://fal.ai/models/openai/gpt-image-2", + "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", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2", + "url": "https://developers.openai.com/api/docs/models/gpt-image-2", + "pricing": { + "input": 5, + "cached_input": 1.25, + "image_input": 8, + "cached_image_input": 2, + "output": 30, + "type": "per_token", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2" + } + }, + "openrouter": { + "provider": "openrouter", + "id": "openai/gpt-image-2", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2/endpoints", + "url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2/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/endpoints" + }, + "transparent_background": false, + "references": { + "id": "openai/gpt-image-2", + "max": 16 + }, + "endpoints": [ + { + "id": "openai/gpt-image-2", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2/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" + ] + }, + "background": { + "enum": [ + "auto", + "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", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "image.openai.gpt-image-2.references", + "operation": "image.openai.gpt-image-2.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.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": "1" + } + ] + } + }, + { + "id": "image.openai.gpt-image-2.text", + "operation": "image.openai.gpt-image-2.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.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": "1" + } + ] + } + } + ] + } + }, + "constraints": { + "step": 16, + "max_edge": 3840, + "min_pixels": 655360, + "max_pixels": 8294400, + "aspect_ratio": { + "max": 3 + } + }, + "pricing": { + "type": "per_image_tiered", + "tiers": { + "low/1024x1024": 0.006, + "low/1024x1536": 0.005, + "low/1536x1024": 0.005, + "medium/1024x1024": 0.053, + "medium/1024x1536": 0.041, + "medium/1536x1024": 0.041, + "high/1024x1024": 0.211, + "high/1024x1536": 0.165, + "high/1536x1024": 0.165 + }, + "tokens": { + "input": 5, + "cached_input": 1.25, + "image_input": 8, + "cached_image_input": 2, + "output": 30 + } + }, + "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": 48, + "high": 96 + }, + "examples": [ + { + "width": 1024, + "height": 1024, + "quality": "low", + "output_tokens": 196, + "usd": 0.00588, + "usd_precision": 5, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + }, + { + "width": 1024, + "height": 1536, + "quality": "low", + "output_tokens": 158, + "usd": 0.00474, + "usd_precision": 5, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + }, + { + "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": 1024, + "height": 1024, + "quality": "medium", + "output_tokens": 1756, + "usd": 0.05268, + "usd_precision": 5, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + }, + { + "width": 1024, + "height": 1536, + "quality": "medium", + "output_tokens": 1372, + "usd": 0.04116, + "usd_precision": 5, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + }, + { + "width": 1536, + "height": 1024, + "quality": "medium", + "output_tokens": 1372, + "usd": 0.04116, + "usd_precision": 5, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + }, + { + "width": 1024, + "height": 1024, + "quality": "high", + "output_tokens": 7024, + "usd": 0.21072, + "usd_precision": 5, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + }, + { + "width": 1024, + "height": 1536, + "quality": "high", + "output_tokens": 5488, + "usd": 0.16464, + "usd_precision": 5, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + }, + { + "width": 1536, + "height": 1024, + "quality": "high", + "output_tokens": 5488, + "usd": 0.16464, + "usd_precision": 5, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + } + ] + }, + "provider_coverage": { + "openrouter": { + "disposition": "listed", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2/endpoints" + }, + "vercel": { + "disposition": "listed", + "source_url": "https://ai-gateway.vercel.sh/v1/models" + }, + "fal": { + "disposition": "listed", + "source_url": "https://fal.ai/models/openai/gpt-image-2" + }, + "openai": { + "disposition": "listed", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2" + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" + } + }, + "styles": null + }, + "openai/gpt-image-2.5-flare": { + "reference_provider": "openai", + "id": "openai/gpt-image-2.5-flare", + "label": "GPT Image 2.5 Flare", + "short_description": "Fast image generation and reference-guided editing.", + "vendor": "openai", + "transparent_background": true, + "speed_label": "fast", + "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-flare", + "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-flare" + }, + "fal": { + "endpoints": [ + { + "id": "openai/gpt-image-2.5/flare/edit", + "input": "image", + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/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/flare/text-to-image", + "input": "text", + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/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/flare/text-to-image", + "avg_cost_usd": 0.055, + "url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image", + "references": { + "id": "openai/gpt-image-2.5/flare/edit", + "max": 16 + }, + "pricing": { + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/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.5-flare", + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-flare", + "url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-flare", + "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-flare" + } + }, + "openrouter": { + "provider": "openrouter", + "id": "openai/gpt-image-2.5-flare", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-flare/endpoints", + "url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-flare/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-flare/endpoints" + }, + "transparent_background": true, + "references": { + "id": "openai/gpt-image-2.5-flare", + "max": 16 + }, + "endpoints": [ + { + "id": "openai/gpt-image-2.5-flare", + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-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 + } + }, + "input": "text" + } + ] + }, + "grida": { + "provider": "grida", + "id": "openai/gpt-image-2.5-flare", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "image.openai.gpt-image-2.5-flare.references", + "operation": "image.openai.gpt-image-2.5-flare.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-flare.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-flare.text", + "operation": "image.openai.gpt-image-2.5-flare.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-flare.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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/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://ai-gateway.vercel.sh/v1/models" + "source_url": "https://vercel.com/ai-gateway/models/gpt-image-2.5-flare" }, "fal": { "disposition": "listed", - "source_url": "https://fal.ai/models/fal-ai/gpt-image-1.5" + "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-1.5" + "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, - "constraints": null + "styles": null }, - "openai/gpt-image-2": { + "openai/gpt-image-2.5-sunburst": { "reference_provider": "openai", - "id": "openai/gpt-image-2", - "label": "GPT Image 2", - "short_description": "Previous-generation image model. Superseded by GPT Image 2.5.", + "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": "medium", - "speed_max": "1m", + "speed_label": "slow", + "speed_max": "varies", "sizes": [ [ 1024, @@ -10638,40 +12680,58 @@ "3:2" ] ], - "avg_cost_usd": 0.053, + "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-04-21", + "date": "2026-09-08", "basis": "model", - "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2" + "source_url": "https://openai.com/index/introducing-chatgpt-images-2-5/" }, "providers": { "vercel": { "provider": "vercel", - "id": "openai/gpt-image-2", + "id": "openai/gpt-image-2.5-sunburst", "pricing": { "type": "per_token", "input": 5, + "cached_input": 1.25, "output": 30 }, - "avg_cost_usd": 0.053, - "transparent_background": null + "avg_cost_usd": 0.055, + "url": "https://vercel.com/ai-gateway/models/gpt-image-2.5-sunburst" }, "fal": { "endpoints": [ { - "id": "openai/gpt-image-2", - "input": "text", - "source_url": "https://fal.ai/models/openai/gpt-image-2/api", + "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": 2, + "min_length": 1, "max_length": 32000 }, "num_images": { "type": "integer", "minimum": 1, - "maximum": 4 + "maximum": 10 }, "quality": { "type": "string", @@ -10679,7 +12739,9 @@ "auto", "low", "medium", - "high" + "high", + "xhigh", + "max" ] }, "background": { @@ -10698,6 +12760,15 @@ "webp" ] }, + "image_urls": { + "type": "array", + "max_items": 16 + }, + "output_compression": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, "image_size": { "enum": [ "square_hd", @@ -10733,19 +12804,19 @@ } }, { - "id": "openai/gpt-image-2/edit", - "input": "image", - "source_url": "https://fal.ai/models/openai/gpt-image-2/edit/api", + "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": 2, + "min_length": 1, "max_length": 32000 }, "num_images": { "type": "integer", "minimum": 1, - "maximum": 4 + "maximum": 10 }, "quality": { "type": "string", @@ -10753,7 +12824,9 @@ "auto", "low", "medium", - "high" + "high", + "xhigh", + "max" ] }, "background": { @@ -10772,9 +12845,10 @@ "webp" ] }, - "image_urls": { - "type": "array", - "max_items": 16 + "output_compression": { + "type": "integer", + "minimum": 0, + "maximum": 100 }, "image_size": { "enum": [ @@ -10812,11 +12886,15 @@ } ], "provider": "fal", - "id": "openai/gpt-image-2", - "avg_cost_usd": 0.053, - "url": "https://fal.ai/models/openai/gpt-image-2", + "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", + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image", "rounding_usd": 0.0001, "type": "per_token", "input": 5, @@ -10829,40 +12907,40 @@ }, "openai": { "provider": "openai", - "id": "gpt-image-2", - "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2", - "url": "https://developers.openai.com/api/docs/models/gpt-image-2", + "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, - "output": 30, - "type": "per_token", - "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2" + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-sunburst" } }, "openrouter": { "provider": "openrouter", - "id": "openai/gpt-image-2", - "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2/endpoints", - "url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2/endpoints", + "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/endpoints" + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-sunburst/endpoints" }, - "transparent_background": false, + "transparent_background": true, "references": { - "id": "openai/gpt-image-2", + "id": "openai/gpt-image-2.5-sunburst", "max": 16 }, "endpoints": [ { - "id": "openai/gpt-image-2", - "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2/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": [ @@ -10882,12 +12960,15 @@ "auto", "low", "medium", - "high" + "high", + "xhigh", + "max" ] }, "background": { "enum": [ "auto", + "transparent", "opaque" ] }, @@ -10913,16 +12994,16 @@ }, "grida": { "provider": "grida", - "id": "openai/gpt-image-2", + "id": "openai/gpt-image-2.5-sunburst", "url": "https://gateway.grida.ai/v1/models", "endpoints": [ { - "id": "image.openai.gpt-image-2.references", - "operation": "image.openai.gpt-image-2.references", + "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.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.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", @@ -10943,12 +13024,12 @@ } }, { - "id": "image.openai.gpt-image-2.text", - "operation": "image.openai.gpt-image-2.text", + "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.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.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", @@ -10980,27 +13061,6 @@ "max": 3 } }, - "pricing": { - "type": "per_image_tiered", - "tiers": { - "low/1024x1024": 0.006, - "low/1024x1536": 0.005, - "low/1536x1024": 0.005, - "medium/1024x1024": 0.053, - "medium/1024x1536": 0.041, - "medium/1536x1024": 0.041, - "high/1024x1024": 0.211, - "high/1024x1536": 0.165, - "high/1536x1024": 0.165 - }, - "tokens": { - "input": 5, - "cached_input": 1.25, - "image_input": 8, - "cached_image_input": 2, - "output": 30 - } - }, "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", @@ -11010,109 +13070,340 @@ "token_rounding": "ceil", "quality_axes": { "low": 16, - "medium": 48, - "high": 96 + "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": "low", - "output_tokens": 196, - "usd": 0.00588, + "quality": "medium", + "output_tokens": 439, + "usd": 0.01317, "usd_precision": 5, - "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + "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, + "quality": "medium", + "output_tokens": 343, + "usd": 0.01029, "usd_precision": 5, - "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + "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, + "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": "medium", + "quality": "high", "output_tokens": 1756, "usd": 0.05268, "usd_precision": 5, - "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" }, { "width": 1024, "height": 1536, - "quality": "medium", + "quality": "high", "output_tokens": 1372, "usd": 0.04116, "usd_precision": 5, - "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" }, { "width": 1536, "height": 1024, - "quality": "medium", + "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": "high", + "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://developers.openai.com/api/docs/guides/image-generation" + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" }, { "width": 1024, "height": 1536, - "quality": "high", + "quality": "max", "output_tokens": 5488, "usd": 0.16464, "usd_precision": 5, - "source_url": "https://developers.openai.com/api/docs/guides/image-generation" + "source_url": "https://fal.ai/models/openai/gpt-image-2.5/sunburst/text-to-image" }, { "width": 1536, "height": 1024, - "quality": "high", + "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/endpoints" + "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-sunburst/endpoints" }, "vercel": { "disposition": "listed", - "source_url": "https://ai-gateway.vercel.sh/v1/models" + "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" + "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" + "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-sunburst" }, "grida": { "disposition": "listed", @@ -11121,15 +13412,13 @@ }, "styles": null }, - "openai/gpt-image-2.5-flare": { + "openai/gpt-image-2.6-flare": { "reference_provider": "openai", - "id": "openai/gpt-image-2.5-flare", - "label": "GPT Image 2.5 Flare", - "short_description": "Fast image generation and reference-guided editing.", + "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, - "speed_label": "fast", - "speed_max": "varies", "sizes": [ [ 1024, @@ -11155,53 +13444,53 @@ "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-flare" }, - "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-flare", + "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 - }, - "avg_cost_usd": 0.055, - "url": "https://vercel.com/ai-gateway/models/gpt-image-2.5-flare" + } }, "fal": { - "endpoints": [ - { - "id": "openai/gpt-image-2.5/flare/edit", - "input": "image", - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/edit/api", + "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": { - "type": "string", + "max_length": 32000, "min_length": 1, - "max_length": 32000 + "type": "string" }, - "num_images": { - "type": "integer", - "minimum": 1, - "maximum": 10 + "sync_mode": { + "type": "boolean" }, "quality": { - "type": "string", "enum": [ "auto", "low", @@ -11209,32 +13498,34 @@ "high", "xhigh", "max" - ] + ], + "type": "string" + }, + "frame_duration_ms": { + "maximum": 2000, + "type": "integer", + "minimum": 20 + }, + "frame_count": { + "maximum": 16, + "type": "integer", + "minimum": 2 }, "background": { - "type": "string", "enum": [ "auto", "transparent", "opaque" - ] + ], + "type": "string" }, - "output_format": { - "type": "string", + "reasoning_effort": { "enum": [ - "jpeg", - "png", - "webp" - ] - }, - "image_urls": { - "type": "array", - "max_items": 16 - }, - "output_compression": { - "type": "integer", - "minimum": 0, - "maximum": 100 + "low", + "medium", + "high" + ], + "type": "string" }, "image_size": { "enum": [ @@ -11258,64 +13549,65 @@ "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": { - "min_pixels": 655360, - "max_pixels": 8294400, "step": 16, "max_edge": 3840, + "min_pixels": 655360, + "max_pixels": 8294400, "aspect_ratio": { "max": 3 } } }, { - "id": "openai/gpt-image-2.5/flare/text-to-image", - "input": "text", - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image/api", + "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": { - "type": "string", + "max_length": 32000, "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" - ] + "type": "string" }, - "output_format": { - "type": "string", - "enum": [ - "jpeg", - "png", - "webp" - ] + "sync_mode": { + "type": "boolean" }, - "output_compression": { + "frame_duration_ms": { + "maximum": 2000, "type": "integer", - "minimum": 0, - "maximum": 100 + "minimum": 20 }, "image_size": { "enum": [ @@ -11339,13 +13631,77 @@ "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": { - "min_pixels": 655360, - "max_pixels": 8294400, "step": 16, "max_edge": 3840, + "min_pixels": 655360, + "max_pixels": 8294400, "aspect_ratio": { "max": 3 } @@ -11353,15 +13709,25 @@ } ], "provider": "fal", - "id": "openai/gpt-image-2.5/flare/text-to-image", - "avg_cost_usd": 0.055, - "url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image", + "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. 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." + } + ], "references": { - "id": "openai/gpt-image-2.5/flare/edit", + "id": "openai/gpt-image-2.6/flare/edit", "max": 16 }, "pricing": { - "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", "rounding_usd": 0.0001, "type": "per_token", "input": 5, @@ -11374,520 +13740,283 @@ }, "openai": { "provider": "openai", - "id": "gpt-image-2.5-flare", - "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-flare", - "url": "https://developers.openai.com/api/docs/models/gpt-image-2.5-flare", - "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-flare" - } - }, - "openrouter": { - "provider": "openrouter", - "id": "openai/gpt-image-2.5-flare", - "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-flare/endpoints", - "url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-flare/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-flare/endpoints" - }, - "transparent_background": true, - "references": { - "id": "openai/gpt-image-2.5-flare", - "max": 16 - }, + "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": "openai/gpt-image-2.5-flare", - "source_url": "https://openrouter.ai/api/v1/images/models/openai/gpt-image-2.5-flare/endpoints", + "id": "v1/images/generations", + "input": "text", + "interface": "images.generations", + "source_url": "https://developers.openai.com/api/docs/guides/image-generation", "parameters": { - "aspect_ratio": { + "output_format": { + "type": "string", "enum": [ - "1:1", - "3:2", - "2:3", - "4:3", - "3:4", - "16:9", - "9:16", - "21:9", - "auto" + "png", + "jpeg", + "webp", + "gif", + "svg" + ] + }, + "complexity": { + "type": "string", + "enum": [ + "low", + "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/reference/resources/images/methods/edit", + "parameters": { + "output_format": { + "type": "string", + "enum": [ + "png", + "jpeg", + "webp", + "gif" ] }, - "quality": { + "complexity": { + "type": "string", "enum": [ - "auto", "low", "medium", - "high", - "xhigh", - "max" - ] - }, - "background": { - "enum": [ - "auto", - "transparent", - "opaque" + "high" ] }, - "n": { - "type": "integer", - "minimum": 1, - "maximum": 10 - }, - "input_references": { + "frame_count": { "type": "integer", - "minimum": 0, + "minimum": 2, "maximum": 16 }, - "output_compression": { + "frame_duration_ms": { "type": "integer", - "minimum": 0, - "maximum": 100 + "minimum": 20, + "maximum": 2000 } - }, - "input": "text" - } - ] - }, - "grida": { - "provider": "grida", - "id": "openai/gpt-image-2.5-flare", - "url": "https://gateway.grida.ai/v1/models", - "endpoints": [ - { - "id": "image.openai.gpt-image-2.5-flare.references", - "operation": "image.openai.gpt-image-2.5-flare.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-flare.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-flare.text", - "operation": "image.openai.gpt-image-2.5-flare.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-flare.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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/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/flare/text-to-image" + } + ], + "qualifications": [ + { + "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/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": { + "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": "high", - "output_tokens": 1372, - "usd": 0.04116, - "usd_precision": 5, - "source_url": "https://fal.ai/models/openai/gpt-image-2.5/flare/text-to-image" - }, - { - "width": 1536, "height": 1024, - "quality": "high", - "output_tokens": 1372, - "usd": 0.04116, - "usd_precision": 5, + "quality": "low", + "output_tokens": 823, "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/flare/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/flare/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/flare/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/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, + "quality": "medium", + "output_tokens": 1449, "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" + "height": 1024, + "quality": "high", + "output_tokens": 1756, + "source_url": "https://developers.openai.com/api/docs/guides/image-generation" }, { - "width": 3840, - "height": 2160, + "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": 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 +14042,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 +14099,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 +14173,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,29 +14249,83 @@ "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 } } } ], - "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", + "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. 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." + } + ], "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 +14338,96 @@ }, "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": 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/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": "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/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": { "type": "per_token", "input": 5, @@ -12142,30 +14435,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 +14493,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..269f2b4 --- /dev/null +++ b/models/black-forest-labs/flux-3-image/card.toml @@ -0,0 +1,179 @@ +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-05" +basis = "provider_endpoint" +source_url = "https://vercel.com/ai-gateway/models/flux-3-image" + +[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. 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 = [ + "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..d1e5e9f --- /dev/null +++ b/models/openai/gpt-6.1-terra/card.toml @@ -0,0 +1,185 @@ +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 = "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." }, +] +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..fd760b6 --- /dev/null +++ b/models/openai/gpt-image-2.6-flare/card.toml @@ -0,0 +1,277 @@ +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. 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." }, +] + +[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 = 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/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 = "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/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] +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..bae8c45 --- /dev/null +++ b/models/openai/gpt-image-2.6-sunburst/card.toml @@ -0,0 +1,277 @@ +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. 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." }, +] + +[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 = 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/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 = "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/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] +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"