公开接口文档Base URL · qingteng.pw

API 调用文档

查看 WAN3.0 / 可灵4.0 完整调用说明

这里说明青藤中转站的公开调用方式。文档只描述请求格式、公共字段和错误处理,不展示渠道、上游、成本或内部计费字段。

安全提示API Key 只能放在服务端环境变量或密钥管理工具中。不要把 Key 写进网页源码、公开仓库、截图或客户端日志。

快速开始

所有接口使用同一个基础地址,鉴权方式为 Bearer Token:

Base URL
https://qingteng.pw

建议流程:先调用 /v1/models 确认账号可用模型,再根据模型类型调用图片、文本或视频接口。价格和套餐请查看价格表。

文档边界:本文档不列出成本、上游渠道、利润、渠道余额或内部任务路由。接口响应中也不应该依赖这些字段做业务判断。

WAN3.0 / 可灵4.0 完整接口

更新日期:2026-10-26(北京时间)。本文对应 666 当前对外接口,不是可灵官方 API 文档。模型名、路径和参数按本站适配代码核对。

自检备注: 可灵已有成功任务的两条内容下载路径已返回有效 MP4。WAN 当前两条管理员历史成功任务能查询到完成状态,但主渠道上游的内容接口返回502;本次没有重新付费生成,不能把这些历史任务的下载标为通过。遇到这种情况保留任务号排查,不要反复创建新任务。

1. 接口地址与鉴权

text
Base URL: https://qingteng.pw
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

密钥使用你在 666 创建的 API Key。不要使用上游渠道密钥,也不要把密钥放在前端代码、小程序包或 URL 中。

用途 方法 路径
查看当前密钥可用模型 GET /v1/models
创建视频任务 POST /v1/videos
查询视频任务 GET /v1/videos/{task_id}
查询统一任务信息 GET /v1/tasks/{task_id}
查询任务成品列表 GET /v1/tasks/{task_id}/artifacts
下载视频成品 GET /v1/tasks/{task_id}/artifacts/video/content
视频内容兼容下载入口 GET /v1/videos/{task_id}/content

先调用 /v1/models,确认当前密钥所属分组能使用目标模型。素材上传不是视频创建任务,不能把上传返回的文件 URL 当作任务号。

2. 模型、基础售价和限制

对外模型名(必须原样填写) 输出时长 输出分辨率 基础售价 参考图片上限 参考视频上限 参考音频上限
wan3.0官转 4–30 秒整数 仅 720p $0.40/计费秒 10 5 5
可灵4.0 4–30 秒整数 720p $0.30/计费秒 10 5 3
可灵4.0 4–30 秒整数 1080p $0.40/计费秒 10 5 3

币种为 USD,不是人民币。上表为基础价,账户分组倍率按站内配置另行计算。可灵价格本次未调整。

不要将 keling、kling-4.0、kling-omni-4.0 或上游 WAN 名称替代上表对外模型名。也不要继续使用已停用的固定15秒/固定30秒旧别名。

计费秒数

text
reference_video_seconds = 本次全部参考视频的实际时长总和
seconds = output_seconds + reference_video_seconds
基础费用 = seconds × 对应分辨率的每秒售价
  • output_seconds 是要生成的成品时长,4–30 秒。
  • seconds 是计费时长;存在参考视频时,可以大于30秒,不代表生成超长成品。
  • 图片和参考音频不在这个公式中额外增加计费秒数;参考音频仍需符合模型数量与上游校验要求。
  • 参考视频的时长按实际秒数累计,建议保留3位小数,不能把视频条数当作秒数。
  • reference_video_seconds 不能漏填、少填或与实际素材不一致。
  • 现有已提交任务有自己的计费快照;本次调价不重写历史订单与旧任务快照。
  • 站内价格接口中的 billing_expr 是按秒规则。旧客户端兼容字段 model_price 不是任意时长任务的固定总价。
示例 WAN 720P 可灵 720P 可灵 1080P
输出4秒,无参考视频 $1.60 $1.20 $1.60
输出15秒,无参考视频 $6.00 $4.50 $6.00
输出30秒,无参考视频 $12.00 $9.00 $12.00
输出15秒+参考视频总长5秒 $8.00 $6.00 $8.00

3. 创建任务的参数

发送 JSON 到 POST /v1/videos。

