企业 AI 中转服务企业 AI 中转服务
最简单的接入方式
把这个网页链接直接发给 AI,它就能按文档完成中转站配置

复制本页链接 https://docs.yuqixk.xyz 给 ChatGPT、Codex、Claude 或其他能读取网页的 AI,再告诉它你使用的客户端和模型。本服务使用独立域名体系,只使用 yuqixk.xyz,不得使用任何其他中转站域名。普通 OpenAI 兼容与异步接口默认使用 https://yuqixk.xyz/v1;仅 GPT Image 2 multipart 同步图生图 POST /v1/images/edits 使用 https://yuqixk.xyz/v1;Claude Code / Anthropic Messages 使用不带 /v1 的 https://yuqixk.xyz。

请阅读并严格遵循:
https://docs.yuqixk.xyz
普通 OpenAI 兼容与异步接口默认使用这个 Base URL:
https://yuqixk.xyz/v1
仅 GPT Image 2 multipart 同步图生图 POST /v1/images/edits 使用这个 Base URL:
https://yuqixk.xyz/v1
该同步图生图请求的客户端 timeout 必须至少 600 秒;524、网络超时或结果未知时不得自动重提,必须保留 X-Image2-Trace-Id、error.task_id 与 Request-ID/X-Request-ID,并只查询原任务。
Claude Code / Anthropic Messages 只使用这个不带 /v1 的 Base URL:
https://yuqixk.xyz
按文档为对应客户端配置认证、精确模型名和同步/异步接口,并检查所有实际 API 请求域名都属于 yuqixk.xyz。

交给 AI 时必须同时要求:先按本页 machine contract 的精确模型列表和状态选择端点;模型名只能逐字读取 contract,不能从价格页、历史记录或第三方资料猜测;异步任务只轮询提交响应返回的原任务 ID;失败时不得自动补提第二单。

不要把完整 API Key 发到公开聊天、截图或代码仓库。让 AI 指导你把 Key 填入客户端的私密凭据区或环境变量即可。

API 中转服务 · 独立接入文档

完成中转服务配置

使用一把在控制台生成的 API Key,按本页公开合同配置已明确放行的模型。未完成同刻回读的模型会明确标为 pending/do_not_call;image2 使用同步图片接口;千问图像 3.0、Nano Banana 与可灵视频走异步 /v1/videos;GPT Image 2 文生图也走异步接口,上传参考图编辑走 /v1/images/edits。

本服务域名体系普通 OpenAI 兼容与异步 API:https://yuqixk.xyz/v1
仅 GPT Image 2 multipart 同步图生图:https://yuqixk.xyz/v1,客户端 timeout 至少 600 秒
Claude Code / Anthropic Base URL:https://yuqixk.xyz(不带 /v1)
控制台:https://yuqixk.xyz · 文档:https://docs.yuqixk.xyz
OpenAI 兼容接口使用 Authorization: Bearer YOUR_API_KEY;Anthropic Messages 使用 x-api-key: YOUR_API_KEY。配置中只允许出现 yuqixk.xyz 域名体系,请勿公开密钥。

快速开始

  1. 注册并登录控制台。
  2. 进入“令牌”,新建一个 API Key 并立即妥善保存。
  3. 先读取本页机器合同,确认目标模型的 availability=available 与 call_action=allow_call;pending/do_not_call 只能停下登记。
  4. 按机器合同选择接口:文字使用 Chat Completions 或 Responses;image2 使用同步图片接口;其它异步能力使用合同列出的提交与轮询路径。
curl -fsS https://docs.yuqixk.xyz/api-contract.json
# 仅当目标模型状态为 available/allow_call 时,才执行合同中的 POST 示例

模型与接口

模型名必须与本页 machine contract 完全一致,大小写、下划线和连字符不可改写。模型广场只用于查看客户价格;模型是否可调用只能以本页 contract 的 availability 与 call_action 为准。

