Skip to content

Models API

OpenAI-compatible model discovery and inference endpoints.
MethodPathRequestResponse
GET/v1/models—ModelList
POST/v1/chat/completionsChatCompletionRequestChatCompletion or an SSE stream
GET /v1/models
Terminal window
curl https://api.dexto.ai/v1/models \
-H "Authorization: Bearer $DEXTO_API_KEY"
Response fieldJSON typeRequiredDescription
object"list"YesList discriminator
dataarray<Model>YesModels Dexto supports; your account may have different access methods
data[].idstringYesModel identifier used in requests; replies name the model by this id
data[].object"model"YesObject discriminator
data[].namestringYesDisplay name
data[].owned_bystringYesThe lab that makes the model, such as anthropic or openai
data[].context_windowintegerYesMost input tokens the model takes in one request
data[].max_output_tokensinteger|nullYesMost tokens the model writes in one reply; null when Dexto does not know it
data[].reasoning_effortsarray<string>Yesreasoning_effort values a request may send; empty when the model takes none
data[].createdintegerNoUnix timestamp in seconds
POST /v1/chat/completions

The endpoint supports text, model-dependent image, PDF, and audio inputs, tool calls, reasoning, and streaming. Available modalities depend on the selected model.

Request fieldJSON typeRequiredDescription
modelstringYesID returned by GET /v1/models
reasoning_effortstringNoOne of the model’s reasoning_efforts
messagesarray<Message>YesOrdered conversation messages
messages[].rolestringYessystem, user, assistant, or tool
messages[].contentstring | arrayYesText or structured multimodal parts
streambooleanNoReturn server-sent events
temperaturenumberNoSampling temperature
max_tokensintegerNoMaximum generated tokens
toolsarray<Tool>NoOpenAI-compatible function tools
Terminal window
curl https://api.dexto.ai/v1/chat/completions \
-H "Authorization: Bearer $DEXTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-5.6-luna",
"messages": [{"role":"user","content":"Summarize this release note."}]
}'

With stream: true, the response uses text/event-stream and returns OpenAI-compatible completion chunks.