Models
The two models the API serves, the names to send, their limits and their prices.
The API serves two models. You pick one with the model field of every request, by its name.
The models
| Name to send | Context | Output limit | Input | Cached input | Output |
|---|---|---|---|---|---|
Raven Flash | 1M | 128K | $0.50 | $0.05 | $2.50 |
Raven Max | 1M | 128K | $1.25 | $0.13 | $6.25 |
Context and output limits are in tokens. Prices are in US dollars per 1M tokens and are billed from your prepaid credits; API Credits has the debit formula.
- Raven Max: Codebase Refactoring, Complex Architecture, Formal Research, Hard Bug Triage.
- Raven Flash: Autonomous Coding in DCode, Interactive Chat, CI/CD Pipelines, High-Volume Classification.
Both models read images (Vision), call your tools (Tool calling) and can reason before they answer (Reasoning).
Sending the model name
Send the name exactly as the API lists it: Raven Flash or Raven Max, with the space. Letter case does not matter, so raven flash works too. Any other spelling, such as raven-max, is refused with 404 and the code model_not_found; the message lists the names that work.
{ "error": { "message": "The model 'raven-max' does not exist. Available models: Raven Flash, Raven Max.", "type": "invalid_request_error", "code": "model_not_found" }}Every answer names the model in its model field, in the listed form.
Listing the models
GET /v1/models returns the models the API serves. It needs a key and costs nothing.
curl
curl https://api.dipoleml.com/v1/models \ -H "Authorization: Bearer $RAVEN_API_KEY"python
import osfrom openai import OpenAIclient = OpenAI( base_url="https://api.dipoleml.com/v1", api_key=os.environ["RAVEN_API_KEY"],)for model in client.models.list(): print(model.id){ "object": "list", "data": [ {"id": "Raven Flash", "object": "model", "created": 1767225600, "owned_by": "dipoleml"}, {"id": "Raven Max", "object": "model", "created": 1767225600, "owned_by": "dipoleml"} ]}In the Anthropic SDK's shape
A request that sends an anthropic-version header (as the Anthropic SDK does) gets the same list in that SDK's shape, and may ask for one model by name, with the space written as %20:
curl https://api.dipoleml.com/v1/models/Raven%20Max \ -H "x-api-key: $RAVEN_API_KEY" \ -H "anthropic-version: 2023-06-01"{ "type": "model", "id": "Raven Max", "display_name": "Raven Max", "created_at": "2026-01-01T00:00:00.000Z", "object": "model", "created": 1767225600, "owned_by": "dipoleml"}The list in this shape also carries has_more (always false), first_id and last_id. See Messages format.