场景实际模型示例接口
GPT 文字、代码、推理gpt-5.5、gpt-5.6-luna、gpt-5.6-sol、gpt-5.6-terra、gpt-6-astra、gpt-6-sol(当前 configuration_ready)POST /v1/chat/completions 或 POST /v1/responses
Grok 文字按 grok_text_chat 家族合同选择精确模型POST /v1/chat/completions
Claude Code 与 Anthropic Messages(4)claude-fable-5、claude-opus-5、claude-opus-5-5、claude-sonnet-5POST /v1/messages
Image2 同步图片(1)image2POST /v1/images/generations;编辑用 POST /v1/images/edits
GPT Image 2(4)gpt-image-2、gpt-image-2-1K-medium、gpt-image-2-2K、gpt-image-2-4K文生图:POST /v1/videos 并轮询;图生图:multipart POST /v1/images/edits
GPT Image 2.5(7)gpt-image-2.5、gpt-image-2.5-flare-1k、gpt-image-2.5-flare-2k、gpt-image-2.5-flare-4k、gpt-image-2.5-sunburst-1k、gpt-image-2.5-sunburst-2k、gpt-image-2.5-sunburst-4k异步文生图:POST /v1/videos 并轮询;同步文生图:POST /v1/images/generations;同步图生图:multipart POST /v1/images/edits
千问图像 3.0 异步图片(3)qwen-image-3.0、qwen-image-3.0-pro-1K、qwen-image-3.0-proPOST /v1/videos,再用 GET /v1/videos/{task_id} 轮询
Nano Banana 异步图片(6)nano_banana_2、nano_banana_2-2K、nano_banana_2-4K、nano_banana_pro-1K、nano_banana_pro-2K、nano_banana_pro-4KPOST /v1/videos,再用 GET /v1/videos/{task_id} 轮询
可灵异步视频(4 个公开模型 ID / 3 条能力链)kling-v2-6、kling-3.0-turbo、kling-3.0-turbo-1080p、kling-motion-controlPOST /v1/videos,再用 GET /v1/videos/{task_id} 轮询
Grok 视频按 grok_video_async 家族合同选择带分辨率后缀的型号POST /v1/videos,再用 GET /v1/videos/{task_id} 轮询
异步任务统一规则提交成功必须保存响应中的顶层 id;只查询 GET /v1/videos/{task_id} 的原任务。queued 配合 progress=0 是正常排队状态,progress 只用于展示,不能单独判定成功或失败;以终态和结果 URL 为准:终态为 completed 且存在结果 URL 即成功,即使进度仍为 0 也不要重复提交。图片首次等待 5 秒,之后每 5–10 秒查询;视频首次等待 5 秒,之后每 10 秒查询。客户端安全上限:图片 30 分钟、视频 45 分钟;达到上限、状态未知或网络超时,保留 task_id、request_id、HTTP 状态和原始错误,停止自动动作,稍后继续查询原任务。遇到 429 时遵循 Retry-After 并加入随机抖动;除 Qwen 明确支持的同键重放外,不得自动重试或补提第二单。

提交响应与重试安全:所有异步提交均应收到 JSON 对象并从顶层 id 取得任务 ID;没有 id 的 2xx、网络超时、503/504 或 429 都属于结果未知,不得猜 data.id、不得换端点或自动重提。保存响应头中的 Request-Id/X-Request-ID(若存在)以及完整脱敏错误 JSON。只有千问合同支持用同一个 Idempotency-Key 重放完全相同的请求;Nano、GPT Image 2 文生图和可灵没有公开幂等重放合同,未知结果只能查询原任务或人工核对。

GPT 文字模型:Chat Completions 与 Responses

一条 URL + 一个 Key先把站点 Base URL 配成 https://yuqixk.xyz/v1,再在私密环境变量中放入用户 API Key。这里是 OpenAI 兼容入口;精确模型 ID 和完整机器合同见 api-contract.json。

认证头固定为 Authorization: Bearer YOUR_API_KEY。模型名必须原样读取机器合同,不要自行猜别名。

最小示例

curl https://yuqixk.xyz/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"EXACT_MODEL_ID","messages":[{"role":"user","content":"你好"}]}'

Responses、流式事件、错误语义和未知结果处理留在机器合同;结果未知时保留请求标识并停止,不自动补提。

代码客户端与 Codex

/v1/chat/completions 与 /v1/responses 的路径固定,但 GPT 当前状态为 configuration_ready/configure_and_validate。普通 OpenAI 兼容客户端使用 Chat Completions;Codex 或明确要求 Responses API 的客户端使用 Responses。Base URL 是 https://yuqixk.xyz/v1;模型名只能从本页 machine contract 读取,不能从价格页、历史记录或第三方资料猜测。

Codex 配置必须写入用户级 ~/.codex/config.toml;项目目录里的 .codex/config.toml 会忽略自定义 provider。下面使用独立 provider 和环境变量,避免与 OpenAI 官方配置混用。

# ~/.codex/config.toml
model_provider = "relay"
model = "EXACT_MODEL_ID_FROM_CONTRACT"

[model_providers.relay]
name = "API 中转服务"
base_url = "https://yuqixk.xyz/v1"
env_key = "RELAY_API_KEY"
wire_api = "responses"

在系统私密环境中设置 RELAY_API_KEY,不要把真实 Key 写进 TOML 或项目仓库。配置规则以 Codex 官方配置参考为准。