字段 推荐类型 填写规则
model string wan3.0官转 或 可灵4.0
prompt string 非空的画面与动作描述;可附参考素材标记
output_seconds integer 实际输出时长,4–30
seconds string 计费秒数,例如 "15"、"20"、"19.042";推荐统一用字符串兼容客户端解析
reference_video_seconds number 全部参考视频总时长,无参考视频填 0
resolution string 小写 720p;可灵还支持 1080p
ratio string 本文示例与计费尺寸对应使用 16:9 或 9:16
aspect_ratio string 兼容比例字段;若同时填写,务必与 ratio 一致
size string 按下面的尺寸表填写,避免分辨率、比例和计费尺寸不一致
mode string 推荐 reference(参考生视频);纯文生可填 text
reference_images string[] 图片 HTTPS URL 数组,可不填
reference_videos object[] [{"url":"https://.../clip.mp4"}],可不填
reference_audios object[] [{"url":"https://.../voice.mp3"}],可不填
price_per_second number 旧客户端兼容字段,推荐省略;价格以服务器计费规则为准

duration 是兼容输出时长字段,推荐直接使用 output_seconds。如果同时传入,两者应相等,不能把含参考视频的计费秒数填进 duration。

分辨率、比例与 size 对应表

resolution ratio / aspect_ratio size
720p 9:16 720x1280
720p 16:9 1280x720
1080p(仅可灵) 9:16 1080x1920
1080p(仅可灵) 16:9 1920x1080

不要只把 resolution 改成1080p而保留720P的 size。本手册的明确示例限定这两种横竖比例;其他比例与1080P计费尺寸组合未在本次完整验收,不建议自行拼接参数。

参考素材标记方式

除了上述数组,也可以把素材按顺序写入 prompt。这是当前站内客户端使用的兼容方式:

text
保持参考人物外观,人物走进店内,镜头自然跟随。
[REF_IMG]https://YOUR_CDN/person.png[/REF_IMG]
[REF_IMG]https://YOUR_CDN/store.jpg[/REF_IMG]
[REF_VIDEO]https://YOUR_CDN/reference.mp4[/REF_VIDEO]
[AUDIO_URL]https://YOUR_CDN/voice.mp3[/AUDIO_URL]
[RATIO]9:16[/RATIO]

同一种素材建议选数组或标记中的一种写法。图片顺序需要与提示词里的“参考图1、参考图2”等对应。同一人物的不同视角应明确说明属于同一个人物。

素材必须是上游能直接访问的 HTTPS 文件地址。不能传本地磁盘路径、localhost、内网地址、需要登录的网盘分享页或把 Base64 整体塞进提示词。请求体本身建议控制在2MB以内,素材文件通过 URL 引用。文件格式、清晰度和具体媒体时长限制还受上游校验影响。

参考音频支持不等于提供“声音克隆”或“文字转语音”API;本接口不承诺只上传一段录音就能获得可复用的克隆音色。人物一致性、口型、原生声音和具体运镜执行程度需以实际模型输出为准。

4. 示例:WAN 15秒竖屏,无参考视频

以下素材 URL 是占位符,必须替换为你的真实 HTTPS 文件地址。

bash
curl --request POST 'https://qingteng.pw/v1/videos' \
  --header "Authorization: Bearer $JINGYU_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "wan3.0官转",
    "prompt": "保持参考人物与门店外观一致,人物在门口自然介绍店铺,再展示店内环境。\n[REF_IMG]https://YOUR_CDN/person.png[/REF_IMG]\n[REF_IMG]https://YOUR_CDN/store.jpg[/REF_IMG]\n[RATIO]9:16[/RATIO]",
    "output_seconds": 15,
    "seconds": "15",
    "reference_video_seconds": 0,
    "resolution": "720p",
    "ratio": "9:16",
    "aspect_ratio": "9:16",
    "size": "720x1280",
    "mode": "reference"
  }'

基础费用:15 × $0.40 = $6.00,再按账户分组倍率计算。

5. 示例:可灵1080P,输出15秒,参考视频5秒

json
{
  "model": "可灵4.0",
  "prompt": "保持参考人物身份与服装,结合参考视频动作自然介绍菜品。",
  "output_seconds": 15,
  "seconds": "20",
  "reference_video_seconds": 5,
  "resolution": "1080p",
  "ratio": "9:16",
  "aspect_ratio": "9:16",
  "size": "1080x1920",
  "mode": "reference",
  "reference_images": ["https://YOUR_CDN/person.png"],
  "reference_videos": [{"url":"https://YOUR_CDN/reference-5s.mp4"}],
  "reference_audios": [{"url":"https://YOUR_CDN/voice.mp3"}]
}

