返回控制台

API 接入文档

给账户开发同事的接入说明 · 阅读无需登录;模型调用与外部账单查询使用 API 密钥;控制台接口使用登录会话

1. 接入准备

主账号在控制台创建 API 密钥,可以独立供程序使用,也可以绑定自己的子账号。账号本人在“API 密钥”中主动显示已绑定密钥。邮箱登录密码或验证码不用于 API 鉴权。

服务地址
Base URL
模型调用鉴权请求头Authorization: Bearer <API_KEY>
JSON 请求头Content-Type: application/json

以下命令在本地终端运行。先配置环境变量,将占位值替换为实际密钥与获准模型。本站文档不会收集密钥或自动发起调用。

export BASE_URL=""
export API_KEY="替换为你的API密钥"

请把密钥保存在服务端或安全配置中,不要写入公开代码或客户端页面。子账号与管理员调用模型时,都受该密钥的积分上限、模型/IP 限制及账户总余额约束。

图片任务与旧版媒体兼容接口

Seedream 5 专属文档:参数、参考图、查询与下载 · 打开模型测试表单

图片生成使用本节接口。视频新接入和网页生成统一使用 /v1/videos;本节的旧视频请求继续兼容,并共用能力校验与任务队列。模型与参数以当前密钥查询结果为准。上传支持 PNG/JPEG/WebP、MP4 和 WAV,各模型可用素材角色见模型详情。

操作接口
模型能力和参数GET /api/media/models
上传参考图(不扣积分)POST /api/media/references,multipart 的 file
提交前校验(不生成)POST /api/media/tasks/validate,同一请求体与 API Key,不占幂等编号;预估缺证据时返回 unknown
提交生成POST /api/media/tasks,必须带 Idempotency-Key
查询任务GET /api/media/tasks/{id}
下载产物GET /api/media/tasks/{id}/outputs/{output_id},仍需 Bearer 密钥
重试归档POST /api/media/tasks/{id}/retry-archive,不重新生成
curl "/api/media/tasks" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Idempotency-Key: project-shot-001-v1" \
  -H "Content-Type: application/json" \
  -d '{"model":"wan2.7-image-pro","prompt":"一只猫在窗边","parameters":{"size":"1024x1024"}}'

202 表示已排队。按返回的 Location 查询;completed 后拼接本站域名与 outputs[].url 下载。下载必须携带与生成相同的 Authorization,不能裸地址下载。

archive_failed 可重试归档;uncertain 表示可能已受理,不能换幂等标识重新生成。Seedream 默认使用 2048×2048;各模型尺寸与参考图角色读取 /api/media/models。带 IP 白名单的 Key 首版仍使用原 /v1 接口。

Nano Banana Pro(gemini-3-pro-image)与 Nano Banana 2(gemini-3.1-flash-image)支持参考图:先上传,再传 "references":[{"id":123,"role":"reference_image"}],最多 8 张。现有及新建的普通销售线路也支持,model 使用线路完整调用 ID;上传不计费,生成后沿用任务查询和鉴权下载。

GPT Image 2 / 2 official、普通 GPT Image 2.5、Seedream 4.5 支持最多 8 张参考图;Vidu Q2 Fast / Pro 最多 7 张,角色均为 reference_image。ToAPIs 线路先上传至上游公开存储,再发送生成请求;上游保留与删除期限尚未核实。参考图传输或成本校验失败时不发起生成。

kuadd gk-video-3.5 必须提供 1 张 first_frame;hailuo-h3-cankaosheng 必须提供 1–5 张 reference_image;seedance-2.0-guanfang-anmiao 可上传 MP4 参考视频,角色 reference_video,用法与计费见下文「kuadd Seedance」小节。时长、比例与已定价分辨率请读取 /api/media/models,缺少必需图片不能提交任务。

MiniMax-H3 支持带图生成视频:768p、4–15 整数秒。上传图片后在 references 使用 first_frame / last_frame(各一张)或 reference_image(最多 5 张),两种模式不能混用。首尾帧模式按输入图片决定画幅。旧 /v1/videos 的图片放在 metadata.content,具体请求示例见完整指南。

完整统一接口指南:请求结构、参考图、状态与重试

2. 查询可用模型

curl "$BASE_URL/models" \
  -H "Authorization: Bearer $API_KEY"