Claude Code

配置合同:complete四个精确模型为 claude-fable-5、claude-opus-5、claude-opus-5-5、claude-sonnet-5。本文给出 Claude Code 所需的完整 Base URL、认证头、请求字段、SSE 事件和错误处理;不要求客户 AI 猜测或查第三方资料。

Claude Code 使用 Anthropic Messages:Base URL 不带 /v1,请求为 POST https://yuqixk.xyz/v1/messages,认证头为 x-api-key: YOUR_API_KEY,并固定发送 anthropic-version: 2023-06-01 与 Content-Type: application/json。把真实 Key 放入 ANTHROPIC_API_KEY 私密环境变量,不要写入文件、日志或聊天。

模型 ID状态动作
claude-fable-5available按最小合同验证
claude-opus-5available按最小合同验证
claude-opus-5-5available按最小合同验证
claude-sonnet-5available按最小合同验证

直接配置与最小验证

export ANTHROPIC_BASE_URL="https://yuqixk.xyz"
export ANTHROPIC_API_KEY="YOUR_API_KEY"
curl -fsS https://docs.yuqixk.xyz/api-contract.json
# 将真实 Key 保存在私密环境变量;不要写入文件、日志或聊天

Messages 最小请求

POST https://yuqixk.xyz/v1/messages
x-api-key: YOUR_API_KEY
anthropic-version: 2023-06-01
content-type: application/json
{"model":"EXACT_MODEL_ID","max_tokens":64,"messages":[{"role":"user","content":"..."}]}

必填字段是 model、max_tokens、messages。只发送本页 contract 明确列出的字段;收到 2xx 后按非流式响应或 SSE 终止事件判断,收到错误或未知结果则保留 request ID 并停止自动补提。

本文是客户接入配置合同,不公开供应商、渠道、价格或内部拓扑。运行时若返回 401/403/404/429/5xx,按错误表定位,不要猜新域名、模型别名或替代字段。

Grok 文字模型

当前精确型号为 grok-4.5、grok-4.6、grok-4.7,共用同一份 OpenAI 兼容 Chat 合同。Base URL 为 https://yuqixk.xyz/v1,使用 Authorization: Bearer YOUR_API_KEY,请求 POST /v1/chat/completions,JSON 必填 model 和 messages。新型号若出现在价格页,先查机器合同所属家族和状态。

curl -X POST "https://yuqixk.xyz/v1/chat/completions" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"grok-4.7","messages":[{"role":"user","content":"你好"}]}'

遇到超时、429、5xx 或响应结果未知,保留请求标识和错误信息,停止自动补提;不要根据相似名称改模型或猜测另一个接口。

Image2 与 GPT Image 2

Image2 当前公开状态gpt-image-2: available/allow_call;gpt-image-2-1K-medium: available/allow_call;gpt-image-2-2K: available/allow_call;gpt-image-2-4K: available/allow_call;image2: fail_closed/do_not_call

image2:同步文生图与图生图

image2 的公开合同仍固定为同步 Images 形状:文生图使用 POST /v1/images/generations;参考图编辑使用 multipart POST /v1/images/edits,文件字段为 image。只有 machine contract 标为 available/allow_call 时才可执行;当前状态下不要发送请求。

当前不可执行:image2 为 fail_closed/do_not_call。客户端只保留既有配置,不发送请求、不改成相似模型,也不从价格页推断可用性。

GPT Image 2 四款:文生图与图生图

逐模型状态:gpt-image-2: available/allow_call;gpt-image-2-1K-medium: available/allow_call;gpt-image-2-2K: available/allow_call;gpt-image-2-4K: available/allow_call

以下 4 个精确、区分大小写的 GPT Image 2 模型名分别独立生效。文生图走默认异步任务入口;上传参考图编辑固定走同步兼容的 multipart POST /v1/images/edits,并使用专用 Base URL https://yuqixk.xyz/v1。客户端请求超时必须设置为至少 600 秒。这个地址仍然进入本站中转、使用同一 API Key 和计费,只是为长同步请求使用不同公网入口;不要把图生图请求发到 /v1/videos,也不要把文生图发到 /v1/images/generations。

图生图结果未知时:HTTP 524、网络超时、503/504 或其它结果未知都不能作为自动重提依据。保存响应头 X-Image2-Trace-Id、错误体 error.task_id、Request-ID/X-Request-ID、HTTP 状态与脱敏错误 JSON;存在原任务 ID 时,只使用默认 API 入口 https://yuqixk.xyz/v1 的 GET /v1/videos/{task_id} 查询这个原任务。只有确认原任务没有创建上游任务、没有产生结果后才能人工重新提交。

