Стриминг
Поставьте "stream": true. Прокси отвечает text/event-stream чанками в стиле OpenAI:
data: {"id":"...","choices":[{"delta":{"content":"Hel"}}]}
data: {"id":"...","choices":[{"delta":{"content":"lo"}}]}
data: [DONE]Клиенты
Официальные SDK уже знают этот формат:
stream = client.chat.completions.create(
model="MiniMaxAI/MiniMax-M2.7",
messages=[{"role": "user", "content": "Count to five."}],
stream=True,
)
for event in stream:
delta = event.choices[0].delta.content
if delta:
print(delta, end="", flush=True)Списание
Расход берётся из финального usage апстрима (или из оценки, если хост его не прислал). Списываются токены, которые реально произведены, в том числе если вы оборвали стрим после начала генерации. Отменяйте рано, если задачу запускать не собирались.
Таймауты
Длинная генерация может упираться в лимиты хоста. Клиентские таймауты 30–60 секунд часто коротки для тяжёлых промптов. Для агентов и RAG ставьте 2–3 минуты. Если включён повтор при лимите, 429 может висеть до двух минут, пока не освободится слот.
Вызовы инструментов в стриме
Дельты tool call идут как в стриме OpenAI (delta.tool_calls). Если хост отдаёт только JSON в content, прокси может собрать tool_calls в конце. См. Вызов инструментов.