使用返回模型列表中的 data[].id 填写请求的 model。按 data[].type 选择接口:text 为文本对话,image 为图片生成,video 为视频生成;unknown 表示尚未登记类型,不应默认当作文本。object: "model" 是目录对象标识,不是模型类型。

图片模型的 supported_endpoint_types 为 ["image-generation"],调用 /v1/images/generations;视频模型为 ["openai-video"],调用 /v1/videos(也兼容 /v1/video/generations)。文本模型保留上游端点标识。目录只包含当前密钥获准的模型。

登录控制台“API 文档”可查看本人密钥的获准模型、图片尺寸与视频分辨率。本文不公开账户专属权限;规格和实际放行范围以该密钥当前权限为准。

AutoDL 七款模型

以下为 2026-10-24 接入范围。展示与 API 调用均使用 autodl/原模型名,保留大小写;旧的带账号哈希前缀名称已迁移,请更新收藏链接和程序配置。账户及 API Key 仍须获准所选型号。点击型号查看当前参数、参考价格和完整 curl / Python 示例。

调用 ID / 专属文档本站开放范围
autodl/DeepSeek-V4.1-Flash-1017文本对话;普通与 SSE 流式已核实
autodl/DeepSeek-V4-Pro文本对话;普通与 SSE 流式已核实
autodl/MiniMax-M3.1-Flash普通文本对话已核实;流式待核实
autodl/MiniMax-H3文生 / 图片参考 / 首尾帧视频;768p;4–15 整数秒
autodl/doubao-seedance-2-0-mini-260615文生 / 图片参考 / 首尾帧视频;480p / 720p;4–15 整数秒
autodl/doubao-seedance-2-0-260128文生 / 图片参考 / 首尾帧视频;480p / 720p / 1080p;4–15 整数秒
autodl/doubao-seedance-2-0-fast-260128文生 / 图片参考 / 首尾帧视频;480p / 720p;4–15 整数秒

四款视频的画幅比例均为 16:9、9:16 或 1:1,默认 16:9;提示词非空且最多 5000 字符。参考图版插件升级后,H3 最多 5 张图片,Seedance 最多 9 张;首帧和尾帧各一张,不能与 reference_image 混用,Seedance 尾帧必须搭配首帧。首尾帧按图片自动决定画幅(adaptive),纯文生不能用 adaptive。视频、音频参考尚未开放。本表是该 AutoDL 线路的范围,不适用于其他供应商的同名模型。实际生成验收规格为 H3 768p、三款 Seedance 480p,均为 4 秒、16:9;其他所列档位来自已接入协议与当前规格配置,不表示逐档实测。最新档位以专属文档为准。

文本请求与流式输出

三个文本型号均使用 POST /v1/chat/completions。普通请求使用下列结构,将 model 替换为表中所选文本 ID:

curl --fail-with-body "$BASE_URL/chat/completions" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"autodl/DeepSeek-V4.1-Flash-1017","messages":[{"role":"user","content":"你好,请用一句话介绍你自己。"}],"stream":false}'

普通回复读取 choices[0].message.content。两款 DeepSeek 可用下面的 SSE 示例;选择 Pro 时仅替换 model。M3.1 的流式尚未核实,先使用普通请求。

curl -N --fail-with-body "$BASE_URL/chat/completions" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"autodl/DeepSeek-V4.1-Flash-1017","messages":[{"role":"user","content":"你好"}],"stream":true}'

按 SSE 的 data: 消息读取 choices[].delta.content;空 delta 或仅含角色的片段无需作为文本显示,[DONE] 表示结束。响应中断时保留已收到内容与请求编号,不将半段回复当成完整成功结果。上下文上限、最大输出、工具调用和额外采样参数尚未核实,本节不承诺支持。

视频兼容接口:提交、查询、下载

下面是 mini 的 4 秒、480p 示例。使用另外三款时替换 model 和对应 metadata.resolution(H3 必须为 768p)。seconds 在此接口使用字符串,画幅放在 aspect_ratio,分辨率放在 metadata.resolution。

curl --fail-with-body "$BASE_URL/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model":"autodl/doubao-seedance-2-0-mini-260615",
    "prompt":"晨光下的平静湖面,远处青山,镜头固定。",
    "seconds":"4",
    "aspect_ratio":"16:9",
    "metadata":{"resolution":"480p"}
  }'