curl --max-time 600 https://yuqixk.xyz/v1/images/edits \
  -H "Authorization: Bearer $API_KEY" \
  -F "model=gpt-image-2-1K-medium" \
  -F "image[]=@./reference.png;type=image/png" \
  -F "prompt=保留主体,把背景改成简洁的办公场景" \
  -F "size=1024x1024"
模型图生图 multipart异步文生图 JSON说明
gpt-image-2-F "size=1024x1024"、-F "size=1536x1024"、-F "size=1024x1536""size": "1024x1024"、"size": "1536x1024"、"size": "1024x1536"基础款
gpt-image-2-1K-medium-F "size=1024x1024""size": "1024x1024"1K medium 档
gpt-image-2-2K-F "size=2048x2048""size": "2048x2048"2K 档
gpt-image-2-4K-F "size=2880x2880""size": "2880x2880"4K 档
curl -X POST "https://yuqixk.xyz/v1/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2-2K",
    "prompt": "一张干净的企业 AI 工作台等距插画,青绿色点缀,白色背景",
    "size": "2048x2048"
  }'

size 与 aspect_ratio 最多只能传一个;两者都不传时由适配器使用默认值或参考图比例,同时传入即拒绝。这组规则同时适用于异步文生图 JSON 与图生图 multipart。4K 正方形示例使用 "size": "2880x2880";其他比例只能改传公开支持的顶层 aspect_ratio。

GPT Image 2 严格输入边界:文本字段只允许 model、prompt,以及最多一个 size 或 aspect_ratio;图生图文件字段只允许重复的精确 image[]。图生图的 response_format 可省略,或发送 url(大小写不敏感);b64_json 和其他值都会被拒绝。n、quality、resolution、detailLevel、aspectRatio、ratio、width、height、mask 和所有未知字段都会被拒绝;服务内部固定单图和 URL 结果。单次请求体最大 10 MiB,最多 6 张参考图,图片合计最大 7 MiB。只接受 JPEG、PNG、WebP;HEIC/HEIF、AVIF、GIF、BMP、TIFF、RAW 直接拒绝,不做静默转码。

合同隔离:同步模型 image2 继续使用本节上方既有的 image 文件字段与同步端点;它不经过这三个 GPT Image 2 适配器,也不得套用 image[] 规则。反过来,GPT Image 2 三档不接受单数 image。

验收分辨率时同时核对原请求模型名与返回的 size;1K、2K、4K 正方形分别应为 1024x1024、2048x2048、2880x2880。

curl "https://yuqixk.xyz/v1/videos/$TASK_ID" \
  -H "Authorization: Bearer $API_KEY"

GPT Image 2 异步文生图完成后,以 status=completed 且存在顶层 url 或 image_url 为成功条件;progress 仅展示,progress=0 不能触发重复提交。失败时读取 error 并停止。

GPT Image 2.5:七个精确型号与三种固定接法

只使用精确型号gpt-image-2.5、gpt-image-2.5-flare-1k、gpt-image-2.5-flare-2k、gpt-image-2.5-flare-4k、gpt-image-2.5-sunburst-1k、gpt-image-2.5-sunburst-2k、gpt-image-2.5-sunburst-4k。不存在公开泛型号 gpt-image-2.5-flare 或 gpt-image-2.5-sunburst,不得删掉分辨率后缀。

两站使用同一套客户合同,只替换当前站点的 API Base URL。所有请求都使用 Authorization: Bearer YOUR_API_KEY;一次业务请求只允许一次生成 POST,超时、连接中断或结果未知时不得自动重复提交。

接法 A:异步文生图

curl -X POST "https://yuqixk.xyz/v1/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.5-flare-4k",
    "prompt": "一只白色陶瓷杯放在木桌上",
    "size": "2880x2880",
    "n": 1
  }'

保存响应中的 id 或明确返回的 task_id,然后只查询原任务:GET https://yuqixk.xyz/v1/videos/{task_id}。只有最终状态为 completed 或等价成功状态,并且存在 data[].url,才算成功;排队、运行中、提交成功或进度数值都不代表已出图。

接法 B:同步文生图

curl -X POST "https://yuqixk.xyz/v1/images/generations" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.5-sunburst-2k",
    "prompt": "月光下的湖面,真实摄影风格",
    "size": "2048x2048",
    "n": 1
  }'

保持 HTTP 连接并直接等待 data[].url;这条接法不需要客户轮询。

接法 C:同步图生图

