diff --git a/catalogue/PROVENANCE.md b/catalogue/PROVENANCE.md index 1e77e66..f4d9d5c 100644 --- a/catalogue/PROVENANCE.md +++ b/catalogue/PROVENANCE.md @@ -1411,3 +1411,21 @@ and omits `1.5k`. The exact endpoint schema supplies the fal parameter list. - 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 + +## Grida family-model discovery — 2026-11-06 + +Authenticated [Grida model discovery](https://gateway.grida.ai/v1/models) and +[public operation schemas](https://gateway.grida.ai/schemas/operations.json) +confirm GPT-6.1 Terra, Gemini 4 Argon, Claude Opus 5.5, Claude Sonnet 5.5 and +Claude Haiku 5.5, plus generation and editing for GPT Image 2.6 Flare, +GPT Image 2.6 Sunburst and FLUX 3 Image. + +Each binding preserves Grida's advertised capabilities, limits, operation IDs, +request/result schema URLs and USD price components. GPT-6.1 Terra is text-only +on this service; tool calling is available through Responses, not Chat +Completions. GPT Image 2.6 supports GIF generation with 2–16 frames; editing +returns static images. FLUX 3 Image is offered at `1k` with one output per +request. The linked schemas and [API reference](https://gateway.grida.ai/llms.txt) +provide the exact request restrictions. These are Grida's published service +contracts, not claims of parameter or pricing parity with another provider. +Native release dates and other providers' facts remain unchanged. diff --git a/catalogue/models.json b/catalogue/models.json index 30c50be..201ae5b 100644 --- a/catalogue/models.json +++ b/catalogue/models.json @@ -744,6 +744,129 @@ "context_tokens": 1000000, "max_output_tokens": 128000 } + }, + "grida": { + "provider": "grida", + "id": "anthropic/claude-haiku-5.5", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "anthropic/claude-haiku-5.5", + "input": "text", + "source_url": "https://gateway.grida.ai/v1/models", + "published_pricing": { + "source_url": "https://gateway.grida.ai/v1/models", + "currency": "USD", + "components": [ + { + "id": "input_tokens.0", + "meter": "input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "quantity_range": { + "meter": "total_input_tokens", + "min": "0", + "max": "100001" + }, + "usd_per_unit": "0.0000001" + }, + { + "id": "input_tokens.1", + "meter": "input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "quantity_range": { + "meter": "total_input_tokens", + "min": "100001" + }, + "usd_per_unit": "0.0000005" + }, + { + "id": "cached_input_tokens.0", + "meter": "cached_input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "quantity_range": { + "meter": "total_input_tokens", + "min": "0", + "max": "100001" + }, + "usd_per_unit": "0.00000001" + }, + { + "id": "cached_input_tokens.1", + "meter": "cached_input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "quantity_range": { + "meter": "total_input_tokens", + "min": "100001" + }, + "usd_per_unit": "0.00000005" + }, + { + "id": "output_tokens.0", + "meter": "output_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "quantity_range": { + "meter": "total_input_tokens", + "min": "0", + "max": "100001" + }, + "usd_per_unit": "0.0000005" + }, + { + "id": "output_tokens.1", + "meter": "output_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "quantity_range": { + "meter": "total_input_tokens", + "min": "100001" + }, + "usd_per_unit": "0.0000025" + } + ] + } + } + ], + "capabilities": { + "source_url": "https://gateway.grida.ai/v1/models", + "image_input": true, + "tools": true, + "reasoning": true, + "structured_output": true + }, + "limits": { + "source_url": "https://gateway.grida.ai/v1/models", + "context_tokens": 1000000, + "max_output_tokens": 128000 + } } }, "vision_tokenization": { @@ -771,6 +894,10 @@ "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." + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } } }, @@ -1352,6 +1479,69 @@ "context_tokens": 1000000, "max_output_tokens": 128000 } + }, + "grida": { + "provider": "grida", + "id": "anthropic/claude-opus-5.5", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "anthropic/claude-opus-5.5", + "input": "text", + "source_url": "https://gateway.grida.ai/v1/models", + "published_pricing": { + "source_url": "https://gateway.grida.ai/v1/models", + "currency": "USD", + "components": [ + { + "id": "input_tokens", + "meter": "input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.000004" + }, + { + "id": "cached_input_tokens", + "meter": "cached_input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.0000002" + }, + { + "id": "output_tokens", + "meter": "output_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.00002" + } + ] + } + } + ], + "capabilities": { + "source_url": "https://gateway.grida.ai/v1/models", + "image_input": true, + "tools": true, + "reasoning": true, + "structured_output": true + }, + "limits": { + "source_url": "https://gateway.grida.ai/v1/models", + "context_tokens": 1000000, + "max_output_tokens": 128000 + } } }, "vision_tokenization": { @@ -1379,6 +1569,10 @@ "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." + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } } }, @@ -1735,6 +1929,69 @@ "context_tokens": 1000000, "max_output_tokens": 128000 } + }, + "grida": { + "provider": "grida", + "id": "anthropic/claude-sonnet-5.5", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "anthropic/claude-sonnet-5.5", + "input": "text", + "source_url": "https://gateway.grida.ai/v1/models", + "published_pricing": { + "source_url": "https://gateway.grida.ai/v1/models", + "currency": "USD", + "components": [ + { + "id": "input_tokens", + "meter": "input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.000002" + }, + { + "id": "cached_input_tokens", + "meter": "cached_input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.0000001" + }, + { + "id": "output_tokens", + "meter": "output_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.00001" + } + ] + } + } + ], + "capabilities": { + "source_url": "https://gateway.grida.ai/v1/models", + "image_input": true, + "tools": true, + "reasoning": true, + "structured_output": true + }, + "limits": { + "source_url": "https://gateway.grida.ai/v1/models", + "context_tokens": 1000000, + "max_output_tokens": 128000 + } } }, "vision_tokenization": { @@ -1762,6 +2019,10 @@ "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." + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } } }, @@ -2763,6 +3024,69 @@ "reasoning": true, "structured_output": true } + }, + "grida": { + "provider": "grida", + "id": "google/gemini-4-argon", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "google/gemini-4-argon", + "input": "text", + "source_url": "https://gateway.grida.ai/v1/models", + "published_pricing": { + "source_url": "https://gateway.grida.ai/v1/models", + "currency": "USD", + "components": [ + { + "id": "input_tokens", + "meter": "input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.000004" + }, + { + "id": "cached_input_tokens", + "meter": "cached_input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.0000002" + }, + { + "id": "output_tokens", + "meter": "output_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.00002" + } + ] + } + } + ], + "capabilities": { + "source_url": "https://gateway.grida.ai/v1/models", + "image_input": true, + "tools": true, + "reasoning": true, + "structured_output": true + }, + "limits": { + "source_url": "https://gateway.grida.ai/v1/models", + "context_tokens": 1000000, + "max_output_tokens": 65536 + } } }, "provider_coverage": { @@ -2782,6 +3106,10 @@ "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." + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } } }, @@ -7009,71 +7337,225 @@ "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" - } - ] - }, + "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 + } + }, + "grida": { + "provider": "grida", + "id": "openai/gpt-6.1-terra", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "openai/gpt-6.1-terra", + "input": "text", + "source_url": "https://gateway.grida.ai/v1/models", + "published_pricing": { + "source_url": "https://gateway.grida.ai/v1/models", + "currency": "USD", + "components": [ + { + "id": "input_tokens.0", + "meter": "input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "quantity_range": { + "meter": "total_input_tokens", + "min": "0", + "max": "272001" + }, + "usd_per_unit": "0.000001" + }, + { + "id": "input_tokens.1", + "meter": "input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "quantity_range": { + "meter": "total_input_tokens", + "min": "272001" + }, + "usd_per_unit": "0.000002" + }, + { + "id": "cached_input_tokens.0", + "meter": "cached_input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "quantity_range": { + "meter": "total_input_tokens", + "min": "0", + "max": "272001" + }, + "usd_per_unit": "0.00000005" + }, + { + "id": "cached_input_tokens.1", + "meter": "cached_input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "quantity_range": { + "meter": "total_input_tokens", + "min": "272001" + }, + "usd_per_unit": "0.0000001" + }, + { + "id": "output_tokens.0", + "meter": "output_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "quantity_range": { + "meter": "total_input_tokens", + "min": "0", + "max": "272001" + }, + "usd_per_unit": "0.000005" + }, + { + "id": "output_tokens.1", + "meter": "output_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "quantity_range": { + "meter": "total_input_tokens", + "min": "272001" + }, + "usd_per_unit": "0.0000075" + }, + { + "id": "cache_write_tokens.0", + "meter": "cache_write_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "quantity_range": { + "meter": "total_input_tokens", + "min": "0", + "max": "272001" + }, + "usd_per_unit": "0.00000125" + }, + { + "id": "cache_write_tokens.1", + "meter": "cache_write_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "quantity_range": { + "meter": "total_input_tokens", + "min": "272001" + }, + "usd_per_unit": "0.0000025" + } + ] + } + } + ], "capabilities": { - "source_url": "https://vercel.com/ai-gateway/models/gpt-6.1-terra", - "image_input": true, + "source_url": "https://gateway.grida.ai/v1/models", + "image_input": false, "tools": true, "reasoning": true, - "structured_output": true, - "streaming": true + "structured_output": true }, "limits": { - "source_url": "https://vercel.com/ai-gateway/models/gpt-6.1-terra", + "source_url": "https://gateway.grida.ai/v1/models", "context_tokens": 1050000, "max_output_tokens": 128000 } @@ -7096,6 +7578,10 @@ "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." + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } } } @@ -8194,6 +8680,65 @@ "usd": 0.048, "source_url": "https://fal.ai/models/blackforestlabs/flux-3/text-to-image" } + }, + "grida": { + "provider": "grida", + "id": "bfl/flux-3-image", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "image.bfl.flux-3-image.text", + "operation": "image.bfl.flux-3-image.text", + "input": "text", + "source_url": "https://gateway.grida.ai/schemas/operations.json", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.bfl.flux-3-image.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.048" + } + ] + } + }, + { + "id": "image.bfl.flux-3-image.references", + "operation": "image.bfl.flux-3-image.references", + "input": "multi_image", + "source_url": "https://gateway.grida.ai/schemas/operations.json", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.bfl.flux-3-image.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.048" + } + ] + } + } + ] } }, "provider_coverage": { @@ -8212,6 +8757,10 @@ "fal": { "disposition": "listed", "source_url": "https://fal.ai/models/blackforestlabs/flux-3/text-to-image/api" + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } } }, @@ -13919,6 +14468,65 @@ "id": "openai/gpt-image-2.6-flare", "max": 16 } + }, + "grida": { + "provider": "grida", + "id": "openai/gpt-image-2.6-flare", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "image.openai.gpt-image-2.6-flare.text", + "operation": "image.openai.gpt-image-2.6-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.6-flare.text.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/Image26Response_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" + } + ] + } + }, + { + "id": "image.openai.gpt-image-2.6-flare.references", + "operation": "image.openai.gpt-image-2.6-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.6-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" + } + ] + } + } + ] } }, "constraints": { @@ -14006,6 +14614,10 @@ "openai": { "disposition": "listed", "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.6-flare" + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } }, "styles": null @@ -14517,6 +15129,65 @@ "id": "openai/gpt-image-2.6-sunburst", "max": 16 } + }, + "grida": { + "provider": "grida", + "id": "openai/gpt-image-2.6-sunburst", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "image.openai.gpt-image-2.6-sunburst.text", + "operation": "image.openai.gpt-image-2.6-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.6-sunburst.text.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/Image26Response_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" + } + ] + } + }, + { + "id": "image.openai.gpt-image-2.6-sunburst.references", + "operation": "image.openai.gpt-image-2.6-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.6-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" + } + ] + } + } + ] } }, "constraints": { @@ -14604,6 +15275,10 @@ "openai": { "disposition": "listed", "source_url": "https://developers.openai.com/api/docs/models/gpt-image-2.6-sunburst" + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } }, "styles": null diff --git a/models/anthropic/claude-haiku-5.5/card.toml b/models/anthropic/claude-haiku-5.5/card.toml index bfb535d..bc205a8 100644 --- a/models/anthropic/claude-haiku-5.5/card.toml +++ b/models/anthropic/claude-haiku-5.5/card.toml @@ -174,3 +174,24 @@ source_url = "https://openrouter.ai/anthropic/claude-haiku-5.5" 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." + +[providers.grida] +provider = "grida" +id = "anthropic/claude-haiku-5.5" +url = "https://gateway.grida.ai/v1/models" +endpoints = [ + { "id" = "anthropic/claude-haiku-5.5", "input" = "text", "source_url" = "https://gateway.grida.ai/v1/models", "published_pricing" = { "source_url" = "https://gateway.grida.ai/v1/models", "currency" = "USD", "components" = [ + { "id" = "input_tokens.0", "meter" = "input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "0", "max" = "100001" }, "usd_per_unit" = "0.0000001" }, + { "id" = "input_tokens.1", "meter" = "input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "100001" }, "usd_per_unit" = "0.0000005" }, + { "id" = "cached_input_tokens.0", "meter" = "cached_input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "0", "max" = "100001" }, "usd_per_unit" = "0.00000001" }, + { "id" = "cached_input_tokens.1", "meter" = "cached_input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "100001" }, "usd_per_unit" = "0.00000005" }, + { "id" = "output_tokens.0", "meter" = "output_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "0", "max" = "100001" }, "usd_per_unit" = "0.0000005" }, + { "id" = "output_tokens.1", "meter" = "output_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "100001" }, "usd_per_unit" = "0.0000025" }, + ] } }, +] +capabilities = { "source_url" = "https://gateway.grida.ai/v1/models", "image_input" = true, "tools" = true, "reasoning" = true, "structured_output" = true } +limits = { "source_url" = "https://gateway.grida.ai/v1/models", "context_tokens" = 1000000, "max_output_tokens" = 128000 } + +[provider_coverage.grida] +disposition = "listed" +source_url = "https://gateway.grida.ai/v1/models" diff --git a/models/anthropic/claude-opus-5.5/card.toml b/models/anthropic/claude-opus-5.5/card.toml index 776c1e6..ec0e091 100644 --- a/models/anthropic/claude-opus-5.5/card.toml +++ b/models/anthropic/claude-opus-5.5/card.toml @@ -128,3 +128,21 @@ source_url = "https://openrouter.ai/anthropic/claude-opus-5.5" 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." + +[providers.grida] +provider = "grida" +id = "anthropic/claude-opus-5.5" +url = "https://gateway.grida.ai/v1/models" +endpoints = [ + { "id" = "anthropic/claude-opus-5.5", "input" = "text", "source_url" = "https://gateway.grida.ai/v1/models", "published_pricing" = { "source_url" = "https://gateway.grida.ai/v1/models", "currency" = "USD", "components" = [ + { "id" = "input_tokens", "meter" = "input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "usd_per_unit" = "0.000004" }, + { "id" = "cached_input_tokens", "meter" = "cached_input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "usd_per_unit" = "0.0000002" }, + { "id" = "output_tokens", "meter" = "output_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "usd_per_unit" = "0.00002" }, + ] } }, +] +capabilities = { "source_url" = "https://gateway.grida.ai/v1/models", "image_input" = true, "tools" = true, "reasoning" = true, "structured_output" = true } +limits = { "source_url" = "https://gateway.grida.ai/v1/models", "context_tokens" = 1000000, "max_output_tokens" = 128000 } + +[provider_coverage.grida] +disposition = "listed" +source_url = "https://gateway.grida.ai/v1/models" diff --git a/models/anthropic/claude-sonnet-5.5/card.toml b/models/anthropic/claude-sonnet-5.5/card.toml index 5a2e709..4e3296e 100644 --- a/models/anthropic/claude-sonnet-5.5/card.toml +++ b/models/anthropic/claude-sonnet-5.5/card.toml @@ -128,3 +128,21 @@ source_url = "https://openrouter.ai/anthropic/claude-sonnet-5.5" 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." + +[providers.grida] +provider = "grida" +id = "anthropic/claude-sonnet-5.5" +url = "https://gateway.grida.ai/v1/models" +endpoints = [ + { "id" = "anthropic/claude-sonnet-5.5", "input" = "text", "source_url" = "https://gateway.grida.ai/v1/models", "published_pricing" = { "source_url" = "https://gateway.grida.ai/v1/models", "currency" = "USD", "components" = [ + { "id" = "input_tokens", "meter" = "input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "usd_per_unit" = "0.000002" }, + { "id" = "cached_input_tokens", "meter" = "cached_input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "usd_per_unit" = "0.0000001" }, + { "id" = "output_tokens", "meter" = "output_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "usd_per_unit" = "0.00001" }, + ] } }, +] +capabilities = { "source_url" = "https://gateway.grida.ai/v1/models", "image_input" = true, "tools" = true, "reasoning" = true, "structured_output" = true } +limits = { "source_url" = "https://gateway.grida.ai/v1/models", "context_tokens" = 1000000, "max_output_tokens" = 128000 } + +[provider_coverage.grida] +disposition = "listed" +source_url = "https://gateway.grida.ai/v1/models" diff --git a/models/black-forest-labs/flux-3-image/card.toml b/models/black-forest-labs/flux-3-image/card.toml index 269f2b4..aeb8772 100644 --- a/models/black-forest-labs/flux-3-image/card.toml +++ b/models/black-forest-labs/flux-3-image/card.toml @@ -177,3 +177,20 @@ source_url = "https://openrouter.ai/api/v1/images/models/black-forest-labs/flux- [provider_coverage.fal] disposition = "listed" source_url = "https://fal.ai/models/blackforestlabs/flux-3/text-to-image/api" + +[providers.grida] +provider = "grida" +id = "bfl/flux-3-image" +url = "https://gateway.grida.ai/v1/models" +endpoints = [ + { "id" = "image.bfl.flux-3-image.text", "operation" = "image.bfl.flux-3-image.text", "input" = "text", "source_url" = "https://gateway.grida.ai/schemas/operations.json", "request_schema_url" = "https://gateway.grida.ai/schemas/operations.json#/$defs/image.bfl.flux-3-image.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.048" }, + ] } }, + { "id" = "image.bfl.flux-3-image.references", "operation" = "image.bfl.flux-3-image.references", "input" = "multi_image", "source_url" = "https://gateway.grida.ai/schemas/operations.json", "request_schema_url" = "https://gateway.grida.ai/schemas/operations.json#/$defs/image.bfl.flux-3-image.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.048" }, + ] } }, +] + +[provider_coverage.grida] +disposition = "listed" +source_url = "https://gateway.grida.ai/v1/models" diff --git a/models/google/gemini-4-argon/card.toml b/models/google/gemini-4-argon/card.toml index 68cda65..324c166 100644 --- a/models/google/gemini-4-argon/card.toml +++ b/models/google/gemini-4-argon/card.toml @@ -140,3 +140,21 @@ source_url = "https://openrouter.ai/google/gemini-4-argon" 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." + +[providers.grida] +provider = "grida" +id = "google/gemini-4-argon" +url = "https://gateway.grida.ai/v1/models" +endpoints = [ + { "id" = "google/gemini-4-argon", "input" = "text", "source_url" = "https://gateway.grida.ai/v1/models", "published_pricing" = { "source_url" = "https://gateway.grida.ai/v1/models", "currency" = "USD", "components" = [ + { "id" = "input_tokens", "meter" = "input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "usd_per_unit" = "0.000004" }, + { "id" = "cached_input_tokens", "meter" = "cached_input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "usd_per_unit" = "0.0000002" }, + { "id" = "output_tokens", "meter" = "output_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "usd_per_unit" = "0.00002" }, + ] } }, +] +capabilities = { "source_url" = "https://gateway.grida.ai/v1/models", "image_input" = true, "tools" = true, "reasoning" = true, "structured_output" = true } +limits = { "source_url" = "https://gateway.grida.ai/v1/models", "context_tokens" = 1000000, "max_output_tokens" = 65536 } + +[provider_coverage.grida] +disposition = "listed" +source_url = "https://gateway.grida.ai/v1/models" diff --git a/models/openai/gpt-6.1-terra/card.toml b/models/openai/gpt-6.1-terra/card.toml index d1e5e9f..96af63d 100644 --- a/models/openai/gpt-6.1-terra/card.toml +++ b/models/openai/gpt-6.1-terra/card.toml @@ -183,3 +183,26 @@ source_url = "https://vercel.com/ai-gateway/models/gpt-6.1-terra" 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." + +[providers.grida] +provider = "grida" +id = "openai/gpt-6.1-terra" +url = "https://gateway.grida.ai/v1/models" +endpoints = [ + { "id" = "openai/gpt-6.1-terra", "input" = "text", "source_url" = "https://gateway.grida.ai/v1/models", "published_pricing" = { "source_url" = "https://gateway.grida.ai/v1/models", "currency" = "USD", "components" = [ + { "id" = "input_tokens.0", "meter" = "input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "0", "max" = "272001" }, "usd_per_unit" = "0.000001" }, + { "id" = "input_tokens.1", "meter" = "input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "272001" }, "usd_per_unit" = "0.000002" }, + { "id" = "cached_input_tokens.0", "meter" = "cached_input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "0", "max" = "272001" }, "usd_per_unit" = "0.00000005" }, + { "id" = "cached_input_tokens.1", "meter" = "cached_input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "272001" }, "usd_per_unit" = "0.0000001" }, + { "id" = "output_tokens.0", "meter" = "output_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "0", "max" = "272001" }, "usd_per_unit" = "0.000005" }, + { "id" = "output_tokens.1", "meter" = "output_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "272001" }, "usd_per_unit" = "0.0000075" }, + { "id" = "cache_write_tokens.0", "meter" = "cache_write_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "0", "max" = "272001" }, "usd_per_unit" = "0.00000125" }, + { "id" = "cache_write_tokens.1", "meter" = "cache_write_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "272001" }, "usd_per_unit" = "0.0000025" }, + ] } }, +] +capabilities = { "source_url" = "https://gateway.grida.ai/v1/models", "image_input" = false, "tools" = true, "reasoning" = true, "structured_output" = true } +limits = { "source_url" = "https://gateway.grida.ai/v1/models", "context_tokens" = 1050000, "max_output_tokens" = 128000 } + +[provider_coverage.grida] +disposition = "listed" +source_url = "https://gateway.grida.ai/v1/models" diff --git a/models/openai/gpt-image-2.6-flare/card.toml b/models/openai/gpt-image-2.6-flare/card.toml index fd760b6..8789d3a 100644 --- a/models/openai/gpt-image-2.6-flare/card.toml +++ b/models/openai/gpt-image-2.6-flare/card.toml @@ -275,3 +275,20 @@ 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" + +[providers.grida] +provider = "grida" +id = "openai/gpt-image-2.6-flare" +url = "https://gateway.grida.ai/v1/models" +endpoints = [ + { "id" = "image.openai.gpt-image-2.6-flare.text", "operation" = "image.openai.gpt-image-2.6-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.6-flare.text.input", "result_schema_url" = "https://gateway.grida.ai/schemas/operations.json#/$defs/Image26Response_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" }, + ] } }, + { "id" = "image.openai.gpt-image-2.6-flare.references", "operation" = "image.openai.gpt-image-2.6-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.6-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" }, + ] } }, +] + +[provider_coverage.grida] +disposition = "listed" +source_url = "https://gateway.grida.ai/v1/models" diff --git a/models/openai/gpt-image-2.6-sunburst/card.toml b/models/openai/gpt-image-2.6-sunburst/card.toml index bae8c45..9cf20c3 100644 --- a/models/openai/gpt-image-2.6-sunburst/card.toml +++ b/models/openai/gpt-image-2.6-sunburst/card.toml @@ -275,3 +275,20 @@ 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" + +[providers.grida] +provider = "grida" +id = "openai/gpt-image-2.6-sunburst" +url = "https://gateway.grida.ai/v1/models" +endpoints = [ + { "id" = "image.openai.gpt-image-2.6-sunburst.text", "operation" = "image.openai.gpt-image-2.6-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.6-sunburst.text.input", "result_schema_url" = "https://gateway.grida.ai/schemas/operations.json#/$defs/Image26Response_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" }, + ] } }, + { "id" = "image.openai.gpt-image-2.6-sunburst.references", "operation" = "image.openai.gpt-image-2.6-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.6-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" }, + ] } }, +] + +[provider_coverage.grida] +disposition = "listed" +source_url = "https://gateway.grida.ai/v1/models"