> ## Documentation Index
> Fetch the complete documentation index at: https://docs.codeflare.cc/llms.txt
> Use this file to discover all available pages before exploring further.

# JavaScript SDK

> 使用官方 OpenAI SDK 接入 Responses 与 Chat Completions。

## 安装与配置

```bash theme={null}
npm install openai
export CODEFLARE_API_KEY="YOUR_CODEFLARE_KEY"
```

先复制[区域 Base URL](/zh/regions) 与[模型 ID](/zh/models)。下方以 Responses 为例；模型必须支持对应协议。JavaScript 示例用于 Node.js 服务端，不用于浏览器。

<CodeGroup>
  ```python Python theme={null}
  from openai import OpenAI
  import os

  client = OpenAI(
      api_key=os.environ["CODEFLARE_API_KEY"],
      base_url="https://YOUR-REGION.example/v1",
      max_retries=0,
  )
  response = client.responses.create(
      model="MODEL_ID", input="Hello",
      max_output_tokens=256, store=False,
  )
  print(response.output_text)
  ```

  ```javascript JavaScript theme={null}
  import OpenAI from "openai";

  const client = new OpenAI({
    apiKey: process.env.CODEFLARE_API_KEY,
    baseURL: "https://YOUR-REGION.example/v1",
    maxRetries: 0,
  });
  const response = await client.responses.create({
    model: "MODEL_ID", input: "Hello",
    max_output_tokens: 256, store: false,
  });
  console.log(response.output_text);
  ```

  ```bash cURL theme={null}
  curl "https://YOUR-REGION.example/v1/responses" \
    -H "Authorization: Bearer $CODEFLARE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{"model":"MODEL_ID","input":"Hello","max_output_tokens":256,"store":false}'
  ```
</CodeGroup>

## 流式输出

复用上面配置好且关闭自动重试的 `client`，订阅输出文本增量。流式支持取决于路由能力。

<CodeGroup>
  ```python Python theme={null}
  with client.responses.create(
      model="MODEL_ID", input="Hello",
      max_output_tokens=256, store=False, stream=True,
  ) as stream:
      for event in stream:
          if event.type == "response.output_text.delta":
              print(event.delta, end="", flush=True)
  ```

  ```javascript JavaScript theme={null}
  const stream = await client.responses.create({
    model: "MODEL_ID", input: "Hello",
    max_output_tokens: 256, store: false, stream: true,
  });
  for await (const event of stream) {
    if (event.type === "response.output_text.delta") {
      process.stdout.write(event.delta);
    }
  }
  ```
</CodeGroup>

## Chat Completions

若模型支持 `chat-completions`，使用 `client.chat.completions.create`；请求与流式事件格式见 [Chat Completions](/zh/api/chat-completions)。

<Warning>SDK 默认重试可能导致重复生成与消费。示例显式设置 `max_retries=0`（Python）或 `maxRetries: 0`（JavaScript）。连接中断时先检查请求日志和已保存的响应，不要盲目重发。</Warning>

供应商 SDK 只是客户端；实际能力与限制由 Codeflare 模型及渠道配置决定。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.