Browse 200+ models, understand slugs and capabilities, and query the catalog API.
OpenDunes gives you access to over 200 language models through a single endpoint. Every model is identified by a slug, queryable through the catalog API, and priced in Algerian Dinars.
Every model has a slug in the format provider/model. Use this slug as the model field in your request.
| Slug | Provider |
|---|---|
anthropic/claude-opus-4.8 | Anthropic |
anthropic/claude-sonnet-5 | Anthropic |
openai/gpt-5.4 | OpenAI |
google/gemini-2.5-pro | |
meta-llama/llama-4-maverick | Meta |
The full list is in the model browser and via the catalog API below.
Models are grouped by surface — the kind of task they perform. Each surface has its own endpoint and its own billing unit. A model's surface is the modality_category field in the catalog.
| Surface | modality_category | Endpoint | Billed per |
|---|---|---|---|
| Text / chat | text | POST /v1/chat/completions | input + output tokens |
| Image generation | image | POST /v1/images/generations | image |
| Embeddings | embedding | POST /v1/embeddings | input token |
| Rerank | rerank | POST /v1/rerank | search unit |
| Text-to-speech | speech | POST /v1/audio/speech | character |
| Speech-to-text | transcription | POST /v1/audio/transcriptions | audio second |
| Video generation | video | POST /v1/videos | video second |
Filter the catalog to one surface with ?modality=<category> (e.g. ?modality=embedding), or use the surface tabs in the model browser.
Beyond its surface, each model declares fine-grained capability flags. Filter the catalog by any of them with the capability query parameter.
| Capability | Meaning |
|---|---|
streaming | Supports "stream": true — tokens arrive as SSE events |
vision | Accepts image inputs in messages[].content as content-part arrays |
tools | Supports function / tool calling — tools + tool_choice |
json_mode | Constrains output to JSON via response_format: {type: "json_object"} |
structured_output | Enforces a JSON Schema via response_format: {type: "json_schema"} |
reasoning | Exposes a reasoning trace; accepts a reasoning effort parameter |
audio_input | Accepts input_audio content blocks in chat messages |
pdf_input | Accepts file (PDF) content blocks in chat messages |
web_search | Supports web search (the web_search / web_search_options parameter) |
video_input | Accepts video inputs (video in the model's input modalities) |
To check one model's capabilities programmatically:
Returns the capability flags, modality_category, and billing_unit for that model — useful for feature-detecting before you send a request.
The catalog endpoint is public — no authentication required.
Query parameters:
| Parameter | Type | Description |
|---|---|---|
q | string | Full-text search across model name and description |
provider | string | Filter by provider slug, e.g. anthropic |
capability | string | One of streaming, tools, vision, json_mode, structured_output, reasoning, audio_input, pdf_input, web_search, video_input |
modality | string | Output modality |
input_modality | string | Input modality |
free | boolean | true to return only zero-cost models |
context_min | integer | Minimum context window in tokens |
sort | string | popularity, price, name, context, newest |
order | string | asc or desc |
Example — fastest free models, sorted by context:
/facets returns the available filter values (providers, capabilities, modalities) and their counts — useful for building filter UIs. /stats returns aggregate numbers: total models, providers, free models.
Returns the full metadata object for one model, including pricing, context window, capability flags, and the model's description.
Text models are priced as DA per million tokens for input and output separately. Other surfaces are priced in their own unit — DA per image, per audio second, per character, or per search unit (see the pricing reference). The catalog JSON includes:
The DA price shown is the final price you pay — there are no per-request fees, and deposits are credited 1:1 (see the pricing reference).
Some models are free — pricing.input and pricing.output are both 0. Use ?free=true to filter to free-only models.
Per-request cost is (input_tokens × input_rate) + (output_tokens × output_rate), computed in micro-DA (bigint, no floats) and rounded up to the smallest unit.
The model browser is a visual interface for the catalog. Filter by provider, capability, context size, and price. Click any model for its detail page with full specs and a live pricing calculator.