diff --git a/catalogue/PROVENANCE.md b/catalogue/PROVENANCE.md index 7c79486..0038608 100644 --- a/catalogue/PROVENANCE.md +++ b/catalogue/PROVENANCE.md @@ -1053,3 +1053,22 @@ publishes separate image-output token pricing and different context/output limits, which remain provider-specific. None of the four new cards claims Grida availability before the public service offers them. No paid inference was used to establish these facts. + +## Grida provider discovery — 2026-10-14 + +Authenticated [Grida model discovery](https://gateway.grida.ai/v1/models), +[operation schemas](https://gateway.grida.ai/schemas/operations.json) and the +[public API reference](https://gateway.grida.ai/llms.txt) were checked together. +They confirm Grida bindings for GPT-6 Sol, GPT-6 Luna, GPT-6.1 Sol and Gemini Nano +Banana 2.1. The three text bindings are text-only on Grida; native image-input +capabilities remain recorded separately. Nano Banana 2.1 exposes generation and +reference editing through distinct schema-linked operations. + +Grida discovery also publishes separate cache-write price components for +GPT-5.6 Sol/Terra/Luna and GPT-6 Astra, and regular token schedules for Gemini +3.7 Flash and 3.8 Flash. These replace the earlier Grida price qualifications. +All prices here are the advertised USD schedule, with exact billing meters and +input-length bands; no inference cost is reconstructed from an example output. +This verifies public discovery and contract metadata, not exhaustive inference +behavior. Other providers' records, model release dates and intrinsic facts are +unchanged. diff --git a/catalogue/models.json b/catalogue/models.json index a8281d9..312f5e6 100644 --- a/catalogue/models.json +++ b/catalogue/models.json @@ -2295,13 +2295,46 @@ { "id": "google/gemini-3.7-flash", "input": "text", - "source_url": "https://gateway.grida.ai/v1/models" - } - ], - "qualifications": [ - { "source_url": "https://gateway.grida.ai/v1/models", - "notes": "A regular, non-promotional token schedule has not been independently established from the inspected public discovery; published_pricing is omitted rather than inferred from another provider." + "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.0000015" + }, + { + "id": "cached_input_tokens", + "meter": "cached_input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.00000015" + }, + { + "id": "output_tokens", + "meter": "output_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.0000075" + } + ] + } } ], "capabilities": { @@ -2343,14 +2376,14 @@ "disposition": "listed", "source_url": "https://openrouter.ai/google/gemini-3.7-flash" }, - "grida": { - "disposition": "listed", - "source_url": "https://gateway.grida.ai/v1/models" - }, "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." + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } } }, @@ -2487,13 +2520,46 @@ { "id": "google/gemini-3.8-flash", "input": "text", - "source_url": "https://gateway.grida.ai/v1/models" - } - ], - "qualifications": [ - { "source_url": "https://gateway.grida.ai/v1/models", - "notes": "A regular, non-promotional token schedule has not been independently established from the inspected public discovery; published_pricing is omitted rather than inferred from another provider." + "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.0000015" + }, + { + "id": "cached_input_tokens", + "meter": "cached_input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.00000015" + }, + { + "id": "output_tokens", + "meter": "output_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.0000075" + } + ] + } } ], "capabilities": { @@ -2535,14 +2601,14 @@ "disposition": "listed", "source_url": "https://openrouter.ai/google/gemini-3.8-flash" }, - "grida": { - "disposition": "listed", - "source_url": "https://gateway.grida.ai/v1/models" - }, "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." + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } } }, @@ -3621,6 +3687,37 @@ "min": "272000" }, "usd_per_unit": "0.0000018" + }, + { + "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": "272000" + }, + "usd_per_unit": "0.00000025" + }, + { + "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": "272000" + }, + "usd_per_unit": "0.0000005" } ] } @@ -3669,14 +3766,14 @@ "disposition": "listed", "source_url": "https://openrouter.ai/openai/gpt-5.6-luna" }, - "grida": { - "disposition": "listed", - "source_url": "https://gateway.grida.ai/v1/models" - }, "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." + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } } }, @@ -3991,6 +4088,37 @@ "min": "272000" }, "usd_per_unit": "0.00003" + }, + { + "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": "272000" + }, + "usd_per_unit": "0.000005" + }, + { + "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": "272000" + }, + "usd_per_unit": "0.00001" } ] } @@ -4040,14 +4168,14 @@ "disposition": "listed", "source_url": "https://openrouter.ai/openai/gpt-5.6-sol" }, - "grida": { - "disposition": "listed", - "source_url": "https://gateway.grida.ai/v1/models" - }, "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." + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } } }, @@ -4428,6 +4556,37 @@ "min": "272000" }, "usd_per_unit": "0.000018" + }, + { + "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": "272000" + }, + "usd_per_unit": "0.0000025" + }, + { + "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": "272000" + }, + "usd_per_unit": "0.000005" } ] } @@ -4476,14 +4635,14 @@ "disposition": "listed", "source_url": "https://openrouter.ai/openai/gpt-5.6-terra" }, - "grida": { - "disposition": "listed", - "source_url": "https://gateway.grida.ai/v1/models" - }, "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." + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } } }, @@ -4864,6 +5023,37 @@ "min": "272001" }, "usd_per_unit": "0.000075" + }, + { + "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.0000125" + }, + { + "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.000025" } ] } @@ -4912,14 +5102,14 @@ "disposition": "listed", "source_url": "https://openrouter.ai/openai/gpt-6-astra" }, - "grida": { - "disposition": "listed", - "source_url": "https://gateway.grida.ai/v1/models" - }, "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." + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } } }, @@ -5235,6 +5425,160 @@ "source_url": "https://vercel.com/ai-gateway/models/gpt-6-luna" } ] + }, + "grida": { + "provider": "grida", + "id": "openai/gpt-6-luna", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "openai/gpt-6-luna", + "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.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": "272001" + }, + "usd_per_unit": "0.0000002" + }, + { + "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.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": "272001" + }, + "usd_per_unit": "0.00000002" + }, + { + "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.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": "272001" + }, + "usd_per_unit": "0.00000075" + }, + { + "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.000000125" + }, + { + "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.00000025" + } + ] + } + } + ], + "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": { @@ -5254,6 +5598,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" } } }, @@ -5547,28 +5895,182 @@ "minimum_input_tokens": 272001, "usd_per_token": "0.000005" } - ] - }, + ] + }, + "capabilities": { + "source_url": "https://vercel.com/ai-gateway/models/gpt-6-sol", + "image_input": true, + "tools": true, + "reasoning": true, + "structured_output": true, + "streaming": true + }, + "limits": { + "source_url": "https://vercel.com/ai-gateway/models/gpt-6-sol", + "context_tokens": 1050000, + "max_output_tokens": 128000 + }, + "endpoints": [ + { + "id": "openai/gpt-6-sol", + "input": "text", + "source_url": "https://vercel.com/ai-gateway/models/gpt-6-sol" + } + ] + }, + "grida": { + "provider": "grida", + "id": "openai/gpt-6-sol", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "openai/gpt-6-sol", + "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.000002" + }, + { + "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.000004" + }, + { + "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.0000002" + }, + { + "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.0000004" + }, + { + "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.00001" + }, + { + "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.000015" + }, + { + "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.0000025" + }, + { + "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.000005" + } + ] + } + } + ], "capabilities": { - "source_url": "https://vercel.com/ai-gateway/models/gpt-6-sol", - "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-sol", + "source_url": "https://gateway.grida.ai/v1/models", "context_tokens": 1050000, "max_output_tokens": 128000 - }, - "endpoints": [ - { - "id": "openai/gpt-6-sol", - "input": "text", - "source_url": "https://vercel.com/ai-gateway/models/gpt-6-sol" - } - ] + } } }, "provider_coverage": { @@ -5588,6 +6090,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" } } }, @@ -5902,6 +6408,160 @@ "source_url": "https://vercel.com/ai-gateway/models/gpt-6.1-sol" } ] + }, + "grida": { + "provider": "grida", + "id": "openai/gpt-6.1-sol", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "openai/gpt-6.1-sol", + "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.000002" + }, + { + "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.000004" + }, + { + "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.0000001" + }, + { + "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.0000002" + }, + { + "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.00001" + }, + { + "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.000015" + }, + { + "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.0000025" + }, + { + "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.000005" + } + ] + } + } + ], + "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": { @@ -5921,6 +6581,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" } } } @@ -8451,6 +9115,65 @@ } } ] + }, + "grida": { + "provider": "grida", + "id": "google/gemini-nano-banana-2.1", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "image.google.gemini-nano-banana-2.1.references", + "operation": "image.google.gemini-nano-banana-2.1.references", + "input": "multi_image", + "source_url": "https://gateway.grida.ai/schemas/operations.json", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.google.gemini-nano-banana-2.1.references.input", + "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_standard_cost_mills", + "meter": "fal_standard_cost_mills", + "unit": "mill", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.001" + } + ] + } + }, + { + "id": "image.google.gemini-nano-banana-2.1.text", + "operation": "image.google.gemini-nano-banana-2.1.text", + "input": "text", + "source_url": "https://gateway.grida.ai/schemas/operations.json", + "request_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/image.google.gemini-nano-banana-2.1.text.input", + "result_schema_url": "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_4", + "interface": "images.generations", + "published_pricing": { + "source_url": "https://gateway.grida.ai/v1/models", + "currency": "USD", + "components": [ + { + "id": "fal_standard_cost_mills", + "meter": "fal_standard_cost_mills", + "unit": "mill", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.001" + } + ] + } + } + ] } }, "provider_coverage": { @@ -8469,6 +9192,10 @@ "fal": { "disposition": "listed", "source_url": "https://fal.ai/nano-banana-2.1" + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } }, "styles": null, diff --git a/models/google/gemini-3.7-flash/card.toml b/models/google/gemini-3.7-flash/card.toml index 75f4c3f..edefc81 100644 --- a/models/google/gemini-3.7-flash/card.toml +++ b/models/google/gemini-3.7-flash/card.toml @@ -121,15 +121,21 @@ source_url = "https://vercel.com/ai-gateway/models/gemini-3.7-flash" disposition = "listed" source_url = "https://openrouter.ai/google/gemini-3.7-flash" +[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." + [providers.grida] provider = "grida" id = "google/gemini-3.7-flash" url = "https://gateway.grida.ai/v1/models" endpoints = [ - { id = "google/gemini-3.7-flash", input = "text", source_url = "https://gateway.grida.ai/v1/models" }, -] -qualifications = [ - { source_url = "https://gateway.grida.ai/v1/models", notes = "A regular, non-promotional token schedule has not been independently established from the inspected public discovery; published_pricing is omitted rather than inferred from another provider." }, + { "id" = "google/gemini-3.7-flash", "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.0000015" }, + { "id" = "cached_input_tokens", "meter" = "cached_input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "usd_per_unit" = "0.00000015" }, + { "id" = "output_tokens", "meter" = "output_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "usd_per_unit" = "0.0000075" }, + ] } }, ] 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" = 65535 } @@ -137,8 +143,3 @@ limits = { "source_url" = "https://gateway.grida.ai/v1/models", "context_tokens" [provider_coverage.grida] disposition = "listed" source_url = "https://gateway.grida.ai/v1/models" - -[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/google/gemini-3.8-flash/card.toml b/models/google/gemini-3.8-flash/card.toml index 5083f63..cf13f49 100644 --- a/models/google/gemini-3.8-flash/card.toml +++ b/models/google/gemini-3.8-flash/card.toml @@ -120,15 +120,21 @@ source_url = "https://vercel.com/ai-gateway/models/gemini-3.8-flash" disposition = "listed" source_url = "https://openrouter.ai/google/gemini-3.8-flash" +[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." + [providers.grida] provider = "grida" id = "google/gemini-3.8-flash" url = "https://gateway.grida.ai/v1/models" endpoints = [ - { id = "google/gemini-3.8-flash", input = "text", source_url = "https://gateway.grida.ai/v1/models" }, -] -qualifications = [ - { source_url = "https://gateway.grida.ai/v1/models", notes = "A regular, non-promotional token schedule has not been independently established from the inspected public discovery; published_pricing is omitted rather than inferred from another provider." }, + { "id" = "google/gemini-3.8-flash", "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.0000015" }, + { "id" = "cached_input_tokens", "meter" = "cached_input_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "usd_per_unit" = "0.00000015" }, + { "id" = "output_tokens", "meter" = "output_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "usd_per_unit" = "0.0000075" }, + ] } }, ] 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" = 65535 } @@ -136,8 +142,3 @@ limits = { "source_url" = "https://gateway.grida.ai/v1/models", "context_tokens" [provider_coverage.grida] disposition = "listed" source_url = "https://gateway.grida.ai/v1/models" - -[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/google/gemini-nano-banana-2.1/card.toml b/models/google/gemini-nano-banana-2.1/card.toml index aa71fa2..e13513b 100644 --- a/models/google/gemini-nano-banana-2.1/card.toml +++ b/models/google/gemini-nano-banana-2.1/card.toml @@ -202,3 +202,20 @@ pdf_url = { type = "string" } [provider_coverage.fal] disposition = "listed" source_url = "https://fal.ai/nano-banana-2.1" + +[providers.grida] +provider = "grida" +id = "google/gemini-nano-banana-2.1" +url = "https://gateway.grida.ai/v1/models" +endpoints = [ + { "id" = "image.google.gemini-nano-banana-2.1.references", "operation" = "image.google.gemini-nano-banana-2.1.references", "input" = "multi_image", "source_url" = "https://gateway.grida.ai/schemas/operations.json", "request_schema_url" = "https://gateway.grida.ai/schemas/operations.json#/$defs/image.google.gemini-nano-banana-2.1.references.input", "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_standard_cost_mills", "meter" = "fal_standard_cost_mills", "unit" = "mill", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "usd_per_unit" = "0.001" }, + ] } }, + { "id" = "image.google.gemini-nano-banana-2.1.text", "operation" = "image.google.gemini-nano-banana-2.1.text", "input" = "text", "source_url" = "https://gateway.grida.ai/schemas/operations.json", "request_schema_url" = "https://gateway.grida.ai/schemas/operations.json#/$defs/image.google.gemini-nano-banana-2.1.text.input", "result_schema_url" = "https://gateway.grida.ai/schemas/operations.json#/$defs/ImageResponse_4", "interface" = "images.generations", "published_pricing" = { "source_url" = "https://gateway.grida.ai/v1/models", "currency" = "USD", "components" = [ + { "id" = "fal_standard_cost_mills", "meter" = "fal_standard_cost_mills", "unit" = "mill", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "usd_per_unit" = "0.001" }, + ] } }, +] + +[provider_coverage.grida] +disposition = "listed" +source_url = "https://gateway.grida.ai/v1/models" diff --git a/models/openai/gpt-5.6-luna/card.toml b/models/openai/gpt-5.6-luna/card.toml index dab28ee..ae4b085 100644 --- a/models/openai/gpt-5.6-luna/card.toml +++ b/models/openai/gpt-5.6-luna/card.toml @@ -167,6 +167,11 @@ source_url = "https://vercel.com/ai-gateway/models/gpt-5.6-luna" disposition = "listed" source_url = "https://openrouter.ai/openai/gpt-5.6-luna" +[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." + [providers.grida] provider = "grida" id = "openai/gpt-5.6-luna" @@ -179,6 +184,8 @@ endpoints = [ { "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" = "272000" }, "usd_per_unit" = "0.00000004" }, { "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" = "272000" }, "usd_per_unit" = "0.0000012" }, { "id" = "output_tokens.1", "meter" = "output_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "272000" }, "usd_per_unit" = "0.0000018" }, + { "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" = "272000" }, "usd_per_unit" = "0.00000025" }, + { "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" = "272000" }, "usd_per_unit" = "0.0000005" }, ] } }, ] capabilities = { "source_url" = "https://gateway.grida.ai/v1/models", "image_input" = true, "tools" = true, "reasoning" = true, "structured_output" = true } @@ -187,8 +194,3 @@ limits = { "source_url" = "https://gateway.grida.ai/v1/models", "context_tokens" [provider_coverage.grida] disposition = "listed" source_url = "https://gateway.grida.ai/v1/models" - -[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-5.6-sol/card.toml b/models/openai/gpt-5.6-sol/card.toml index c3ddb15..7c3141d 100644 --- a/models/openai/gpt-5.6-sol/card.toml +++ b/models/openai/gpt-5.6-sol/card.toml @@ -138,6 +138,11 @@ source_url = "https://vercel.com/ai-gateway/models/gpt-5.6-sol" disposition = "listed" source_url = "https://openrouter.ai/openai/gpt-5.6-sol" +[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." + [providers.grida] provider = "grida" id = "openai/gpt-5.6-sol" @@ -150,6 +155,8 @@ endpoints = [ { "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" = "272000" }, "usd_per_unit" = "0.0000008" }, { "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" = "272000" }, "usd_per_unit" = "0.00002" }, { "id" = "output_tokens.1", "meter" = "output_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "272000" }, "usd_per_unit" = "0.00003" }, + { "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" = "272000" }, "usd_per_unit" = "0.000005" }, + { "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" = "272000" }, "usd_per_unit" = "0.00001" }, ] } }, ] capabilities = { "source_url" = "https://gateway.grida.ai/v1/models", "image_input" = true, "tools" = true, "reasoning" = true, "structured_output" = true } @@ -158,8 +165,3 @@ limits = { "source_url" = "https://gateway.grida.ai/v1/models", "context_tokens" [provider_coverage.grida] disposition = "listed" source_url = "https://gateway.grida.ai/v1/models" - -[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-5.6-terra/card.toml b/models/openai/gpt-5.6-terra/card.toml index bf39619..90e27fe 100644 --- a/models/openai/gpt-5.6-terra/card.toml +++ b/models/openai/gpt-5.6-terra/card.toml @@ -167,6 +167,11 @@ source_url = "https://vercel.com/ai-gateway/models/gpt-5.6-terra" disposition = "listed" source_url = "https://openrouter.ai/openai/gpt-5.6-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." + [providers.grida] provider = "grida" id = "openai/gpt-5.6-terra" @@ -179,6 +184,8 @@ endpoints = [ { "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" = "272000" }, "usd_per_unit" = "0.0000004" }, { "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" = "272000" }, "usd_per_unit" = "0.000012" }, { "id" = "output_tokens.1", "meter" = "output_tokens", "unit" = "token", "per_quantity" = "1", "when" = {}, "quantity_rounding" = { "mode" = "none" }, "quantity_range" = { "meter" = "total_input_tokens", "min" = "272000" }, "usd_per_unit" = "0.000018" }, + { "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" = "272000" }, "usd_per_unit" = "0.0000025" }, + { "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" = "272000" }, "usd_per_unit" = "0.000005" }, ] } }, ] capabilities = { "source_url" = "https://gateway.grida.ai/v1/models", "image_input" = true, "tools" = true, "reasoning" = true, "structured_output" = true } @@ -187,8 +194,3 @@ limits = { "source_url" = "https://gateway.grida.ai/v1/models", "context_tokens" [provider_coverage.grida] disposition = "listed" source_url = "https://gateway.grida.ai/v1/models" - -[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-astra/card.toml b/models/openai/gpt-6-astra/card.toml index 2376cfc..179194d 100644 --- a/models/openai/gpt-6-astra/card.toml +++ b/models/openai/gpt-6-astra/card.toml @@ -167,6 +167,11 @@ source_url = "https://vercel.com/ai-gateway/models/gpt-6-astra" disposition = "listed" source_url = "https://openrouter.ai/openai/gpt-6-astra" +[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." + [providers.grida] provider = "grida" id = "openai/gpt-6-astra" @@ -179,6 +184,8 @@ endpoints = [ { "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.000002" }, { "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.00005" }, { "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.000075" }, + { "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.0000125" }, + { "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.000025" }, ] } }, ] capabilities = { "source_url" = "https://gateway.grida.ai/v1/models", "image_input" = true, "tools" = true, "reasoning" = true, "structured_output" = true } @@ -187,8 +194,3 @@ limits = { "source_url" = "https://gateway.grida.ai/v1/models", "context_tokens" [provider_coverage.grida] disposition = "listed" source_url = "https://gateway.grida.ai/v1/models" - -[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-luna/card.toml b/models/openai/gpt-6-luna/card.toml index 3db5c80..bed1f8e 100644 --- a/models/openai/gpt-6-luna/card.toml +++ b/models/openai/gpt-6-luna/card.toml @@ -188,3 +188,26 @@ source_url = "https://vercel.com/ai-gateway/models/gpt-6-luna" 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-luna" +url = "https://gateway.grida.ai/v1/models" +endpoints = [ + { "id" = "openai/gpt-6-luna", "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.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" = "272001" }, "usd_per_unit" = "0.0000002" }, + { "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.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" = "272001" }, "usd_per_unit" = "0.00000002" }, + { "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.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" = "272001" }, "usd_per_unit" = "0.00000075" }, + { "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.000000125" }, + { "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.00000025" }, + ] } }, +] +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-6-sol/card.toml b/models/openai/gpt-6-sol/card.toml index e1f7062..262933f 100644 --- a/models/openai/gpt-6-sol/card.toml +++ b/models/openai/gpt-6-sol/card.toml @@ -188,3 +188,26 @@ source_url = "https://vercel.com/ai-gateway/models/gpt-6-sol" 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-sol" +url = "https://gateway.grida.ai/v1/models" +endpoints = [ + { "id" = "openai/gpt-6-sol", "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.000002" }, + { "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.000004" }, + { "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.0000002" }, + { "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.0000004" }, + { "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.00001" }, + { "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.000015" }, + { "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.0000025" }, + { "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.000005" }, + ] } }, +] +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-6.1-sol/card.toml b/models/openai/gpt-6.1-sol/card.toml index 2c21d85..5ed5eac 100644 --- a/models/openai/gpt-6.1-sol/card.toml +++ b/models/openai/gpt-6.1-sol/card.toml @@ -187,3 +187,26 @@ source_url = "https://vercel.com/ai-gateway/models/gpt-6.1-sol" 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-sol" +url = "https://gateway.grida.ai/v1/models" +endpoints = [ + { "id" = "openai/gpt-6.1-sol", "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.000002" }, + { "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.000004" }, + { "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.0000001" }, + { "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.0000002" }, + { "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.00001" }, + { "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.000015" }, + { "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.0000025" }, + { "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.000005" }, + ] } }, +] +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"