curl -X POST "https://yuqixk.xyz/v1/images/edits" \
  -H "Authorization: Bearer $API_KEY" \
  -F "model=gpt-image-2.5-flare-2k" \
  -F "prompt=保留人物和构图,改成水彩插画" \
  -F "image[]=@./reference-1.png;type=image/png" \
  -F "image[]=@./reference-2.png;type=image/png" \
  -F "response_format=url"

最多上传 9 张参考图,每张都必须重复使用 multipart 文件字段 image[]。直接等待同步响应中的 data[].url;不要调用 /v1/videos,也不要轮询。

规则GPT Image 2.5 固定合同
输出数量n=1;不得传 n=4
尺寸与比例size 与 aspect_ratio 最多传一个,不得同时发送;文生图可两者都省略
比例格式aspect_ratio 必须是精确的 ASCII 宽:高 字符串,并且命中对应型号白名单;不得传小数、空格、中文冒号、别名或未公开比例,也不得依赖服务自动归一化
比例白名单基础型号支持 1:1、5:4、9:16、21:9、16:9、3:2、4:3、4:5、3:4、2:3;六个 K 档型号额外支持 7:6
基础型号尺寸1024x1024、1536x1024、1536x864、1536x1152、1152x1536、1280x1024、1024x1280、1536x656、1024x1536、auto
K 档尺寸格式宽x高,宽高必须是正整数且均为 16 的倍数;最长边不超过 3840,长短边比例不超过 3:1;总像素范围:1K 为 655,360–1,048,576,2K 为 655,360–4,194,304,4K 为 655,360–8,294,400
默认正方形档位1K:1024x1024;2K:2048x2048;4K:2880x2880
图生图输入1–9 个真实上传文件;不接受 JSON 图片数组、Base64、图片 URL 或本地路径字符串
图生图结果格式response_format 可省略;如发送,只允许 url
结果未知保存请求时间、请求标识和已返回的任务标识;异步只查原任务,同步不得重新 POST

图生图也允许同时省略 size 与 aspect_ratio,但只有全部参考图比例一致且服务能够识别时才会自动推断;比例不一致或无法识别时返回 HTTP 400 size_required,此时应修正原请求,不得自动重复提交。

与 image2 隔离:image2 继续使用单数文件字段 image;GPT Image 2.5 只接受重复字段 image[]。两份合同不得互相套用。

千问图像 3.0 异步生图

qwen-image-3.0、qwen-image-3.0-pro-1K 与 qwen-image-3.0-pro 都使用异步任务接口。提交后读取响应中的 id,只轮询这个原任务 ID。任务查询记录与成品临时地址仅保证 24 小时,请及时下载保存。

模型公开调用规格
千问 Image 3.0
qwen-image-3.0
文生图/图生图;支持 1K/2K
千问 Image 3.0 Pro 1K
qwen-image-3.0-pro-1K
文生图/图生图;固定 1K 档
千问 Image 3.0 Pro 2K
qwen-image-3.0-pro
文生图/图生图;固定 2K 档
IDEMPOTENCY_KEY="qwen-$(uuidgen)"
curl -X POST "https://yuqixk.xyz/v1/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $IDEMPOTENCY_KEY" \
  -d '{
    "model": "qwen-image-3.0",
    "prompt": "一张干净的企业 AI 工作台等距插画,青绿色点缀,白色背景",
    "size": "1024x1024"
  }'

提交图生图任务

在同一个请求中传入顶层 images 数组,提供 1–3 张有序参考图;服务会按数组顺序传给千问。元素可为公网 HTTPS URL,或完整的 data:image/...;base64, Data URI;不接收 HTTP、裸 Base64、带账号密码或片段的 URL。单张 Data URI 解码后不得超过 10 MB,整个请求体不得超过 14 MiB:JPEG、PNG、WebP、GIF、BMP、TIFF、HEIC/HEIF 与 AVIF 会在受限进程中校验并归一化,SVG、PDF、PSD 与 RAW 默认拒绝。prompt_extend_mode 使用 direct,图生图不支持 agent。

IDEMPOTENCY_KEY="qwen-$(uuidgen)"
curl -X POST "https://yuqixk.xyz/v1/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $IDEMPOTENCY_KEY" \
  -d '{
    "model": "qwen-image-3.0-pro-1K",
    "prompt": "保留人物主体,把背景改为简洁的企业办公场景",
    "images": [
      "https://example.com/person.png",
      "https://example.com/style.png",
      "https://example.com/background.png"
    ],
    "size": "1024x1024",
    "prompt_extend_mode": "direct"
  }'
curl "https://yuqixk.xyz/v1/videos/$TASK_ID" \
  -H "Authorization: Bearer $API_KEY"

