Меню документации — Стриминг (SSE)
Начало
Quick StartСписок моделейИнтеграции
ОбзорCursorClaude CodeCline / Roo CodeLangChainDifyCherry StudioOpen WebUIChatGPT Next WebChatboxGuides
Какой endpoint выбратьGemini: нативный generateContentVision и файлы в чатеСтриминг (SSE)Миграция с OpenAI / AnthropicВеб-поиск и инструментыФайлы: приём и генерацияКонцепции
АутентификацияRate-limitsМедиа
Генерация изображенийГенерация видеоОзвучка (TTS)Генерация музыки3D-генерацияAPI Reference
EmbeddingsОшибкиСтриминг (SSE)
Все текстовые модели поддерживают Server-Sent Events. Передайте "stream": true в теле запроса — ответ будет приходить чанками в формате OpenAI.
Python
from openai import OpenAI
client = OpenAI(api_key="rk_live_...", base_url="https://api.ranvik.ru/v1")
with client.chat.completions.create(
model="claude-opus-4",
messages=[{"role": "user", "content": "Объясни квантовые вычисления"}],
stream=True,
) as stream:
for chunk in stream:
delta = chunk.choices[0].delta.content or ""
print(delta, end="", flush=True)
JavaScript / TypeScript
import OpenAI from "openai";
const client = new OpenAI({ apiKey: "rk_live_...", baseURL: "https://api.ranvik.ru/v1" });
const stream = client.chat.completions.stream({
model: "gpt-4o",
messages: [{ role: "user", content: "Объясни квантовые вычисления" }],
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
console.log(await stream.finalChatCompletion());
cURL (raw SSE)
curl https://api.ranvik.ru/v1/chat/completions \
-H "Authorization: Bearer rk_live_..." \
-H "Content-Type: application/json" \
-H "Accept: text/event-stream" \
-d '{
"model": "claude-opus-4",
"messages": [{"role":"user","content":"Объясни квантовые вычисления"}],
"stream": true,
"stream_options": {"include_usage": true}
}'
Каждый SSE-эвент имеет вид data: {...}. Последний чанк перед data: [DONE] содержит объект usage с реальным числом токенов (если передан stream_options.include_usage: true).
Responses API (/v1/responses)
POST /v1/responses со stream:true поддерживает SSE для встроенных тулз (web_search, code_interpreter). События — спецификация OpenAI Responses, не chat-completions: response.created → response.output_text.delta* → response.completed. Терминатор — событие response.completed (не data: [DONE]); финальный response-объект с usage приходит именно там. SDK OpenAI (client.responses.create(..., stream=True)) обрабатывает это нативно.