请求仍发送到 POST /v1/videos。前提是参考视频实际总长为5秒;若实际为4.042秒,则 reference_video_seconds 应为 4.042,seconds 为 "19.042"。不要照抄5秒用于其他视频。

本例基础费用:(15+5) × $0.40 = $8.00。成品输出仍为15秒。

6. 保存任务号与查询进度

创建响应的示意结构如下。字段集合随上游归一化结果可能变化,客户端至少读取 id 或 task_id:

json
{
  "id": "task_EXAMPLE",
  "task_id": "task_EXAMPLE",
  "object": "video",
  "status": "queued"
}

立即保存 666 返回的 task_... 任务号。 查询和下载使用这个号码,不要替换为上游返回的纯数字或其他内部任务号。

bash
curl 'https://qingteng.pw/v1/videos/task_EXAMPLE' \
  --header "Authorization: Bearer $JINGYU_API_KEY"

建议每3–5秒查询一次,后台保存任务状态。视频兼容接口通常使用 queued、in_progress/processing、completed、failed 等状态;统一任务接口 /v1/tasks/{task_id} 使用 SUCCESS、FAILURE 等本站任务状态。客户端应兼容两套大小写,不应把非空 URL 或 HTTP 200 直接当作生成成功。

推荐优先依据明确的完成状态,再请求成品列表:

bash
curl 'https://qingteng.pw/v1/tasks/task_EXAMPLE/artifacts' \
  --header "Authorization: Bearer $JINGYU_API_KEY"

返回的 artifacts 中查找 key 为 video 的成品,可使用其 content_url。任务未完成、失败或成品已过期时,成品可能不存在。

7. 下载成品和失败后取回

bash
curl --fail --location \
  'https://qingteng.pw/v1/tasks/task_EXAMPLE/artifacts/video/content' \
  --header "Authorization: Bearer $JINGYU_API_KEY" \
  --output result.mp4

兼容下载地址:

text
GET https://qingteng.pw/v1/videos/task_EXAMPLE/content

使用有权限访问该任务的账号密钥。下载前检查 HTTP 状态,不能把 JSON 错误响应保存为 .mp4 后当作视频。建议下载到临时文件,校验成功后再改成最终文件名。

bash
ffprobe -v error \
  -show_entries stream=codec_type,width,height:format=duration \
  -of json result.mp4

“生成成功但下载失败”的处理:保留原任务号,再次 GET 查询和下载,不要重新 POST 创建视频。查询和取回不会新建视频生成任务;原成品已过期则可能无法取回。

8. 超时、报错与重试

  • 创建超时:不代表上游没接到任务。不要无条件自动重发;先到本站任务记录核对,拿到明确任务号再查询。当前文档不声明支持幂等键。
  • 401/403:检查密钥、分组权限与任务所属账号。
  • 参数拒绝:核对模型名、时长、分辨率、参考数量,以及 seconds = output_seconds + reference_video_seconds。
  • 素材问题:确认链接直接返回媒体文件,能够公网 HTTPS 访问,没有登录验证或失效签名。
  • 429/暂时的网络或5xx错误:查询和下载可以退避重试;创建请求不能套用同样的无条件重试策略。
  • 下载返回错误 JSON:记录 HTTP 状态与错误信息,不要标记“已取回”。

9. 本次核对范围

已检查当前启用渠道与适配代码、模型名、时长/分辨率范围、三类参考素材上限、参数转换、计费公式,以及版本与价格展示一致性。使用管理员账号已有的成功任务核对查询和内容下载路径:两种模型的任务查询与成品列表可用,可灵的两条下载路径可用;WAN历史任务的内容下载存在上游502,详见开头备注。未为本次文档重新提交付费视频。

因此,“接口与配置已核对”不等于承诺任意素材都能生成成功;本次未做新价格下的付费端到端出片测试。

鉴权

在每次请求的 HTTP Header 中携带 API Key:

HTTP Header
Authorization: Bearer sk-YOUR_API_KEY
  • Key 可在 青藤中转站创建和管理。
  • Key 泄露后请立即在后台删除并重新创建。
  • 401 表示 Key 无效或没有权限;402 通常表示额度不足。

查询模型

GET/v1/models
cURL
curl https://qingteng.pw/v1/models \
  -H "Authorization: Bearer sk-YOUR_API_KEY"

返回结果中的 data[].id 就是请求时使用的 model。模型可用性会调整,实际以本接口返回为准。

当前常见模型示例:

