Open in the interactive docs · markdown for agents: https://neuraldeep.tech/docs/chat.md

Text · Chat completion

OpenAI-compatible /v1/chat/completions. Supports streaming, tools, reasoning (gpt-oss passes reasoning tags through inline). Turns of one conversation stay on one worker automatically.

curl https://api.neuraldeep.tech/v1/chat/completions \
  -H "Authorization: Bearer $YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-oss-120b",
    "messages": [
      {"role":"system","content":"You are helpful."},
      {"role":"user","content":"Hello"}
    ],
    "max_tokens": 500,
    "temperature": 0.2
  }'
from openai import OpenAI
client = OpenAI(api_key="$YOUR_KEY", base_url="https://api.neuraldeep.tech/v1")
r = client.chat.completions.create(
    model="gpt-oss-120b",
    messages=[{"role":"user","content":"Hello"}],
    max_tokens=500,
)
print(r.choices[0].message.content)

On our qwen lanes the turns of one conversation (same key, same opening of the chat) land on the same worker on their own, so the prefix comes from the cache and multi-turn is faster. The user field does not affect routing. If you run several parallel copies of the same conversation and want them spread across workers, pass your own prompt_cache_key.

Reasoning per model. Reasoning is on by default; reasoning_content arrives as a separate field.

Reference sections (markdown for agents)