Streaming API в Heli работает через Server-Sent Events (SSE): передайте "stream": true в запросе к /v1/chat/completions — и токены приходят по мере генерации. Формат совместим с OpenAI SDK и OpenRouter.
Как включить streaming
Добавьте параметр stream: true в тело POST-запроса. Ответ приходит как поток строк data: {...} с delta-содержимым в choices[0].delta.content. Последняя строка — data: [DONE].
Пример curl
curl https://getheli.ru/v1/chat/completions \
-H "Authorization: Bearer sk-heli-ВАШ_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4.1-mini",
"stream": true,
"messages": [{ "role": "user", "content": "Расскажи короткую историю." }]
}'В терминале вы увидите поток JSON-чанков. Для UI-чатов streaming снижает perceived latency — пользователь видит текст сразу, не дожидаясь полного ответа.
Python с OpenAI SDK
from openai import OpenAI
client = OpenAI(
api_key="sk-heli-ВАШ_КЛЮЧ",
base_url="https://getheli.ru/v1",
)
stream = client.chat.completions.create(
model="openai/gpt-4.1-mini",
messages=[{"role": "user", "content": "Привет!"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)Полный гайд по Python — в статье «Python OpenAI SDK с Heli».
Node.js streaming
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.HELI_API_KEY,
baseURL: "https://getheli.ru/v1",
});
const stream = await client.chat.completions.create({
model: "openai/gpt-4.1-mini",
messages: [{ role: "user", content: "Привет!" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}Подробнее про TypeScript — «Node.js и TypeScript с Heli».
Биллинг при streaming
Списание происходит по итоговому числу токенов — как при обычном запросе. Streaming не дороже non-streaming. Цены моделей — на /models. Документация — /docs.
Попробуйте Heli за 30 секунд
Ключ sk-heli- и кабинет создаются сразу. После подтверждения почты — 50 ₽ на баланс.