保存返回的 id 为 TASK_ID。每 5–10 秒查询一次;提交成功只表示已受理,等待 status 为 completed 后下载。失败或结果未知时保留原任务,不重新生成。

export TASK_ID="替换为提交返回的id"
curl --fail-with-body "$BASE_URL/videos/$TASK_ID" \
  -H "Authorization: Bearer $API_KEY"

# 仅在 completed 后执行;--fail 避免把 HTTP 错误页当作视频
curl --fail "$BASE_URL/videos/$TASK_ID/content" \
  -H "Authorization: Bearer $API_KEY" -o output.mp4

查询和下载均携带创建任务的同一把密钥。超时、5xx 或提交结果待确认时,不自动重发 POST;保留任务 ID、请求编号联系平台核验。

新程序也可使用各型号专属文档里的统一任务接口:parameters.seconds 为整数,另有 parameters.resolution 与 parameters.ratio,并带 Idempotency-Key。统一任务只走 /api/media/tasks/{id} 查询和 /outputs/0 下载;不要和本节的 /v1/videos 任务混用。

费用与权限

文本按实际输入、输出及缓存用量计费;两款 DeepSeek 的高峰为北京时间周一至周五 09:00–12:00、14:00–18:00,结束边界不含,其余为空闲,按结算时点选档。H3 按最终输出视频秒计费,Seedance 按供应商最终视频 token 计费,不能把 token 单价当成每秒价格。当前参考价格见所选模型详情,最终实扣和退款查看使用日志或账单 API。

401 / 403 请核对密钥、模型权限及 IP 限制;400 请核对本型号参数;429 请按响应提示降低频率。带 IP 白名单的 Key 使用 /v1 接口。未上架或未获准的模型不能通过修改文档链接获得调用权限。

带参考图生成视频

推荐用统一接口:先向 POST /api/media/references 上传图片,取得整数 ID,再在 POST /api/media/tasks 中提供 references: [{"id":123,"role":"reference_image"}]。上传不产生生成费用;只接受当前账户的图片。参考图版插件需先完成升级,当前开放范围以 /api/media/models 为准。

POST /v1/videos 则把图片放在 metadata.content,保留 metadata.resolution。不要使用顶层 images 或 references:

{
  "model": "autodl/doubao-seedance-2-0-mini-260615",
  "prompt": "让图片1中的物体缓慢旋转",
  "seconds": "4",
  "aspect_ratio": "16:9",
  "metadata": {
    "resolution": "480p",
    "content": [{"type":"image_url","role":"reference_image","image_url":{"url":"https://example.com/your-image.png"}}]
  }
}

将示例 URL 换成你的 HTTPS 图片或 PNG/JPEG/WebP 的 Base64 data URL;单张内联图最多 10 MiB,总请求最多 64 MiB。H3 的前 5 张图包含在输出秒价内;Seedance 图片输入使用无参考视频档,按最终视频 token 结算。参数适配完成不代表 AutoDL 实际带图调用已验收。

3. 对话

POST /v1/chat/completions · 兼容 Chat Completions 请求格式。

export MODEL="替换为获准的对话模型ID"
curl "$BASE_URL/chat/completions" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"model\":\"$MODEL\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}"

非流式回复读取 choices[0].message.content。需要流式输出时添加 "stream": true,客户端按 SSE 逐条处理 data: 消息和结束标记;使用 curl 时加 -N 关闭输出缓冲。

选择销售线路

同一公开模型可以有多条独立售价线路。模型目录以“模型 · 线路名”展示,复制所选线路的完整模型 ID 作为请求的 model,形如 模型@线路标识(例如 qwen3.8-max@fouryi);不需要增加新的请求字段。较早创建的线路和部分视频线路使用 gwline-… 形式的 ID,继续有效;视频线路也可形如 doubao-seedance-2-0-mini-260615@pro。/v1/models 的 sales_line 是线路说明。

线路支持文本 JSON /v1/chat/completions(含流式)、图片 JSON /v1/images/generations、视频 JSON /v1/videos、语音 JSON /v1/audio/speech、转写 multipart /v1/audio/transcriptions。使用原模型参数,仅替换 model;转写只能提交一个 model 字段。图片和视频也可用统一媒体任务接口,已受理任务继续查询原任务 ID。写线路 ID 时失败直接返回,不切换到其他线路。暂停或价格依据发生变化时返回 sales_line_unavailable。