当 status=completed 且顶层存在 url 或 image_url 时读取成品地址;queued、processing 时继续查询。progress 只作展示,queued + progress=0 正常;failed 时读取 error 并停止。若返回 submission_outcome_unknown,从同一响应的 task_id 或 error.task_id 取原任务 ID;没有原任务 ID 时也必须停单并保留 request_id,不得猜 ID 或补单。

标准版只传本站已验证的 size(1024x1024、2048x2048)或省略使用默认值;不要猜测未列出的比例或尺寸。Pro 1K 固定 1024x1024,Pro 2K 固定 2048x2048;任何跨档尺寸都会被拒绝。

图生图只接受顶层 images 数组;image、image_url、input_image、reference_image_url 与消息内容中的嵌套图片字段会被拒绝。Data URI 会校验真实文件签名、声明 MIME、像素数与体积;公网 HTTPS URL 由图像生成服务校验。允许字段为 model、prompt、images、n、size/resolution、aspect_ratio/aspectRatio、prompt_extend、watermark、negative_prompt、prompt_extend_mode、seed、idempotency_key;其中 n 固定为 1,需要多张结果时提交多个独立任务。客户优先使用请求头 Idempotency-Key;请求体同名字段是兼容写法,两处同时发送时必须一致。

每个新的逻辑任务必须生成新的 8–128 位 Idempotency-Key;只有重试完全相同的请求体时才复用原键。客户端和 AI 不得把示例键固化为全局常量。同键同请求返回原任务,同键不同请求返回 409。收到 429 时按 Retry-After 等待;若响应包含 submission_outcome_unknown,从响应中的 task_id 或 error.task_id 继续轮询原任务;没有任务 ID 时停单并保留 request_id,不要猜 ID 或自动补单。

Nano Banana 异步图片生成

Nano Banana 可直接调用使用异步任务接口提交图片生成请求,再查询同一个任务直到完成。文生图和图生图都使用 POST /v1/videos;提交响应顶层的 id 是任务 ID。

可用模型:nano_banana_2、nano_banana_2-2K、nano_banana_2-4K、nano_banana_pro-1K、nano_banana_pro-2K、nano_banana_pro-4K。请求体只使用本节列出的字段;分辨率由完整模型名决定,不要另外传 size 或 resolution。

文生图

curl -X POST "https://yuqixk.xyz/v1/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano_banana_2",
    "prompt": "一只橘猫坐在窗边晒太阳,写实摄影风格"
  }'

图生图

curl -X POST "https://yuqixk.xyz/v1/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano_banana_2",
    "prompt": "保留人物主体,把背景改成日落海边",
    "images": ["https://example.com/input.png"]
  }'

图生图的 images 只能放一张无需登录即可访问的公网 HTTPS 图片。不要传 HTTP、Data URI、裸 Base64、本地路径或多张图片。

查询任务

curl "https://yuqixk.xyz/v1/videos/$TASK_ID" \
  -H "Authorization: Bearer $API_KEY"

提交后保存顶层 id,只查询 GET /v1/videos/{task_id}。queued、processing 时继续查询;只有 status=completed 且返回 url 或 image_url 才算成功。progress=0 可能只是排队,不能因此重复提交。

可灵视频与动作迁移

可灵不是 Chat 模型可灵提供 3 条能力链、4 个精确公开模型 ID,全部使用异步视频任务:POST /v1/videos 提交,再用 GET /v1/videos/{task_id} 轮询。通用 OpenAI Chat 客户端若只会调用 /v1/chat/completions 或 /v1/responses,不能直接调用可灵。

先按目标选择精确模型:可灵 2.6 使用 kling-v2-6;可灵 3.0 Turbo 的 720P 与 1080P 是两个独立模型,分别使用 kling-3.0-turbo 与 kling-3.0-turbo-1080p;动作迁移使用独立的 kling-motion-control。不要用 resolution 参数切换 3.0 分辨率。

模型 ID规格价格公开请求
kling-v2-6可灵 2.6¥0.36/秒
kling-3.0-turbo可灵 3.0 Turbo(固定 720P)¥0.96/秒
kling-3.0-turbo-1080p可灵 3.0 Turbo(固定 1080P)¥1.20/秒
kling-motion-control可灵动作迁移¥0.60/秒
能力模型公开请求字段
可灵 2.6 文生视频kling-v2-6model、prompt、seconds
可灵 3.0 Turbo 720P 文生视频kling-3.0-turbomodel、prompt、seconds
可灵 3.0 Turbo 1080P 文生视频kling-3.0-turbo-1080pmodel、prompt、seconds
人物动作迁移kling-motion-controlmodel、image_url、video_url、character_orientation、mode、seconds,可选 keep_original_sound

