API
Chat completions
3 min read
OpenAI-compatible chat completions. Send the same request body you would send to the OpenAI API; DevThrottle routes it to the model you name and streams the response back.
POST
/chat/completionsCreate a chat completion. Supports server-sent-event streaming with
"stream": true.Request
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Required | A model id from GET /models. Unknown models are rejected outright - there is no silent substitution. |
messages | array | Required | The conversation, OpenAI chat format: objects with role and content. |
stream | boolean | Optional | true streams tokens as SSE chunks in the OpenAI chunk format. |
max_tokens, temperature, ... | various | Optional | Standard OpenAI sampling parameters are passed through to the model. |
Example
curl https://devthrottle.com/api/v1/chat/completions \
-H "Authorization: Bearer $DEVTHROTTLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MODEL_ID_FROM_/models",
"messages": [{"role": "user", "content": "Say hello."}]
}'Response
The OpenAI chat-completion object (or SSE chunks when streaming), including the usage block with token counts. The same usage appears in your Usage page.
Models and billing
The models your key can call - and therefore what you can put in model - come from GET /models; the list depends on your account. Chat completions are direct catalog-model calls, billed from prepaid credits per token; each request shows in Usage.
Note
A request that fails returns an error without debiting credits - you pay for completions you received, not for attempts. Error shapes are on errors and limits.