只写模型名(不带 @线路标识)且该模型有线路时,按密钥设置在这把密钥已授权的线路中选择:主账号可在「API 密钥 → 管理 → 模型线路」逐模型勾选线路并选择调度策略(综合最优、价格优先、手动排序);未设置时使用全部已授权线路、综合最优。所选线路都不可用时返回 409 line_unavailable;都不支持本次参数时返回 400。密钥开启「失败自动切换」(默认开启)时,仅在上游明确未执行(无可用渠道、限流、线路已暂停)时换下一条线路,可能换到售价更高的线路;超时或结果未知不会重发。响应头 X-Gateway-Line 为实际线路,X-Gateway-Line-Failover 列出之前被拒的线路;按实际线路的售价扣费。

受限 Key 须单独获准该线路 ID,原模型权限不自动扩展。文本按输入、输出、缓存读写,媒体按目录列出的规格与单位,分别使用该线路售价扣积分;实际消耗以账单为准。账单和 CSV 保留线路版本 ID,旧模型调用保持原价。

4. 图片生成

POST /v1/images/generations

export IMAGE_MODEL="替换为获准的图片模型ID"
curl "$BASE_URL/images/generations" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"model\":\"$IMAGE_MODEL\",\"prompt\":\"一只猫坐在窗边\",\"n\":1}"

按模型要求提供 size 等参数,必须从当前获准规格中选择。不同模型可能返回 data[0].b64_json 或 data[0].url,两种都要处理。

本站产物地址需要带相同 API 密钥鉴权下载;只向本站可信地址发送密钥,不把 Authorization 转发到第三方域名。

GPT Image 2 官方渠道:质量与分辨率

gpt-image-2-official 按 quality × resolution 组合分档报价,用户侧显示积分/张。size 是宽高比(例如 16:9),不是 1024x1024 这样的像素尺寸。以当前账户模型目录中的已发布规格与价格为准;未定价的组合会在调用上游前拒绝。

{
  "model": "gpt-image-2-official",
  "prompt": "一只猫坐在窗边",
  "quality": "low",
  "resolution": "1k",
  "size": "1:1",
  "n": 1
}

省略时使用 high / 1k / 1:1 / n=1。质量可选 low、medium、high,分辨率可选 1k、2k、4k;本站暂不接受 auto。4k 仅支持 16:9、9:16、2:1、1:2、21:9、9:21;1k/2k 还支持 1:1、3:2、2:3、4:3、3:4、5:4、4:5。原生接口 n 为 1–4 的整数,统一接口每次生成一张。

统一媒体接口中,将 quality、resolution、size 放入 parameters;GET /api/media/models 返回 priced_combinations,请按实际组合选择。不要将不同模型的参数规则通用套用。旧日志缺少规格快照时标为待核验,不用现在的价格推算旧账。

5. 视频生成:统一使用 /v1/videos

网页生成和新程序都使用同一视频接口与能力定义。先查询 GET /v1/videos/models,按所选模型返回的参数与素材约束填写;上架和已登记规格不代表即时上游可用性。

视频接口与兼容说明

型号 / 用途生成接口素材规则
seedance-2.5-anmiao-quannengcankao:全能参考POST /v1/videos网页与 API 均支持;参考图、视频、音频至少一种。
seedance-2.5-guanfang-anmiao:满血版POST /v1/videos纯文生、首帧(ratio=adaptive)或参考图 / 视频 / 音频;音频可单独使用。
seedance-2.0-guanfang-anmiao:纯文生、首尾帧、参考图POST /v1/videos纯文生传空 references;首尾帧不能与参考素材混用。
Seedance 2.0:参考视频POST /v1/videos先上传 MP4,再用整数 id 和 reference_video 提交。
Seedance 2.0:参考音频POST /v1/videos先上传 WAV,以 reference_audio 提交;须搭配参考图或参考视频。
步骤接口
查询获准模型与规格GET /v1/videos/models
上传素材(不生成、不计费)POST /v1/videos/references,multipart file
校验(不生成、不计费)POST /v1/videos/validate
提交POST /v1/videos,JSON 与 Idempotency-Key
查询GET /v1/videos/{id}
下载GET /v1/videos/{id}/content
仅重试归档POST /v1/videos/{id}/retry-archive

