API 文档

完全兼容 OpenAI 接口

一个 endpoint 同时调用 Claude 与 GPT。把 base_url 指过来、换上你的 sk- 密钥即可,现有 OpenAI SDK 无需改动。

快速开始

base_url https://api.xdro.net/v1
鉴权 请求头 Authorization: Bearer <你的 sk- 密钥>
计费 按 token 用量,每个 Key 有配额上限
# 最小示例:把 $KEY 换成你的密钥
curl https://api.xdro.net/v1/chat/completions \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-sonnet-4-6","messages":[{"role":"user","content":"你好"}]}'

完全兼容 OpenAI SDK —— Python / Node 只改 base_urlapi_key 即可。

可用模型

模型 ID厂商档位说明
claude-opus-4-8Anthropic旗舰最强推理 / 深度分析(不支持 temperature)
claude-sonnet-4-6Anthropic标准均衡首选,性价比最高
claude-haiku-4-5-20251001Anthropic经济快、便宜,低延迟
gpt-4oOpenAI标准多模态,代码 / 推理 / 视觉均衡
gpt-4o-miniOpenAI经济轻量、大批量低成本
gpt-5OpenAI旗舰推理模型,用 max_completion_tokens
gpt-5-miniOpenAI标准推理模型,用 max_completion_tokens
gpt-5.5OpenAI旗舰最新旗舰;推理模型,用 max_completion_tokens
gpt-5.4OpenAI旗舰高性能;推理模型,用 max_completion_tokens
gpt-5.4-miniOpenAI标准高性价比;推理模型,用 max_completion_tokens
gpt-5.4-nanoOpenAI经济最省、大批量;推理模型,用 max_completion_tokens
gemini-2.5-proGoogle旗舰1M 上下文,长文 / 检索 / 推理;思考型,max_tokens 给足(≥4096)
gemini-2.5-flashGoogle标准高速,1M 上下文
gemini-2.5-flash-liteGoogle经济最省、大批量,1M 上下文
gemini-2.5-flash-imageGoogle标准图像生成(Nano Banana);走 chat 接口,返回 data:image,约 ¥0.42/张
gemini-3-pro-image-previewGoogle旗舰图像生成(Nano Banana Pro);走 chat 接口,约 ¥1.45/张
sunoSuno旗舰音乐生成;走 /sunoapi 异步接口(非 /v1/chat),¥2/次出 2 首

POST/v1/chat/completions发送对话 → 获取回复

参数类型说明
model *string模型 ID(见上表)
messages *array对话历史,元素含 role(system/user/assistant/tool)+ content
streambooleantrue 时按 SSE(data: {...})逐块返回
max_tokensinteger输出长度(Claude / GPT-4o 系列)
max_completion_tokensinteger输出长度(GPT-5 系列专用)
temperature / top_pnumber采样;⚠️ opus-4-8 不支持,传入报 400
tools / tool_choicearray函数 / 工具调用(OpenAI tools 格式)
response_formatobject结构化输出,如 {"type":"json_object"}
请求示例
# 流式
curl -N https://api.xdro.net/v1/chat/completions -H "Authorization: Bearer $KEY" \
 -H "Content-Type: application/json" \
 -d '{"model":"claude-sonnet-4-6","stream":true,"messages":[{"role":"user","content":"写个快排"}]}'

# 工具调用
-d '{"model":"claude-opus-4-8","messages":[{"role":"user","content":"北京天气?"}],
     "tools":[{"type":"function","function":{"name":"get_weather",
       "parameters":{"type":"object","properties":{"city":{"type":"string"}},"required":["city"]}}}]}'

# GPT-5(注意 max_completion_tokens)
-d '{"model":"gpt-5","messages":[{"role":"user","content":"你好"}],"max_completion_tokens":256}'
响应(stream:false)
{"id":"...","object":"chat.completion","model":"claude-sonnet-4-6",
 "choices":[{"index":0,"finish_reason":"stop",
   "message":{"role":"assistant","content":"..."}}],
 "usage":{"prompt_tokens":12,"completion_tokens":34,"total_tokens":46}}

多模态理解图片 / 音频 / 视频 → 文本

gemini-2.5-pro / flash / flash-lite 时,把 content 写成数组,混合文本与媒体即可让模型「看图 / 听音 / 看视频」并输出文本。仍是同一个 /v1/chat/completions 端点。

