# 快速开始

从选择一个具体模型，到发出第一条请求。下面的例子采用本站网关支持的 OpenAI Chat 兼容格式。

> API 调用以服务端目录、密钥权限与可用额度为准，执行示例会发起真实计费请求。充值请登录个人工作台，或打开[充值页面](../recharge.html)办理；图片、音视频及其他协议是否可用取决于实际型号与渠道配置，不因文档中有示例就视为开通。

## 1. 选择具体模型

在[模型广场](../models.html)查看已发布型号、协议与分组售价，复制完整模型 ID。首次调用请选择 `openai-chat` 协议的文本型号，并核对目录中的 `maxOutputTokens`。

- 日常文本与代码任务：查看「文本」分类。
- 图片创作与编辑：查看「图片」分类及实际支持的协议。
- 视频任务：仅在目录和供应商通道均已配置后使用，不承诺当前可用。

## 2. 准备地址与密钥

登录[个人工作台](../dashboard.html#keys)，按服务端配置与账户权限创建真实应用 Key。密钥仅按页面提示展示，不提供演示 Key。核对本人余额与冻结额度，将应用密钥放在自己服务端的环境变量中。

网页地址随业务域切换；下载 .md 使用 123ali.com 示例，请以工作台的 Base URL 为准。未知或预览域不提供接入地址。

<!-- model-base-url:start -->

```bash
# Base URL 使用当前业务域对应的 api 子域，含 /v1
export AI_RELAY_BASE_URL="https://api.123ali.com/v1"
# 在私有服务端环境设置 AI_RELAY_API_KEY，不要写进公开代码
# 将 AI_RELAY_MODEL 设为目录中支持 openai-chat 的真实型号
# 将 AI_RELAY_MAX_TOKENS 设为不超过该型号 maxOutputTokens 的正整数
```

<!-- model-base-url:end -->

`AI_RELAY_BASE_URL` 已包含 `/v1`，后续请求只追加接口路径，例如 `/chat/completions`。[中转站](../relay.html#integration)可复制所选真实型号的代码示例，复制本身不会执行请求。

## 3. 发出第一条请求

```bash
: "${AI_RELAY_API_KEY:?请在私有环境设置应用密钥}"
: "${AI_RELAY_MODEL:?请设置目录中的真实模型 ID}"
: "${AI_RELAY_MAX_TOKENS:?请设置目录允许的最大输出 Token}"
python3 -c 'import json, os; print(json.dumps({"model": os.environ["AI_RELAY_MODEL"], "messages": [{"role": "user", "content": "用一句话介绍你能做什么。"}], "max_tokens": int(os.environ["AI_RELAY_MAX_TOKENS"])}))' \
  | curl --fail-with-body "$AI_RELAY_BASE_URL/chat/completions" \
    -H "Authorization: Bearer $AI_RELAY_API_KEY" \
    -H "Content-Type: application/json" \
    --data-binary @-
```

常规文本回答从 `choices[0].message.content` 读取。流式返回、图片和视频的响应结构不同，分别参考对应章节。请求中断或结果不确定时，先在[调用记录](../dashboard.html#logs)核对状态、用量与费用，再决定是否重试。