所有 API 请求(包括下载)携带同一把 Bearer API 密钥。网页使用本人登录会话,由服务端核验本人绑定密钥,不向浏览器暴露密钥。设有 IP 白名单的 Key 仍不能后台排队,避免把客户 IP 限制变成后台机器 IP。

# BASE_URL 为 https://你的网关域名/v1
curl "$BASE_URL/videos/references" \
  -H "Authorization: Bearer $API_KEY" \
  -F "file=@reference.png"

# 将 123 替换为上传返回的整数 id;新任务使用唯一 REQUEST_ID,重试保留原值和正文。
curl "$BASE_URL/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Idempotency-Key: $REQUEST_ID" \
  -H "Content-Type: application/json" \
  -d '{"model":"seedance-2.5-anmiao-quannengcankao","prompt":"保持参考主体外观,缓慢转动镜头","seconds":4,"resolution":"720p","aspect_ratio":"16:9","references":[{"id":123,"role":"reference_image"}]}'

新请求的 seconds 为整数;resolution 与 aspect_ratio 在顶层,Seedance 2.0 的速度版本放 metadata.version,Seedance 2.5 满血版的联网搜索与参考方式放 metadata.web_search、metadata.reference_mode。必须包含 references 数组(纯文生为 []);不要同时传 metadata.content。返回 202 和 gv_ 开头的任务 ID 仅表示排队,不表示生成成功。

curl "$BASE_URL/videos/$TASK_ID" -H "Authorization: Bearer $API_KEY"
# completed 后下载
curl "$BASE_URL/videos/$TASK_ID/content" -H "Authorization: Bearer $API_KEY" -o output.mp4

queued / submitting / running / archiving 表示处理中;completed 后下载。uncertain 表示提交结果未知,不得换编号重复生成;archive_failed 只重试归档。关闭页面后任务继续,费用以实际扣款与退款为准。

Seedance 素材与计费规则

上传:图片 PNG/JPEG/WebP,每张 ≤10 MiB、最短边 ≥300 px;视频 MP4,每个 ≤50 MB;音频 WAV,每段 ≤10 MiB。图片与音频内联合计 ≤30,000,000 字节。视频由供应商经本站审计的限时取件地址下载,任务结束即失效。

型号参数素材与计费
Seedance 2.5 全能参考4–30 秒;480p / 720p / 1080p;16:9、9:16、1:1、4:3、3:4、21:9至少 1 个素材,参考图 ≤30、视频 ≤10、音频 ≤10;带参考视频时整段按「含视频」每秒价计费。
Seedance 2.5 满血版4–30 秒;480p / 720p / 1080p;画幅含 adaptive;metadata.web_search:off(默认)或 on;metadata.reference_mode:omni(默认)或 extend纯文生;首帧 1 张(不支持尾帧);或参考图 ≤30、视频 ≤10、音频 ≤10,音频可单独使用,首帧不可与参考素材混用。视频每个 2–30 秒、合计 ≤30 秒,像素 409,600–8,295,044,帧率 23.8–60,宽高比 0.4–2.5。extend 须带参考视频;首帧与 extend 只支持 adaptive。带参考视频时整段按「含视频」每秒价计费,不另收参考视频费。
Seedance 2.0 满血版4–15 秒;metadata.version:standard(默认,720p / 1080p / 4k)、fast 或 mini(480p / 720p);画幅另含 adaptive纯文生;首帧与可选尾帧;或参考图 ≤9、视频 ≤3、音频 ≤3。音频须搭配参考图或视频,首尾帧不可混用。视频每个 2–15 秒、合计 ≤15 秒,像素 409,600–927,408,帧率 23.8–60,宽高比 0.4–2.5。带视频时整段按含参考视频价,另加参考视频计费秒数 × 参考视频秒价:各视频向下取到 0.1 秒后相加,不足成片秒数 × 2/3 向上取整到整秒时按后者计。

已有程序如何兼容

旧 /api/media/tasks 请求和原任务查询、下载继续有效,与新入口共用任务记录和执行流程。旧 /v1/videos 的 metadata.content、内联素材、公网素材 URL、multipart 以及原生任务 ID 仍按原协议处理,不自动变成后台排队任务;支持格式以原模型合同为准。原生请求不带 references,继续使用原任务 ID 查询下载。新接入使用上面的上传 ID 示例,无需选择第二个视频生成接口。

完整媒体指南与恢复约定

MiniMax Speech 2.8 语音合成