# 图片理解(用 gemini-2.5 系列;content 用数组,混合 text + 媒体)
curl https://api.xdro.net/v1/chat/completions -H "Authorization: Bearer $KEY" \
 -H "Content-Type: application/json" \
 -d '{"model":"gemini-2.5-flash","messages":[{"role":"user","content":[
   {"type":"text","text":"这张图里有什么?"},
   {"type":"image_url","image_url":{"url":"https://example.com/cat.jpg"}}]}]}'

# 音频理解 / 转写(音频格式仅支持 mp3 / wav;也可用 base64)
-d '{"model":"gemini-2.5-pro","messages":[{"role":"user","content":[
   {"type":"text","text":"把这段录音转写并总结要点"},
   {"type":"input_audio","input_audio":{"data":"<base64>","format":"mp3"}}]}]}'
  • • 多模态输入理解目前用 Gemini 2.5 系列(Claude / GPT 支持图片视觉输入)。
  • • 音频格式仅支持 mp3 / wav;其它格式请先转码。
  • • 单请求总大小有限(适合图片、短音/视频);长音视频请分段,或联系我们获取大文件 / 视频输入的接入方式。
  • • 计费按 prompt_tokens 计(媒体会折算为 token:音频约 ~1900 token/分钟,视频每秒数百 token),与文本同一计费口径。

图像生成文字 → 图片(Nano Banana)

gemini-2.5-flash-image(俗称 Nano Banana)即可文生图 / 改图,走的还是同一个 /v1/chat/completions 接口,返回内嵌的 data:image 图片,前端 <img> 直接显示。按张计费。

# 图像生成(Nano Banana / Gemini)—— 同一个 chat 接口,无需专门 SDK
curl https://api.xdro.net/v1/chat/completions -H "Authorization: Bearer $KEY" \
 -H "Content-Type: application/json" \
 -d '{"model":"gemini-2.5-flash-image","messages":[{"role":"user","content":"画一只戴墨镜的柴犬,卡通风格"}]}'
# 返回 choices[0].message.content 内含 Markdown 图片:![image](data:image/png;base64,....)
# 前端把这段 data:image 直接塞进 <img src> 即可显示 / 下载。改图:把原图作为 image_url 一起传入。

音乐生成文字 → 歌曲(Suno)

用独立的 /sunoapi/* 异步接口(不是 /v1/chat/completions),同一个 sk- 密钥即可:先 generate 提交拿 clip id,再 get?ids= 轮询取音频,一次出 2 首。按次计费:生成 ¥2 / 续写 · 伴奏分离 ¥1 / 歌词 ¥0.2 / 拼接 ¥0.5,失败自动退款,查询额度免费。

# 音乐生成(Suno)—— 独立异步接口 /sunoapi/*,用同一个 sk- 密钥
# 1) 提交生成(一次出 2 首)
curl https://api.xdro.net/sunoapi/api/generate \
 -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
 -d '{"prompt":"一首温暖的中文民谣,木吉他伴奏","make_instrumental":false}'
# → 返回 2 个 clip(含 id)

# 2) 用 id 轮询获取音频(完成后含 audio_url)
curl "https://api.xdro.net/sunoapi/api/get?ids=<clip_id>" -H "Authorization: Bearer $KEY"

# 查询剩余额度(免费,不计费)
curl https://api.xdro.net/sunoapi/api/get_limit -H "Authorization: Bearer $KEY"
⚠️ AI 生成音乐的版权归属尚无定论,本服务不提供版权担保,商用风险由使用方自负,请勿用于模仿真实艺术家;该能力为第三方来源、不纳入 SLA,可能临时中断。

GET/v1/models列出可用模型

curl https://api.xdro.net/v1/models -H "Authorization: Bearer $KEY"
# → {"object":"list","data":[{"id":"claude-sonnet-4-6","object":"model",...}, ...]}

注意事项 & 错误码

  • temperature:opus-4-8 不支持(传入 400);sonnet / haiku / GPT 正常支持。
  • GPT-5 系列(gpt-5 / 5-mini / 5.4 / 5.4-mini / 5.4-nano / 5.5):限制输出用 max_completion_tokens(不是 max_tokens,否则 400),且建议给足额度(过小会返回空)。
  • Gemini 2.5 Pro:思考型模型,用 max_tokens 限制输出时要给足额度(建议 ≥4096,否则思考耗尽预算返回空)。
  • 图像生成走 chat 接口(Nano Banana,见上);音乐生成走独立的 /sunoapi/* 异步接口(见上)。embeddings、语音(TTS / STT)的独有端点当前不提供
状态码含义
401鉴权失败:密钥错误 / 缺失,或余额耗尽后密钥停用
429触发限流(速率 / 并发上限);建议指数退避后重试
5XX模型服务临时故障(建议自动重试;网关也已配置重试)