三种文生视频模型的客户字段固定为 model、prompt、seconds;示例使用 5 秒,按秒计费。不要发送上游字段 duration、resolution,也不要提交供应商名称或内部渠道编号。

kling-v2-6

curl -X POST "https://yuqixk.xyz/v1/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-v2-6",
    "prompt": "对需要生成的画面和动作的明确描述",
    "seconds": 5
  }'

kling-3.0-turbo

curl -X POST "https://yuqixk.xyz/v1/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-3.0-turbo",
    "prompt": "对需要生成的画面和动作的明确描述",
    "seconds": 5
  }'

kling-3.0-turbo-1080p

curl -X POST "https://yuqixk.xyz/v1/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-3.0-turbo-1080p",
    "prompt": "对需要生成的画面和动作的明确描述",
    "seconds": 5
  }'

提交后只轮询返回的原任务 ID:GET /v1/videos/{task_id}。失败、取消、超时或结果未知时保留原任务 ID、错误信息和请求时间,不要自动补提第二单。

kling-motion-control

使用参考图片确定人物与画面,再迁移动作视频中的动作。seconds 是本站必填的任务时长字段,必须与本次采用的参考视频时长一致:至少 3 秒;character_orientation=image 时最多 10 秒,设为 video 时最多 30 秒。本站内部负责转换私有字段,客户只发送本页列出的公开字段。

curl -X POST "https://yuqixk.xyz/v1/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-motion-control",
    "image_url": "https://example.com/person.jpg",
    "video_url": "https://example.com/motion.mp4",
    "character_orientation": "image",
    "mode": "std",
    "seconds": 5,
    "keep_original_sound": "no"
  }'
curl "https://yuqixk.xyz/v1/videos/$TASK_ID" \
  -H "Authorization: Bearer $API_KEY"

image_url 必须是公网可直接访问的 HTTPS 图片直链,只接受真实 MIME 为 image/jpeg 或 image/png 的 JPG/JPEG/PNG;HEIC、WEBP、AVIF 等必须先转换,不能只改后缀。URL 若需要登录、已过期、返回 HTML 或响应 MIME 不匹配,均应在提交前判为输入错误。

video_url 必须是公网可直接访问的参考视频直链;本站当前不公开推断其它视频格式字段。keep_original_sound 是可选字段,只允许 yes 或 no;当前公开稳定模式固定为 mode=std。图片应清晰包含完整上半身或全身,动作视频只能有一个清晰人物。

提交、轮询与终态响应

提交成功后保存响应中的顶层 id,它就是后续唯一允许轮询的 task_id。任务处于 queued、pending、processing、running 或 in_progress 时继续轮询;progress=0 不是失败。只在 completed 且结果中存在视频 URL 时判定成功;达到客户端安全上限后停单并保留原任务信息,不自动补单。

{
  "id": "task_example_123",
  "object": "generation.task",
  "model": "kling-v2-6",
  "status": "queued",
  "progress": 0,
  "created_at": 1787000000
}
{
  "id": "task_example_123",
  "object": "generation.task",
  "model": "kling-v2-6",
  "status": "processing",
  "progress": 42,
  "created_at": 1787000000
}
{
  "id": "task_example_123",
  "object": "generation.task",
  "model": "kling-v2-6",
  "status": "completed",
  "progress": 100,
  "completed_at": 1787000120,
  "result": {
    "type": "video",
    "data": [{"url": "https://example.com/result.mp4", "format": "mp4"}]
  }
}
{
  "id": "task_example_123",
  "object": "generation.task",
  "model": "kling-v2-6",
  "status": "failed",
  "progress": 100,
  "error": {"code": "generation_failed", "message": "具体失败原因"}
}

HTTP 401 表示当前站点 API Key 无效;HTTP 402/429 表示余额或限额;HTTP 503 表示服务暂时不可用。客户端不得把这些错误统一改写成“模型服务额度不足”,应保留 HTTP 状态、error.code、error.message 与 Request ID。

四个公开模型都按请求中的真实 seconds 计费,公开每秒价格见上表,实际最终扣费以控制台账单/使用记录为准。失败不等于自动退款;在原 task_id 的终态、视频 URL 和最终账单未核清前,不得自动补单,也不得用静态价格反推实际扣费。

Grok 视频五个规格

两站使用同一套客户接口。1.0 提供 grok-video-1.0-480p、grok-video-1.0-720p;1.5 提供 grok-video-1.5-480p、grok-video-1.5-720p、grok-video-1.5-1080p。分辨率由完整模型名确定;基础名与 grok-video-1.0-1080p 不属于公开型号。