获准调用 minimax-speech-2.8-hd 或 minimax-speech-2.8-turbo 后,使用 POST /v1/audio/speech。以下示例不会自动发起调用;是否可用以当前密钥的模型列表为准。

{"model":"minimax-speech-2.8-turbo","input":"你好,欢迎使用酷加。","voice":"male-qn-qingse","response_format":"mp3","speed":1}

成功返回音频二进制;支持 mp3、wav、flac、pcm,当前不支持客户流式请求。input 非空且少于 10000 字符,speed 范围 0.5–2;仅支持已核实普通音色,不支持克隆。

按供应商实际返回的计费字符数乘以目录中的积分单价扣费,计费字符数可能与文本长度不同,不能按固定倍数换算。例如请求长度 10、实际计费字符数 18 时,按 18 计算;每千字符单价为 P 积分则消耗为 18 ÷ 1000 × P(最终精度以账单为准)。不另收音频输出时长费。

遇到超时或 speech_result_unknown,请保留 X-Oneapi-Request-Id 交管理员核对;这不代表供应商未生成或账户未扣款,不要自动重新提交。

6. 积分、限额与对账

同一账户的所有密钥共用账户积分余额,各密钥独立统计用量;额度留空跟随账户余额,显式设置时再增加独立累计上限。网页工作台与外部程序使用同一把密钥时合并记账。累计上限不是充值,也不会按月自动重置。

主账号在“账单与用量”选择账户合计或单把密钥,并按 UTC 日期查询和导出 CSV。个人在“API 密钥”查看本人绑定密钥的账单。账单以实际扣款与退款为准,净消耗=扣除积分-返还积分;报价或 token 预估不代替实际账单。

输入与缓存价格

多轮对话通常会重复发送历史上下文,这些输入会计入每次请求的用量。缓存命中不等于免费;缓存读取、缓存写入与普通输入可能使用不同单价。请查看所选模型或线路的参考价格。未列出独立缓存价格时,不代表免费或与输入同价,请先向管理员确认实际计费规则。

外部程序账单 API

使用本站域名与 Authorization: Bearer <API_KEY>,无需复制 Cookie。金额单位 points,以精确小数字符串返回,不按当前售价重算旧账。

GET 接口用途
/v1/skills/balance账户余额、当前 Key 已用/剩余额度。不限额时 limit 为 "0"、unlimited=true,省略 remaining。
/v1/skills/usage消费汇总与逐笔关联记录。scope=key 默认仅当前 Key;scope=user 需主账号在「API 密钥 → 管理 → 账单 API 权限」开启,子账号 Key 不可开启。
/v1/skills/task-status?task_id=…当前 Key 的单次状态与实扣。原样使用明细的 task_id、响应头 X-Task-Id 或统一媒体任务 ID。

usage 参数:days 默认 1、最大 30;start_time/end_time 必须同时传,覆盖 days,接受 RFC3339、日期时间或日期,无时区按 UTC,区间左闭右开、最多 30 天。key_id 可在获准账户范围筛选单把密钥,当前 Key 范围不扩权;model 精确筛选模型/销售线路 ID;detail=1 返回 records,limit 默认 50、最大 200,offset 从 0 起。默认返回 grand_total 与 by_model,含净消耗 cost、扣款 charged_amount、退款 refunded_cost、记录 count 以及成功/失败/未知和财务笔数。明细含 task_id、模型、状态、实扣/退款、输入输出与缓存 token(未知为 null)、时间和原生流水编号。

curl '/v1/skills/usage?days=14&detail=1&limit=50&offset=0' \
  -H "Authorization: Bearer $API_KEY"
import os
from decimal import Decimal
import requests
r = requests.get("/v1/skills/usage",
    headers={"Authorization": "Bearer " + os.environ["API_KEY"]},
    params={"days": 14}, timeout=30)
r.raise_for_status()
net_points = Decimal(r.json()["grand_total"]["cost"])

账单按原生入账时间统计扣款减退款,退款可使当期净额为负。包含同一 Key 的网页调用;尚无原生流水的任务不在消费列表中。不是全部 API 调用日志。相同任务/请求编号才合并,旧记录无编号时不猜关联;count 不保证等于真实请求次数。响应字段在顶层,无 data 信封。无实扣依据返回 null,不表示免费。is_final 只确认执行终态,异步结算费用应复查;分页期间新流水可能造成 offset 位移。

