/api/v1/chat/completionsOpenAI-compatible chat on 100+ Venice models via x402 USDC (Base). Model from GET /api/v1/models?type=text; personas via /characters. Thinking models: empty content + reasoning_content is success; use venice_parameters.disable_thinking for plain text.
{
"properties": {
"choices[].message.reasoning_content": {
"description": "On thinking models, chain-of-thought text. content may be empty if max_tokens is spent on thinking first (finish_reason=length). Check this field as well as content.",
"type": "string"
},
"choices[].message.reasoning_details": {
"description": "Structured thought signatures (Claude Opus / GPT-5.4 Pro etc). Pass back unchanged on the next turn.",
"type": "string"
},
"max_tokens": {
"description": "Optional. Buyer-chosen completion cap — this gateway does not set a default. Omit unless you want to bound output. On thinking models a small value can exhaust on reasoning_content and leave content empty (finish_reason=length).",
"type": "integer"
},
"messages": {
"description": "OpenAI chat messages: array of {role:'system'|'user'|'assistant', content:string}. On multi-turn tool use with reasoning models, round-trip assistant.reasoning_details verbatim.",
"items": {
"type": "object"
},
"type": "array"
},
"model": {
"description": "Venice text model id. Resolve live defaults via GET /api/v1/models/traits (illustrative: default / function_calling_default → zai-org-glm-5-2, default_reasoning → kimi-k3, most_intelligent → grok-4-7). List ids at GET /api/v1/models?type=text (e.g. zai-org-glm-5-2, kimi-k3, grok-4-7).",
"type": "string"
},
"stream": {
"description": "If true, stream tokens via SSE. Default false.",
"type": "boolean"
},
"venice_parameters": {
"properties": {
"disable_thinking": {
"description": "Skip chain-of-thought on reasoning models; forces a normal content reply.",
"type": "boolean"
},
"strip_thinking_response": {
"description": "Run thinking server-side but hide it from the client.",
"type": "boolean"
}
},
"type": "object"
},
"venice_parameters.disable_thinking": {
"description": "Set true to skip chain-of-thought on reasoning models (forces a normal content reply).",
"type": "string"
},
"venice_parameters.strip_thinking_response": {
"description": "If true, hide thinking from the client while still running it server-side.",
"type": "string"
}
},
"required": [
"model",
"messages"
],
"type": "object"
}{
"choices": [
{
"finish_reason": "length",
"index": 0,
"message": {
"content": "",
"reasoning_content": "The user said \"hi\". A brief greeting — I should reply in kind.",
"role": "assistant"
}
}
],
"cost": {
"diem": 0,
"usd": 0
},
"created": 1791357300,
"id": "chatcmpl-kimi-k3-reasoning-fixture",
"model": "kimi-k3",
"object": "chat.completion",
"usage": {
"completion_tokens": 32,
"prompt_tokens": 16,
"total_tokens": 48
},
"venice_parameters": {
"disable_thinking": false,
"enable_e2ee": true,
"enable_web_citations": false,
"enable_web_scraping": false,
"enable_web_search": "off",
"enable_x_search": false,
"include_search_results_in_stream": false,
"include_venice_system_prompt": true,
"return_search_results_as_documents": false,
"strip_thinking_response": false,
"web_search_citations": []
}
}