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

# 快速接入

> 订阅 Token Plan、获取 API Key 并完成首个模型调用

本页引导您在 5 分钟内完成 Token Plan 的订阅、密钥获取，并通过 OpenAI 兼容接口完成首个调用。SenseAudio 自研提供 **S2 系列（旗舰 / Flash / Lite）**，默认示例以 **SenseAudio-S2**（`senseaudio-s2`）为例。

## 开始使用

<Steps>
  <Step title="订阅 Token Plan">
    进入 [SenseAudio 官网](https://senseaudio.cn/)，在顶部导航点击 **Token Plan**。

    <Frame>
      <img src="https://mintcdn.com/sa-5efeb1e4/fetWK5LoIU2FmXRC/images/token-plan/console-entry.png?fit=max&auto=format&n=fetWK5LoIU2FmXRC&q=85&s=9d024a766594e5c4b56a3c253fd2506a" alt="SenseAudio 官网顶部导航 · Token Plan 入口" width="2932" height="788" data-path="images/token-plan/console-entry.png" />
    </Frame>

    页面滚动到套餐区域，按需求选择 **Pro（¥199）/ Max（¥699）/ Ultra（¥1,899）** 任一档位，点击「开始」按钮完成支付。

    <Frame>
      <img src="https://mintcdn.com/sa-5efeb1e4/-FnNu4TDeHJ7WJBI/images/token-plan/vip-subscription.png?fit=max&auto=format&n=-FnNu4TDeHJ7WJBI&q=85&s=ad5194694e189e1888dc892d6e871b29" alt="Token Plan 套餐卡片 · Pro / Max / Ultra" width="2622" height="1324" data-path="images/token-plan/vip-subscription.png" />
    </Frame>
  </Step>

  <Step title="获取 API Key">
    支付完成后，在官网顶部导航点击 **API 平台**，在下拉菜单的 **开发者** 区域选择 **API 密钥**，进入API密钥页面

    <Frame>
      <img src="https://mintcdn.com/sa-5efeb1e4/-FnNu4TDeHJ7WJBI/images/token-plan/switch-to-api-platform.png?fit=max&auto=format&n=-FnNu4TDeHJ7WJBI&q=85&s=0723049ea11c72eb64b4f82e53d3503f" alt="左上角工作区切换到 SenseAudio API" width="2914" height="986" data-path="images/token-plan/switch-to-api-platform.png" />
    </Frame>

    进入 API 密钥页面后，点击右上角的 **+ 创建新密钥**，复制生成的 Key 并妥善保存。该 Key 可直接用于 Token Plan 的模型调用。

    <Frame>
      <img src="https://mintcdn.com/sa-5efeb1e4/fetWK5LoIU2FmXRC/images/token-plan/api-key-create.png?fit=max&auto=format&n=fetWK5LoIU2FmXRC&q=85&s=36dfe87437700b6eae27dba7b439b447" alt="API 密钥 · 新增 API Key" width="3018" height="1644" data-path="images/token-plan/api-key-create.png" />
    </Frame>

    <Warning>
      **重要提示**

      * 套餐额度用尽或达到限制后，可开启 **Extra Usage**，超出部分自动按量计费、从账户积分余额扣费。
      * API Key 仅展示一次，强烈建议立即设置为环境变量：

      ```bash theme={null}
      export SENSEAUDIO_API_KEY="sk-xxxxxx"
      ```

      * 请勿提交到公共仓库或泄露给他人。
    </Warning>
  </Step>

  <Step title="测试首个请求">
    SenseAudio Token Plan 提供 **OpenAI 兼容**接口，示例以 **SenseAudio-S2**（`senseaudio-s2`）为例，替换 `model` 字段即可切换到 **S2-Flash**（`senseaudio-s2-flash`）、**S2-Lite**（`senseaudio-s2-lite`）、**VL-1.0**（`senseaudio-vl-1.0-260319`）、**VL-Lite-1.0**（`senseaudio-vl-lite-1.0-260319`）或第三方模型（如 `glm-5.1` / `minimax-m2.7` / `qwen3.6-35b-a3b` / `deepseek-v4-pro` 等）。

    <Tabs>
      <Tab title="OpenAI 兼容（推荐）">
        Base URL：`https://api.senseaudio.cn/v1`

        <CodeGroup>
          ```bash cURL theme={null}
          curl https://api.senseaudio.cn/v1/chat/completions \
            -H "Authorization: Bearer $SENSEAUDIO_API_KEY" \
            -H "Content-Type: application/json" \
            -d '{
              "model": "senseaudio-s2",
              "messages": [
                {"role": "system", "content": "You are a helpful assistant."},
                {"role": "user", "content": "用一句话介绍你自己。"}
              ]
            }'
          ```

          ```python Python theme={null}
          # pip install openai
          from openai import OpenAI

          client = OpenAI(
              api_key="<SENSEAUDIO_API_KEY>",
              base_url="https://api.senseaudio.cn/v1",
          )

          resp = client.chat.completions.create(
              model="senseaudio-s2",
              messages=[
                  {"role": "system", "content": "You are a helpful assistant."},
                  {"role": "user", "content": "用一句话介绍你自己。"},
              ],
          )
          print(resp.choices[0].message.content)
          ```

          ```javascript Node.js theme={null}
          // npm install openai
          import OpenAI from "openai";

          const client = new OpenAI({
            apiKey: process.env.SENSEAUDIO_API_KEY,
            baseURL: "https://api.senseaudio.cn/v1",
          });

          const resp = await client.chat.completions.create({
            model: "senseaudio-s2",
            messages: [
              { role: "system", content: "You are a helpful assistant." },
              { role: "user", content: "用一句话介绍你自己。" },
            ],
          });

          console.log(resp.choices[0].message.content);
          ```

          ```go Go theme={null}
          // go get github.com/sashabaranov/go-openai
          package main

          import (
              "context"
              "fmt"
              "os"

              "github.com/sashabaranov/go-openai"
          )

          func main() {
              config := openai.DefaultConfig(os.Getenv("SENSEAUDIO_API_KEY"))
              config.BaseURL = "https://api.senseaudio.cn/v1"
              client := openai.NewClientWithConfig(config)

              resp, err := client.CreateChatCompletion(
                  context.Background(),
                  openai.ChatCompletionRequest{
                      Model: "senseaudio-s2",
                      Messages: []openai.ChatCompletionMessage{
                          {Role: openai.ChatMessageRoleSystem, Content: "You are a helpful assistant."},
                          {Role: openai.ChatMessageRoleUser, Content: "用一句话介绍你自己。"},
                      },
                  },
              )
              if err != nil {
                  fmt.Println("请求失败:", err)
                  return
              }
              fmt.Println(resp.Choices[0].Message.Content)
          }
          ```

          ```java Java theme={null}
          import java.net.URI;
          import java.net.http.HttpClient;
          import java.net.http.HttpRequest;
          import java.net.http.HttpResponse;

          public class QuickStart {
              public static void main(String[] args) throws Exception {
                  String apiKey = System.getenv("SENSEAUDIO_API_KEY");
                  String body = """
                      {
                        "model": "senseaudio-s2",
                        "messages": [
                          {"role": "system", "content": "You are a helpful assistant."},
                          {"role": "user", "content": "用一句话介绍你自己。"}
                        ]
                      }
                      """;

                  HttpRequest request = HttpRequest.newBuilder()
                      .uri(URI.create("https://api.senseaudio.cn/v1/chat/completions"))
                      .header("Authorization", "Bearer " + apiKey)
                      .header("Content-Type", "application/json")
                      .POST(HttpRequest.BodyPublishers.ofString(body))
                      .build();

                  HttpResponse<String> response = HttpClient.newHttpClient()
                      .send(request, HttpResponse.BodyHandlers.ofString());

                  System.out.println(response.body());
              }
          }
          ```
        </CodeGroup>
      </Tab>

      <Tab title="Responses 风格">
        Endpoint：`https://api.senseaudio.cn/v1/responses`

        <CodeGroup>
          ```bash cURL theme={null}
          curl https://api.senseaudio.cn/v1/responses \
            -H "Authorization: Bearer $SENSEAUDIO_API_KEY" \
            -H "Content-Type: application/json" \
            -d '{
              "model": "senseaudio-s2",
              "input": "用一句话介绍你自己。"
            }'
          ```

          ```python Python theme={null}
          # pip install openai
          from openai import OpenAI

          client = OpenAI(
              api_key="<SENSEAUDIO_API_KEY>",
              base_url="https://api.senseaudio.cn/v1",
          )

          resp = client.responses.create(
              model="senseaudio-s2",
              input="用一句话介绍你自己。",
          )
          print(resp.output_text)
          ```

          ```javascript Node.js theme={null}
          // npm install openai
          import OpenAI from "openai";

          const client = new OpenAI({
            apiKey: process.env.SENSEAUDIO_API_KEY,
            baseURL: "https://api.senseaudio.cn/v1",
          });

          const resp = await client.responses.create({
            model: "senseaudio-s2",
            input: "用一句话介绍你自己。",
          });

          console.log(resp.output_text);
          ```
        </CodeGroup>
      </Tab>
    </Tabs>
  </Step>

  <Step title="接入 AI 编程工具">
    挑选您常用的 AI 编程工具完成配置，即可在实际项目里体验 **SenseAudio Token Plan**。

    <Columns cols={3}>
      <Card title="Claude Code" icon="wand-magic-sparkles" href="/guides/token-plan/claude-code" arrow />

      <Card title="Cursor" icon="arrow-pointer" href="/guides/token-plan/cursor" arrow />

      <Card title="Trae" icon="layer-group" href="/guides/token-plan/trae" arrow />
    </Columns>

    <Columns cols={3}>
      <Card title="Zed" icon="pen-nib" href="/guides/token-plan/zed" arrow />

      <Card title="Codex CLI" icon="terminal" href="/guides/token-plan/codex-cli" arrow />

      <Card title="Grok CLI" icon="terminal" href="/guides/token-plan/grok-cli" arrow />
    </Columns>

    <Columns cols={3}>
      <Card title="Droid" icon="robot" href="/guides/token-plan/droid" arrow />

      <Card title="Cline" icon="code" href="/guides/token-plan/cline" arrow />

      <Card title="Roo Code" icon="rocket" href="/guides/token-plan/roo-code" arrow />
    </Columns>

    <Columns cols={3}>
      <Card title="Kilo Code" icon="bolt" href="/guides/token-plan/kilo-code" arrow />

      <Card title="OpenCode" icon="folder-open" href="/guides/token-plan/opencode" arrow />

      <Card title="MonkeyCode" icon="briefcase" href="/guides/token-plan/monkeycode" arrow />
    </Columns>
  </Step>
</Steps>

## 最佳实践

<Columns cols={2}>
  <Card title="模型使用技巧" icon="lightbulb" href="/guides/token-plan/best-practices" arrow>
    SenseAudio S2 系列的高效 Prompt 模式、长任务推理与状态跟踪。
  </Card>

  <Card title="常见工作流" icon="diagram-project" href="/guides/token-plan/common-workflows" arrow>
    Step-by-step 任务模板，把 Agent 用熟。
  </Card>
</Columns>