每 Key 三个接口合计 60 次/分钟,429 带 Retry-After。400 参数错误,401 Key 失效,403 未授权或 IP 不允许,404 无当前 Key 可见记录,413 超过 100000 条须缩小账期,503 数据暂不可读;错误为 error.code/type/message。API Key 不会因此获得门户或管理员权限。外部接口不提供 CSV,完整导出仍使用下方控制台入口。

认证与查询范围

页面上的积分只展示整数部分,直接舍去小数,不四舍五入。API 和 CSV 保留原始小数精度,实际扣款不变;不足 1 积分显示为 0,精确对账请使用接口或 CSV。

以下为控制台账单接口,依赖本站登录会话 Cookie,暂不支持 Authorization: Bearer <API_KEY>。请先登录控制台,再在同一浏览器中访问。主账号通过邮箱验证登录;子账号使用用户名密码登录。不要把会话 Cookie 复制到外部程序作为长期凭证。

接口使用本站域名加完整路径,不附加 /v1。/api/team/* 仅供主账号查询本账户;/api/me/* 只查询当前登录账号绑定的密钥,且要求该密钥已开通并可用。主账号调用 /api/me/* 也不会得到全部密钥的合计。账户归属由登录身份确定,无需传账户 ID。

GET 接口结果与权限
/api/team/bill主账号:本账户全部消费汇总,可筛选单把密钥。
/api/team/usage主账号:本账户消费明细,可筛选单把密钥。
/api/team/bill?format=csv主账号:下载本账户消费 CSV,可筛选单把密钥。
/api/me/bill主账号或子账号:本人绑定密钥的消费汇总。
/api/me/usage主账号或子账号:本人绑定密钥的消费明细。
/api/me/usage.csv主账号或子账号:下载本人绑定密钥的消费 CSV。

查询参数

参数说明
since可选,起始日期,格式 YYYY-MM-DD,包含当天。
until可选,结束日期,格式 YYYY-MM-DD,包含当天。
member_id仅上述主账号接口支持,值为本账户密钥记录的 key_id,不是 API 密钥原文,也不是用户名。可通过登录后的 GET /api/team/keys 读取 members[].key_id;不传则统计全部密钥。
format=csv用于 /api/team/bill 导出详单;不传则返回 JSON 汇总。个人导出使用单独的 /api/me/usage.csv。
model、entry_type明细和 CSV 支持:model 为大小写不敏感的模型关键词(最多 191 字符,按字面匹配);entry_type 可选 charge(扣款)或 refund(退款),不传查两种。JSON 汇总接口不使用这两个筛选条件。
limit、cursor仅两个 usage 明细接口支持。limit 为 1–500,默认 500;首次不传 cursor,后续使用上页的 next_cursor,并保持其他筛选条件一致。CSV 忽略分页参数,导出符合筛选条件的全部流水(受导出上限约束)。

日期均按 UTC。两端留空查询全部历史;只填一端表示不限制另一端。例如 since=2026-09-01&until=2026-09-15 查询从 9 月 1 日 00:00 到 9 月 16 日 00:00 之前的流水。退款按退款发生时间计入,可与原扣款不在同一查询区间。

同站浏览器调用示例

先登录,再在本站页面的浏览器开发者工具 Console 中运行以下只读示例。浏览器自动携带登录 Cookie,不填写 API Key;示例不会调用模型或扣除积分。

// 主账号查询账户汇总,可按需修改日期。
const query = new URLSearchParams({ since: '2026-09-01', until: '2026-09-15' });
const response = await fetch('/api/team/bill?' + query, {
  credentials: 'same-origin'
});
const result = await response.json();
if (!response.ok) throw new Error(result.error || ('HTTP ' + response.status));
console.log(result);

查询账户明细时将路径改为 /api/team/usage;查询本人密钥时改为 /api/me/bill 或 /api/me/usage。需要筛选某把密钥时,主账号在 query 中增加 member_id。

CSV 可在同一登录浏览器中直接打开以下地址;修改日期后访问即可下载:

/api/team/bill?format=csv&since=2026-09-01&until=2026-09-15
/api/me/usage.csv?since=2026-09-01&until=2026-09-15

JSON 返回示例与字段

以下为虚构数据,仅展示常用字段;两个汇总接口使用相同结构:

{
  "bill": {
    "requests": 2,
    "refunds": 1,
    "input_tokens": 300,
    "output_tokens": 500,
    "charged_points": "12.5",
    "refunded_points": "2.5",
    "spent_points": "10"
  }
}

requests 是扣款记录笔数(包含可能的补扣),不是用户发起调用的次数;refunds 是退款笔数。积分字段为精确十进制字符串,计算时使用十进制库。charged_points 为扣除积分,refunded_points 为返还积分,spent_points 为净消耗。只有退款的区间,净消耗可以为负数。无流水返回 {"bill": null}。汇总还含 models(按模型)和 sources(按来源与应用)分组,均是总账的子集,不能重复相加。

{
  "usage": [{
    "time_utc": "2026-09-15T01:00:00+00:00",
    "model": "示例模型",
    "input_tokens": 0,
    "output_tokens": 0,
    "source": "api",
    "app_id": "",
    "entry_type": "refund",
    "points": "-2.5"
  }],
  "has_more": false
}

两个明细接口均返回 usage 数组,按时间和流水 ID 倒序,每页最多 500 条;has_more=true 时用 next_cursor 查询下一页。不能把一页求和当成完整账单。无流水返回 {"usage": [], "has_more": false, "next_cursor": null}。每行 log_id 为原生流水 ID,可用于核查重复记录;entry_type 为 charge(扣款)或 refund(退款);points 是该行对净消耗的贡献,退款为负数。source 与 app_id 表示调用来源及应用,来源无法识别的流水仍计入总账。

例如 /api/team/usage?model=qwen3.8&limit=50 查找主账号全部密钥的该模型流水。模型筛选在分页前执行,不限于最近 500 条。没有产生扣款或退款的失败调用不一定出现在使用日志中。

CSV、限制与错误

CSV 为带 UTF-8 BOM 的 usage.csv,列为 time_utc,institution,user_id,model,input_tokens,output_tokens,token_id,source,app_id,entry_type,points。其中 ID 列用于记录关联,不是访问凭证,也无需展示给终端用户。金额只有积分,不包含上游成本或客户提示词。文本经过表格公式防护,退款积分保留负数。

单次 CSV 最多 10,000 条;超过上限返回 413,必须缩小日期范围,不会下载截断文件。空结果仅含表头。汇总、明细与 CSV 分别读取实时流水;查询期间出现新扣款或退款时结果可能不同,不代表已封账或固定账期快照。

状态处理方式
400检查日期格式、起止顺序或密钥筛选条件;按响应的 error 修正。
401 / 403登录会话失效、权限不足,或本人密钥不可用。重新登录并确认账号角色及绑定密钥;API Key 不能替代登录会话。
413CSV 超过 10,000 条,缩小日期范围后重试。
503账单数据或计量依据暂不可核验;稍后重试或联系平台,不能按零消费处理。

错误响应形式为 {"error": "具体原因"}。账单响应禁止缓存。外部程序请使用上方独立的 /v1/skills 账单接口。

7. 错误与重试

403 / insufficient_user_quota 表示账户余额不足以满足本次预扣。已识别的原生额度错误以积分提示;金额无法可靠换算时仅提示余额不足,不猜测数值。预扣依据包括输入和请求的输出上限,不是最终实际消耗。可充值,或按实际任务缩短上下文、降低 max_tokens / max_completion_tokens;不要原样循环重试。最终扣款与退款请查账单,排查时保留请求编号。

情况排查方法
400:参数或规格不支持检查模型类型、参数类型与获准规格。若提示“价格尚未由管理员配置”,请联系平台开通;若提示 n must be exactly 1,请将生成张数设为 1。按响应中的具体说明修正。
401 / 403:鉴权或权限拒绝核对密钥、模型/IP 白名单、账户状态及密钥状态;余额或限额不足时按错误提示联系管理员。
429:请求受限降低并发并退避;响应含 Retry-After 时遵循该值。
5xx / 超时可能是网关或上游暂不可用。写请求尤其是视频提交先核验原结果,不能假定没有扣款或没有创建任务。

联系平台排障时提供时间(UTC)、模型、HTTP 状态、响应中的请求/任务 ID 和已脱敏的错误信息,不发送 API 密钥。

本文为通用 API 接入说明。账号管理与模型调用权限独立;阅读文档不会开通账户、授予模型权限或充值。