模型 ID类型说明
minimax-H3视频H3 特惠,界面显示需推理
SD 2.0 低价特惠视频SD 2.0 特惠通道
满血2.0官方原生933(带官链 主推!)视频SD 2.0 原生 933
wan3.0官转视频4–30 秒,固定 720P,$0.40/秒,参考视频加时,参考音频不计费
可灵4.0视频4–30 秒;720P $0.30/秒,1080P $0.40/秒;参考视频加时,参考音频不计费
gpt-image-2.5-sunburst图片高质量图片生成
gpt-image-2.5-flare图片生成速度优先
gpt-image-2图片通用图片生成
gpt-5.5文本文本对话
gemini-3.1-flash-lite文本轻量文本与翻译

参考素材与请求限制

视频参考素材推荐使用 JSON 数组字段。不同模型的可接受数量和参数范围可能继续调整,提交时请以模型校验结果为准。

字段类型说明
reference_imagesstring[]参考图片 URL 数组,按数组顺序绑定图位
reference_videosobject[]参考视频数组,元素格式为 {"url":"https://..."}
reference_audiosobject[]参考音频数组,元素格式为 {"url":"https://..."}
aspect_ratiostring建议使用 16:9 或 9:16;部分模型支持其他比例
resolutionstring可灵4.0:720p 或 1080p;WAN3.0:仅 720p
price_per_secondnumber兼容字段,可省略;New API按 seconds 和生成 size 自动计费
output_secondsinteger实际输出时长;可灵和 WAN 均为 4–30
reference_video_secondsnumber全部参考视频实际总时长
secondsnumber计费秒数,必须等于 output_seconds + reference_video_seconds
prompt_extendboolean仅部分渠道兼容,不作为可灵/WAN的必需参数,推荐不传
推荐:数组字段示例
{
  "model": "可灵4.0",
  "prompt": "保持参考人物外观,人物走进店内,镜头缓慢跟随",
  "aspect_ratio": "9:16",
  "output_seconds": 15,
  "seconds": "20",
  "reference_video_seconds": 5,
  "resolution": "1080p",
  "price_per_second": 0.40,
  "reference_images": [
    "https://example.com/person.png",
    "https://example.com/product.jpg"
  ],
  "reference_videos": [
    {"url": "https://example.com/reference.mp4"}
  ],
  "reference_audios": [
    {"url": "https://example.com/voice.mp3"}
  ]
}
常用视频模型输出时长参考分辨率图片上限视频上限音频上限
minimax-H315 秒768P603
满血2.0官方原生933(带官链 主推!)15 秒768P933
wan3.0官转4–30 秒720P1055
可灵4.04–30 秒720P / 1080P1053
  • 未列出的模型不代表不支持,具体限制以任务校验和 /v1/models 返回为准。
  • 参考素材必须是上游能够直接访问的公网 HTTP(S) 地址,不支持 localhost、内网地址、登录态地址或本地文件路径。
  • 可灵4.0/WAN3.0 的 JSON 参数体请控制在 2MB 以内,仅引用公网 HTTPS 素材 URL。素材文件上传及其他接口上限单独计算。
  • 没有明确约定的模型,不要把 seconds、分辨率或参考数量自行换算成价格。

文本对话

POST/v1/chat/completions
cURL
curl https://qingteng.pw/v1/chat/completions \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.5",
    "messages": [
      {"role": "user", "content": "用一句话解释什么是镜头语言。"}
    ],
    "temperature": 0.7
  }'

返回格式遵循 OpenAI Chat Completions 兼容结构,正文位于 choices[0].message.content。

图片生成

POST/v1/images/generations
cURL
curl https://qingteng.pw/v1/images/generations \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.5-sunburst",
    "prompt": "雨夜的东方车站,电影感构图,体积光",
    "n": 1,
    "size": "1536x864",
    "response_format": "b64_json"
  }'

图片结果通常位于 data[].b64_json 或 data[].url。如果使用 b64_json,请在上传或展示前自行解码。

图片编辑 / 参考图

POST/v1/images/edits

使用 multipart/form-data。单张参考图字段名为 image,多张参考图使用 image[]。

cURL
curl https://qingteng.pw/v1/images/edits \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -F "model=gpt-image-2.5-sunburst" \
  -F "prompt=保持人物身份,改成电影海报光线" \
  -F "n=1" \
  -F "size=1536x864" \
  -F "response_format=b64_json" \
  -F "image=@reference.png"