curl -X POST "https://yuqixk.xyz/v1/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"grok-video-1.5-720p","prompt":"一只纸飞机穿过晴朗的城市上空","seconds":5}'

curl "https://yuqixk.xyz/v1/videos/$TASK_ID" \
  -H "Authorization: Bearer $API_KEY"

提交后保存响应顶层 id,只查询这个任务。queued、pending、processing、running、in_progress 继续等待;只有 completed 且存在可访问的视频 URL 才算成功。progress=100、HTTP 200 和任务 ID 都不能单独作为成功依据。失败或结果未知时保留原任务 ID、请求时间和错误信息,不自动提交第二单。按 seconds 计费,查询不重复计费;不要传 duration 或 resolution。

Python 与 OpenAI SDK

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://yuqixk.xyz/v1",
)

completion = client.chat.completions.create(
    model="gpt-5.6-terra",
    messages=[{"role": "user", "content": "写一段产品更新说明。"}],
)
print(completion.choices[0].message.content)

Node.js、Postman、Cherry Studio、LobeChat 等客户端可复用相同的 Base URL 与 Bearer Key;文字模型可使用 OpenAI Chat/Responses 兼容调用。可灵不属于 Chat 模型,客户端必须额外支持异步 /v1/videos 提交与轮询。密钥建议以环境变量或客户端的私密凭据区保存。

错误排查与安全

现象优先检查
401 Invalid token确认使用控制台新建的 Key,鉴权头为 Bearer 加密钥,且没有多余空格。
401 Incorrect API key provided,错误信息出现 api.openai.com 或 platform.openai.com请求仍发往 OpenAI 官方,本服务 Key 不会被官方接受。不要反复更换 Key;把客户端 Base URL 精确设置为 https://yuqixk.xyz/v1,并确认实际请求 Host 只属于 yuqixk.xyz。
404,实际路径出现 /v1/v1/...OpenAI 兼容 SDK 的 Base URL 已经以 /v1 结尾,SDK 会继续追加资源路径,不要再手工追加第二个 /v1。直接 HTTP 请求则使用本页给出的完整 /v1/... 路径。Claude Code 的 Base URL 不带 /v1。
503 服务暂时不可用先到模型广场核对完整模型名并保存 Request ID;只有确认原请求没有创建任务后才能重新提交,不得换错误端点或盲目重试。
客户端显示“模型服务额度不足”,但服务端没有可灵请求这是客户端的泛化错误,不代表真实余额不足。确认实际请求为 POST https://yuqixk.xyz/v1/videos,模型名为本页列出的可灵型号,并让客户端保留原始 HTTP 状态、错误 JSON 与 Request ID;若只调用 Chat/Responses,必须改造为异步视频任务流程。
给 2.6/3.0 增加 image_url 后失败当前公开合同只保证 5 秒文生视频,图生视频扩展未开放。删除未公开字段;不要把其它能力的字段套入这两个模型。
动作迁移提示图片格式或无法获取素材确认 image_url 是无需登录的公网 HTTPS 直链,响应真实 MIME 为 image/jpeg 或 image/png;HEIC/WEBP/AVIF 先转换。输入校验失败不代表上游余额不足。
GPT Image 请求路径错误GPT Image 2 tier models 文生图使用异步 /v1/videos 并轮询;上传参考图的图生图使用 multipart /v1/images/edits,每张文件都必须使用精确字段 image[]。单数 image 只属于独立的同步 image2 合同。
千问 Pro 提示尺寸与计费档不匹配qwen-image-3.0-pro-1K 固定使用 1K 档,qwen-image-3.0-pro 固定使用 2K 档。请保持 size 与精确模型名一致,或改用标准版 qwen-image-3.0。
Nano 请求立即报错或路径错误确认提交地址是 POST /v1/videos,查询地址是 GET /v1/videos/{task_id}。
图片或视频结果无法显示先保存响应中的结果数据或 URL;确认客户端没有拦截大响应体,并保存响应头或 JSON 中的 Request ID。结果 URL 可能是临时地址,应立即下载。
GPT Image 2 图生图出现 524、网络超时或结果未知仅适用于 GPT Image 2 tier models multipart 同步图生图:确认 Base URL 为 https://yuqixk.xyz/v1、客户端 timeout 至少 600 秒;保存响应头 X-Image2-Trace-Id、错误体 error.task_id 与 Request-ID/X-Request-ID。用默认 API 入口的 GET /v1/videos/{task_id} 查询原任务,不得自动补提第二单。同步 image2 不使用这条异步回查规则。
额度消耗异常核对模型、分辨率、质量、并发和重试策略。图片/视频失败重试前应先确认是否已创建任务。