Models
Request Raven Flash or Raven Max by name. GET /v1/models lists exactly what your key can call.
DipoleML API
The DipoleML API serves Raven Max and Raven Flash at api.dipoleml.com. It speaks the OpenAI and Anthropic SDK formats natively, so most tools switch by changing one line. It streams, reads images, and bills prepaid credits per token: Raven Flash from $0.50 and Raven Max from $1.25 per 1M input tokens, with cached input automatically discounted.
Point the SDK you already use at api.dipoleml.com. Choose a format and a language: the highlighted line is the one you change.
Python, OpenAI format
from openai import OpenAI# Drop-in replacement: only the base_url changesclient = OpenAI(base_url="https://api.dipoleml.com/v1",api_key="your-dipole-api-key")response = client.chat.completions.create(model="Raven Max",messages=[{"role": "user", "content": "Refactor the auth microservice."}])print(response.choices[0].message.content)JavaScript, OpenAI format
import OpenAI from "openai";const client = new OpenAI({baseURL: "https://api.dipoleml.com/v1",apiKey: "your-dipole-api-key",});const response = await client.chat.completions.create({model: "Raven Max",messages: [{ role: "user", content: "Refactor the auth microservice." }],});console.log(response.choices[0].message.content);cURL, OpenAI format
curl https://api.dipoleml.com/v1/chat/completions \-H "Authorization: Bearer your-dipole-api-key" \-H "Content-Type: application/json" \-d '{"model": "Raven Max","messages": [{"role": "user", "content": "Refactor the auth microservice."}]}'Python, Anthropic format
from anthropic import Anthropicclient = Anthropic(base_url="https://api.dipoleml.com",api_key="your-dipole-api-key")message = client.messages.create(model="Raven Max",max_tokens=1024,messages=[{"role": "user", "content": "Refactor the auth microservice."}])print(message.content[0].text)JavaScript, Anthropic format
import Anthropic from "@anthropic-ai/sdk";const client = new Anthropic({baseURL: "https://api.dipoleml.com",apiKey: "your-dipole-api-key",});const message = await client.messages.create({model: "Raven Max",max_tokens: 1024,messages: [{ role: "user", content: "Refactor the auth microservice." }],});console.log(message.content[0].text);cURL, Anthropic format
curl https://api.dipoleml.com/v1/messages \-H "x-api-key: your-dipole-api-key" \-H "anthropic-version: 2023-06-01" \-H "Content-Type: application/json" \-d '{"model": "Raven Max","max_tokens": 1024,"messages": [{"role": "user", "content": "Refactor the auth microservice."}]}'I would split token checks out of the request handler first, then add a refresh path with tests. I can open a pull request with the three changes.
Everything an integration needs, in six points.
Request Raven Flash or Raven Max by name. GET /v1/models lists exactly what your key can call.
Set stream: true for SSE. A reasoning channel may accompany the answer; treat it as plain text.
Include an image part in a message and the system routes it for visual understanding automatically.
Bearer API keys, created in your dashboard. Keys bill prepaid credits; empty balance returns a clear 402.
Per-minute rate limits keep the service fair. 429 responses tell you the limit you met and link to pricing.
We count the input and output tokens of each request to debit your credits. Your prompts and completions are encrypted at rest and never sold.
Credits start at $5. The free tier of the Raven app is separate and always there.
Sign in to your dashboard and create an API key.
Add prepaid credits, from $5. They never expire.
Point your tool at api.dipoleml.com and send your first request.
Pick a model and enter a month of tokens. The sum uses the published prices.
10 million input tokens a month, 50% of them cached, and 2 million output tokens, on Raven Flash:
Estimated cost a month$7.75
An estimate from the published prices. What you pay follows the tokens you use.
| Model | Input / 1M | Cached input / 1M | Output / 1M |
|---|---|---|---|
Raven Max"Raven Max" | $1.25 | $0.13 | $6.25 |
Raven Flash"Raven Flash" | $0.50 | $0.05 | $2.50 |
Prices are per 1M tokens in USD. The API supports both /v1/chat/completions (OpenAI SDKs) and /v1/messages (Anthropic SDKs): switch your base URL to api.dipoleml.com.
Works with the coding apps, harnesses and ADEs engineers already use
Guides, the full reference and every error code are in the docs. The playground lets you try a call without writing code.