参考图的尺寸、数量和格式支持范围以模型实际返回为准。上传前请压缩到合理大小,避免请求体过大。

视频生成

POST/v1/videos

视频接口是异步任务。参考图、视频和音频可以放在请求体数组中,也可以按以下标记写入 prompt:

参数示例
curl https://qingteng.pw/v1/videos \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "SD 2.0 低价特惠",
    "prompt": "人物从门口走进店内,镜头缓慢跟随。\n[REF_IMG]https://example.com/character.png[/REF_IMG]\n[REF_VIDEO]https://example.com/reference.mp4[/REF_VIDEO]\n[AUDIO_URL]https://example.com/voice.mp3[/AUDIO_URL]\n[RATIO]9:16[/RATIO]",
    "seconds": "15",
    "ratio": "9:16",
    "resolution": "720p"
  }'
  • [REF_IMG]...[/REF_IMG]:参考图 URL,按顺序绑定图位。
  • [REF_VIDEO]...[/REF_VIDEO]:参考视频 URL,是否支持及数量上限取决于模型。
  • [AUDIO_URL]...[/AUDIO_URL]:参考音频 URL,是否支持取决于模型。
  • [RATIO]9:16[/RATIO]:画面比例,建议同时传请求体 ratio。
  • 参考图必须能被上游通过公网 HTTP(S) 访问,不要传内网地址或登录态地址。
  • H3 系列建议先在业务侧完成分镜推理;H3 特惠版最多 6 张参考图。
  • H3 的 seconds 必须传字符串,例如 "15",不能传数字。
  • 可灵4.0 可选 4–30 秒、720P/1080P;WAN 3.0 可选 4–30 秒、固定 720P。price_per_second 可省略,New API按最终生成尺寸对应单价结算。参考视频时长计入计费,参考音频只传上游但不计费。

提交成功后会返回任务 ID:

响应示例
{
  "id": "task_xxxxxxxx",
  "task_id": "task_xxxxxxxx",
  "object": "video",
  "status": "queued"
}
避免重复扣费:创建任务请求超时不代表任务一定失败。客户端应先保存本次请求标识和响应;如果提交超时,先检查账号任务记录或稍后用明确返回的 task_id 查询,禁止无条件立即重试。失败后重新提交会创建新任务并再次计费。

视频任务查询与下载

GET/v1/videos/{task_id}
查询任务
curl https://qingteng.pw/v1/videos/task_xxxxxxxx \
  -H "Authorization: Bearer sk-YOUR_API_KEY"

常见状态包括 queued、processing、running、completed、success、failed 和 cancelled。部分接口会直接返回对象,部分接口会使用 {"data": {...}} 包装,客户端应同时兼容两种情况。

完成响应示例
{
  "id": "task_xxxxxxxx",
  "task_id": "task_xxxxxxxx",
  "status": "completed",
  "progress": 100,
  "video_url": "由接口返回的完整下载地址"
}
下载地址必须使用返回值:不同视频模型返回的下载地址可能包含不同路径前缀。请优先使用响应中的 video_url、url 或 metadata.url,不要把下方通用地址套用到所有模型。
GET/v1/videos/{task_id}/content
兼容下载示例(仅在返回地址缺失时尝试)
curl -L https://qingteng.pw/v1/videos/task_xxxxxxxx/content \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -o result.mp4

任务耗时取决于模型和队列。客户端应使用 3~10 秒起步的指数退避轮询,不要高频请求。获取到完成结果后立即停止轮询并下载返回的 video_url。

错误处理

错误通常返回 JSON,消息位于 error.message 或 message:

错误示例
{
  "error": {
    "message": "model is not available",
    "type": "invalid_request_error"
  }
}
  • 400:请求参数错误,检查模型名、比例、时长、文件大小。
  • 401:Key 无效或请求头缺少 Bearer Token。
  • 402:额度不足。
  • 403:账号没有当前模型权限或请求被拒绝。
  • 404:任务不存在或模型不可用。
  • 413:请求体超过服务器限制,优先改用公网素材 URL。
  • 429:请求过于频繁,降低轮询或提交频率。
  • 5xx:服务或上游暂时异常,保留任务 ID 和响应内容再重试。

排查问题时建议同时保留任务 ID、HTTP 状态码、响应正文和发生时间。当前公开文档没有定义取消接口,客户端超时放弃请求不等于服务端已经取消任务。

不要依赖内部字段:公开文档只保证上述调用字段和任务结果字段。成本、渠道、利润、上游余额等内容不在公开 API 契约中。