SDK / 集成/SDK 接入

原生 HTTP

不装 SDK 时,用 curl、fetch 或 requests 直接调用。

本页目录

curl

bash
curl https://api.apione.ai/v1/chat/completions \
  -H "Authorization: Bearer $APIONE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-flash",
    "messages": [{ "role": "user", "content": "你好" }],
    "max_tokens": 256
  }'

Python requests

python
import os, requests

r = requests.post(
    "https://api.apione.ai/v1/chat/completions",
    headers={
        "Authorization": "Bearer " + os.environ["APIONE_API_KEY"],
        "Content-Type": "application/json",
    },
    json={
        "model": "deepseek-v4-flash",
        "messages": [{"role": "user", "content": "你好"}],
    },
    timeout=60,
)
r.raise_for_status()
print(r.json()["choices"][0]["message"]["content"])

fetch(Node / 边缘运行时)

javascript
const r = await fetch("https://api.apione.ai/v1/chat/completions", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + process.env.APIONE_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "deepseek-v4-flash",
    messages: [{ role: "user", content: "你好" }],
  }),
});
if (!r.ok) throw new Error(await r.text());
const data = await r.json();
console.log(data.choices[0].message.content);

手写流式解析

javascript
const r = await fetch("https://api.apione.ai/v1/chat/completions", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + process.env.APIONE_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ model: "gemini-3.5-flash", stream: true,
                         messages: [{ role: "user", content: "讲个冷笑话" }] }),
});

const reader = r.body.getReader();
const decoder = new TextDecoder();
let buffer = "";

while (true) {
  const { done, value } = await reader.read();
  if (done) break;
  buffer += decoder.decode(value, { stream: true });

  const lines = buffer.split("\n");
  buffer = lines.pop() ?? "";          // 最后一行可能不完整,留到下一轮
  for (const line of lines) {
    if (!line.startsWith("data: ")) continue;
    const payload = line.slice(6).trim();
    if (payload === "[DONE]") continue;
    const delta = JSON.parse(payload).choices?.[0]?.delta?.content;
    if (delta) process.stdout.write(delta);
  }
}
注意

按行切分时务必保留最后一段不完整的缓冲。网络分片不保证与行边界对齐,直接逐块 JSON.parse 会随机报错——这是手写 SSE 解析最常见的 bug。

联系我们

文档没写清楚,或者需要人工协助?按问题类型选一个渠道即可。

邮箱

技术支持support@apione.ai

WhatsApp

Telegram

工单

计费与账户控制台 › 反馈