所有文档

流式响应

"stream": true 上把 /v1/responses 设为 true 就能拿到 Server-Sent Events 流。1024X 不动上游的流, 在最后一条 response.completed 事件里汇总 token, 计费精确到流末。

Curl

bash
curl -N https://api.1024x.ai/v1/responses \
  -H "Authorization: Bearer $X1024_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "input": "Write a haiku about TCP.",
    "stream": true
  }'

事件格式

每个事件由一行 event: 加一行 JSON 形态的 data: 组成。流以 response.completed 结束, 该事件携带最终 usage 汇总。

text
event: response.created
data: {"type":"response.created","response":{"id":"resp_01...","model":"gpt-4o"}}

event: response.output_text.delta
data: {"type":"response.output_text.delta","delta":"Packets"}

event: response.output_text.delta
data: {"type":"response.output_text.delta","delta":" in flight..."}

event: response.completed
data: {"type":"response.completed","response":{"usage":{"input_tokens":12,"output_tokens":42,"total_tokens":54}}}

TypeScript

官方 OpenAI SDK 无需修改即可使用。

ts
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.X1024_API_KEY,
  baseURL: 'https://api.1024x.ai/v1'
});

const stream = await client.responses.create({
  model: 'gpt-4o',
  input: 'Stream this back.',
  stream: true
});

for await (const event of stream) {
  if (event.type === 'response.output_text.delta') {
    process.stdout.write(event.delta);
  }
}

注意事项

  • 走 HTTP/1.1 keep-alive — 大多数客户端默认就是。
  • 务必读到 response.completed 才算流闭合, 计费才完整。中途断流, 已经产生的 token 仍会计费。
  • 缓存读写 (prompt caching) 的统计也在最后的 usage 块里 — 详见 API 参考