概览
完整调用流程:
https://files.sudashuiapi.com返回素材 URL 和文件元数据。
/v1/video/generations提交视频或图片生成任务,使用对应的请求体。
/v1/video/generations/{task_id}图片与视频共用此接口,轮询任务状态和结果。
data.result_url 或 data.data.creations[0].url任务成功后获取视频或图片地址。
上传素材文件
上传图片、音频或视频。响应中的 url 可用于 imageUrls、audioUrls、videoUrls、firstFrameUrl 或 lastFrameUrl;其余字段用于描述已上传文件。
curl --location 'https://files.sudashuiapi.com' \
-H 'Authorization: Bearer 你的_API_Key' \
--form 'file=@"/D:/Users/24553/Pictures/004.jpg"'
const form = new FormData();
form.append("file", fileInput.files[0]);
const response = await fetch("https://files.sudashuiapi.com", {
method: "POST",
headers: {
"Authorization": "Bearer 你的_API_Key"
},
body: form
});
const data = await response.json();
import requests
with open(r"D:/Users/24553/Pictures/004.jpg", "rb") as f:
response = requests.post(
"https://files.sudashuiapi.com",
headers={"Authorization": "Bearer 你的_API_Key"},
files={"file": f},
)
print(response.json())
<?php
$ch = curl_init("https://files.sudashuiapi.com");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer 你的_API_Key"],
CURLOPT_POSTFIELDS => [
"file" => new CURLFile("D:/Users/24553/Pictures/004.jpg")
]
]);
echo curl_exec($ch);
{
"url": "https://files.sudashuiapi.com/proxy/uploads/20260826/1787710210571-665e406a-2c82-4753-b0bc-9c4a0b0d2b31-03e6015fdd3ab97aa764f5221799d69a.png",
"key": "uploads/20260826/1787710210571-665e406a-2c82-4753-b0bc-9c4a0b0d2b31-03e6015fdd3ab97aa764f5221799d69a.png",
"size": 899870,
"contentType": "image/png",
"expiresAt": "2026-08-26T04:10:10.571Z"
}
| 字段 | 类型 | 说明 |
|---|---|---|
url | string | 素材访问 URL,创建视频任务时放入对应的素材字段。 |
key | string | 素材在文件存储中的对象键,一般无需在视频请求中传入。 |
size | integer | 文件大小,单位为字节。 |
contentType | string | 文件 MIME 类型,例如 image/png。 |
expiresAt | string | 响应中的时间字段,使用 ISO 8601 格式。 |
文件类型与限制
| 类型 | MIME Type | 扩展名 | 上传大小 |
|---|---|---|---|
| 图片 | image/jpeg | .jpeg, .jpg | 单张小于 30 MB |
| 图片 | image/png | .png | 单张小于 30 MB |
| 图片 | image/webp | .webp | 单张小于 30 MB |
| 视频 | video/mp4 | .mp4 | 单个小于 50 MB |
| 视频 | video/quicktime | .mov | 单个小于 50 MB |
| 音频 | audio/mpeg | .mp3 | 单个小于 15 MB |
| 音频 | audio/wav | .wav | 单个小于 15 MB |
创建视频生成任务
本节参数规则仅针对视频生成。图片虽然使用同一接口,但请求体不同,请参考图片生成,不要套用视频的 duration、aspectRatio 和 mode 参数规则。
获取可用模型
curl https://api.sudashuiapi.com/v1/models \
-H "Authorization: Bearer 你的_API_Key"
不要额外传 resolution,分辨率由模型名决定。
基础参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 必须是 /v1/models 或模型广场中当前可用的模型名,分辨率由模型名决定。 |
prompt | string | 建议填写 | 提示词,支持 @image1、@audio1、@video1 等引用。 |
duration | number | 是 | 通用文档范围为 4 到 15 秒;具体可用时长以模型广场中的单模型说明为准。 |
metadata.payload | string | 是 | JSON 字符串,不能直接传 JSON 对象。 |
images、imageUrls、videoUrls、audioUrls、firstFrameUrl、lastFrameUrl、aspectRatio、mode、resolution。metadata.payload 参数
metadata.payload 是一个 JSON 字符串。它内部的 JSON 对象支持以下字段:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
aspectRatio | string | 是 | 画面比例 |
mode | string | 是 | 生成模式:references 或 frames |
imageUrls | string[] | 否 | 图片 URL 数组,references 模式使用;可用数量以模型广场中的模型说明为准 |
videoUrls | string[] | 否 | 视频 URL 数组,references 模式使用;可用数量以模型广场中的模型说明为准 |
audioUrls | string[] | 否 | 音频 URL 数组,references 模式使用;可用数量以模型广场中的模型说明为准 |
firstFrameUrl | string | 条件必填 | 首帧图片 URL,frames 模式必填 |
lastFrameUrl | string | 条件必填 | 尾帧图片 URL,frames 模式必填 |
1:1 3:4 4:3 9:16 16:9 21:9 adaptivereferences frames参数规则
mode=references:用于文生视频、图片参考、视频参考、音频参考,以及多素材组合参考。mode=frames:用于首尾帧视频。mode=frames时必须传firstFrameUrl和lastFrameUrl。mode=frames时不能传imageUrls、videoUrls、audioUrls。mode=references时不能传firstFrameUrl、lastFrameUrl。metadata.payload内不能传model、resolution、duration、prompt。
素材顺序对应
| 数组字段 | 数组位置 | prompt 引用 |
|---|---|---|
imageUrls | imageUrls[0] / imageUrls[1] | @image1 / @image2 |
audioUrls | audioUrls[0] / audioUrls[1] | @audio1 / @audio2 |
videoUrls | videoUrls[0] / videoUrls[1] | @video1 / @video2 |
@image1 对应第一张图片,不是文件名中的数字。图片、音频、视频的编号互不影响。
生成任务素材限制
| 素材类型 | 数量限制 | 大小限制 | 时长限制 | 其他限制 |
|---|---|---|---|---|
| 图片 | 以模型广场说明为准 | 单张小于 30 MB | - | 支持 jpg / jpeg / png / webp |
| 音频 | 以模型广场说明为准 | 单个小于 15 MB | 以模型广场说明为准 | 支持 mp3 / wav |
| 视频 | 以模型广场说明为准 | 单个小于 50 MB | 以模型广场说明为准 | 像素和格式要求以模型广场说明为准 |
imageUrls、audioUrls、videoUrls 的可用数量由具体模型决定,请以模型广场上对应模型的详细说明为准。创建任务响应
创建成功响应
创建成功后会返回任务对象。请保存 task_id,用于后续查询。
{
"id": "task_DrwbCgmERlqqvftqyf2o59FaWynwJPDN",
"task_id": "task_DrwbCgmERlqqvftqyf2o59FaWynwJPDN",
"object": "video",
"model": "sd-api-2-fast-720p",
"status": "queued",
"progress": 0,
"created_at": 1780990464
}
创建失败响应
参数不合法、鉴权失败或其他请求错误时,会返回失败响应。常见参数错误示例:
{
"code": "fail_to_fetch_task",
"message": "{\"state\":\"failed\",\"err_code\":\"invalid_request\",\"message\":\"duration must be from 4 to 15 seconds.\",\"creations\":[]}",
"data": null
}
创建任务场景示例
文生视频
无素材curl https://api.sudashuiapi.com/v1/video/generations \
-H "Authorization: Bearer 你的_API_Key" \
-H "Content-Type: application/json" \
-d '{
"model": "sd-api-2-fast-720p",
"prompt": "一只可爱的小猫,电影感镜头",
"duration": 4,
"metadata": {
"payload": "{\"aspectRatio\":\"16:9\",\"mode\":\"references\"}"
}
}'
const response = await fetch("https://api.sudashuiapi.com/v1/video/generations", {
method: "POST",
headers: {
"Authorization": "Bearer 你的_API_Key",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "sd-api-2-fast-720p",
prompt: "一只可爱的小猫,电影感镜头",
duration: 4,
metadata: {
payload: JSON.stringify({ aspectRatio: "16:9", mode: "references" })
}
})
});
const data = await response.json();
import json
import requests
response = requests.post(
"https://api.sudashuiapi.com/v1/video/generations",
headers={
"Authorization": "Bearer 你的_API_Key",
"Content-Type": "application/json",
},
json={
"model": "sd-api-2-fast-720p",
"prompt": "一只可爱的小猫,电影感镜头",
"duration": 4,
"metadata": {
"payload": json.dumps({"aspectRatio": "16:9", "mode": "references"})
},
},
)
print(response.json())
<?php
$payload = [
"model" => "sd-api-2-fast-720p",
"prompt" => "一只可爱的小猫,电影感镜头",
"duration" => 4,
"metadata" => [
"payload" => json_encode(["aspectRatio" => "16:9", "mode" => "references"])
]
];
$ch = curl_init("https://api.sudashuiapi.com/v1/video/generations");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer 你的_API_Key",
"Content-Type: application/json"
],
CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE)
]);
echo curl_exec($ch);
单图参考生视频
@image1{
"model": "sd-api-2-fast-720p",
"prompt": "让 @image1 里的小猫动起来,电影感镜头",
"duration": 4,
"metadata": {
"payload": "{\"aspectRatio\":\"16:9\",\"mode\":\"references\",\"imageUrls\":[\"https://files.sudashuiapi.com/proxy/xxx/cat.jpg\"]}"
}
}
多图参考生视频
@image1 + @image2{
"model": "sd-api-2-fast-720p",
"prompt": "让 @image1 里的角色进入 @image2 的场景中,自然运镜,电影感镜头",
"duration": 4,
"metadata": {
"payload": "{\"aspectRatio\":\"16:9\",\"mode\":\"references\",\"imageUrls\":[\"https://files.sudashuiapi.com/proxy/xxx/character.jpg\",\"https://files.sudashuiapi.com/proxy/xxx/scene.jpg\"]}"
}
}
图片 + 音频参考
@image1 + @audio1{
"model": "sd-api-2-fast-720p",
"prompt": "让 @image1 里的角色跟着 @audio1 的节奏做动作",
"duration": 4,
"metadata": {
"payload": "{\"aspectRatio\":\"16:9\",\"mode\":\"references\",\"imageUrls\":[\"https://files.sudashuiapi.com/proxy/xxx/character.jpg\"],\"audioUrls\":[\"https://files.sudashuiapi.com/proxy/xxx/music.mp3\"]}"
}
}
视频参考
@video1{
"model": "sd-api-2-fast-720p",
"prompt": "参考 @video1 的动作,把主体变成可爱小猫,动画风格",
"duration": 4,
"metadata": {
"payload": "{\"aspectRatio\":\"16:9\",\"mode\":\"references\",\"videoUrls\":[\"https://files.sudashuiapi.com/proxy/xxx/reference.mp4\"]}"
}
}
图片 + 视频 + 音频参考
@image1 + @video1 + @audio1{
"model": "sd-api-2-fast-720p",
"prompt": "让 @image1 里的角色参考 @video1 的动作,并跟随 @audio1 的节奏,生成电影感视频",
"duration": 4,
"metadata": {
"payload": "{\"aspectRatio\":\"16:9\",\"mode\":\"references\",\"imageUrls\":[\"https://files.sudashuiapi.com/proxy/xxx/character.jpg\"],\"videoUrls\":[\"https://files.sudashuiapi.com/proxy/xxx/action.mp4\"],\"audioUrls\":[\"https://files.sudashuiapi.com/proxy/xxx/music.mp3\"]}"
}
}
多图 + 多音频 + 多视频参考
多素材组合{
"model": "sd-api-2-fast-720p",
"prompt": "让 @image1 的角色在 @image2 的场景中,参考 @video1 的动作,配合 @audio1 的节奏,结尾参考 @video2 的镜头运动",
"duration": 6,
"metadata": {
"payload": "{\"aspectRatio\":\"16:9\",\"mode\":\"references\",\"imageUrls\":[\"https://files.sudashuiapi.com/proxy/xxx/character.jpg\",\"https://files.sudashuiapi.com/proxy/xxx/scene.jpg\"],\"videoUrls\":[\"https://files.sudashuiapi.com/proxy/xxx/action.mp4\",\"https://files.sudashuiapi.com/proxy/xxx/camera.mp4\"],\"audioUrls\":[\"https://files.sudashuiapi.com/proxy/xxx/music.mp3\",\"https://files.sudashuiapi.com/proxy/xxx/effect.wav\"]}"
}
}
首尾帧生成视频
frames首尾帧模式使用 firstFrameUrl 和 lastFrameUrl,不要再传 imageUrls。
{
"model": "sd-2-1080p",
"prompt": "从第一张图自然过渡到第二张图,电影感镜头",
"duration": 6,
"metadata": {
"payload": "{\"aspectRatio\":\"16:9\",\"mode\":\"frames\",\"firstFrameUrl\":\"https://files.sudashuiapi.com/proxy/xxx/first.jpg\",\"lastFrameUrl\":\"https://files.sudashuiapi.com/proxy/xxx/last.jpg\"}"
}
}
创建图片生成任务
图片生成与视频生成使用同一个接口:POST /v1/video/generations。不要因生成的是图片而改用其他路径;两者的区别是 model 和请求体中的生成参数。
请求头携带 Authorization: Bearer 你的_API_Key 和 Content-Type: application/json。以下示例使用 jy-gpt-image-2;也可根据当前模型可用情况选择 jy-nano-banana-2 等图片模型,具体能力和限制以模型广场为准。
图片请求参数
| 字段 | 类型 | 说明 |
|---|---|---|
model | string | 图片模型名称,例如 jy-gpt-image-2 或 jy-nano-banana-2。 |
prompt | string | 图片生成提示词,例如“图1和图2在校园里散步,电影海报风格”。 |
metadata.payload | string | 生成参数的 JSON 字符串,不能直接传 JSON 对象。 |
metadata.payload 内部 JSON 对象使用以下图片参数:
| 字段 | 类型 | 说明 |
|---|---|---|
ratio | string | 图片比例,例如 16:9、9:16;支持范围以具体模型说明为准。 |
resolution | string | 图片分辨率,例如 4k、2k;支持范围以具体模型说明为准。 |
imageUrls | string[] | 参考图片 URL 数组。示例中的“图1”“图2”按数组顺序对应;素材可先通过上传接口获取 URL,数量限制以模型说明为准。 |
ratio,不是视频的 aspectRatio;resolution 放在 metadata.payload 字符串内部。无需照搬视频示例中的 duration 或 mode。参考图生成图片
图1 + 图2{
"model": "jy-gpt-image-2",
"prompt": "图1和图2在校园里散步,电影海报风格",
"metadata": {
"payload": "{\"ratio\":\"16:9\",\"resolution\":\"4k\",\"imageUrls\":[\"https://files.sudashuiapi.com/proxy/uploads/20260714/1783992654249-85a0f712-8e64-4b33-9d84-3fa1e096f34f-03e6015fdd3ab97aa764f5221799d69a.png\",\"https://files.sudashuiapi.com/proxy/uploads/20260714/1783992675451-964e7736-da18-492b-9283-c9fa2566c97e-59a2287c9b1fb4fce02ba547f7e0064f.png\"]}"
}
}
图片任务提交响应
以下提交响应及后面的生成中、成功响应来自一个 jy-nano-banana-2 任务;失败响应来自另一个 jy-gpt-image-2 任务。提交后请保存顶层 task_id 用于查询,queued 仅表示任务已排队,不代表图片已生成。
{
"id": "task_0B1TG8dELxmKgPaXaNEylCuQx7yFZVed",
"task_id": "task_0B1TG8dELxmKgPaXaNEylCuQx7yFZVed",
"object": "video",
"model": "jy-nano-banana-2",
"status": "queued",
"progress": 0,
"created_at": 1792549940
}
由于复用视频任务接口,图片任务提交响应的 object 也可能是 video,这是正常的兼容结构,不表示实际生成视频。
查询图片生成任务
图片任务轮询也与视频完全相同。将提交响应中的 task_id 拼接在 /v1/video/generations/ 后,并携带同一个 API Key。不要使用响应内层 data.data.task_id 或 payload 中的上游任务 ID。
例如查询下面的失败任务:https://api.sudashuiapi.com/v1/video/generations/task_fs52kLJLzP8bLZjo2V4FLWY3VkNRzjLz。实际调用时请替换为本次提交返回的任务 ID。
curl --location 'https://api.sudashuiapi.com/v1/video/generations/task_fs52kLJLzP8bLZjo2V4FLWY3VkNRzjLz' \
-H 'Authorization: Bearer 你的_API_Key'
其他语言的查询方式与通用任务查询示例一致,只需替换任务 ID。可间隔数秒轮询一次,在任务成功或失败后停止轮询。
图片任务状态
| 阶段 | 状态字段 | 处理方式 |
|---|---|---|
| 提交成功 | 提交响应 status: queued | 保存顶层 task_id,开始查询。 |
| 排队或生成中 | 查询响应 data.status: NOT_START / SUBMITTED / IN_PROGRESS | 继续轮询。生成中示例同时包含 NOT_START 和 data.data.state: processing。 |
| 生成成功 | data.status: SUCCESS,data.data.state: success | 停止轮询,获取图片 URL。 |
| 生成失败 | data.status: FAILURE,data.data.state: failed | 停止轮询,读取错误详情。 |
code: "success" 只表示查询请求成功,不表示生成成功。请根据 data.status 和 data.data.state 判断任务结果;progress: "100%" 也可能出现在失败任务中。生成中示例
生成中响应的 data.data.images 是参考图片,不是最终生成结果。
{
"code": "success",
"message": "",
"data": {
"id": 2289491,
"created_at": 1792549940,
"updated_at": 1792549940,
"task_id": "task_0B1TG8dELxmKgPaXaNEylCuQx7yFZVed",
"platform": "52",
"user_id": 1,
"group": "ssvip",
"channel_id": 17,
"quota": 60000,
"action": "textGenerate",
"status": "NOT_START",
"fail_reason": "",
"submit_time": 1792549940,
"start_time": 0,
"finish_time": 0,
"progress": "0%",
"properties": {
"input": "",
"upstream_model_name": "jy-nano-banana-2",
"origin_model_name": "jy-nano-banana-2"
},
"data": {
"model": "jy-nano-banana-2",
"ratio": "9:16",
"state": "processing",
"images": [
"https://files2.sudashuiapi.com/ceshi/004.jpg",
"https://files2.sudashuiapi.com/ceshi/20260827-232002.png"
],
"prompt": "图1和图2幸福的生活在一起,电影海报风格",
"payload": "{\"id\":\"task_img_jyi_task_ETWpGo65gmDRZGWZDRfm8M1f9B98dg4r\",\"status\":\"processing\",\"model\":\"jy-nano-banana-2\",\"ratio\":\"9:16\",\"resolution\":\"2k\",\"provider\":\"jingyu-image\"}",
"task_id": "task_img_jyi_task_ETWpGo65gmDRZGWZDRfm8M1f9B98dg4r",
"created_at": "2026-10-21T02:32:20.059Z",
"resolution": "2k"
}
}
}
图片生成成功示例
确认任务成功后,读取 data.result_url 或 data.data.creations[0].url 获取图片。data.data.payload 是 JSON 字符串,解析后也可读取 publicImageUrl;通常直接使用前两个字段即可。
{
"code": "success",
"message": "",
"data": {
"id": 2289491,
"created_at": 1792549940,
"updated_at": 1792549970,
"task_id": "task_0B1TG8dELxmKgPaXaNEylCuQx7yFZVed",
"platform": "52",
"user_id": 1,
"group": "ssvip",
"channel_id": 17,
"quota": 60000,
"action": "textGenerate",
"status": "SUCCESS",
"fail_reason": "",
"result_url": "https://files.sudashuiapi.com/proxy/outputs/jyi/task_img_jyi_task_ETWpGo65gmDRZGWZDRfm8M1f9B98dg4r.jpg",
"submit_time": 1792549940,
"start_time": 0,
"finish_time": 1792549970,
"progress": "100%",
"properties": {
"input": "",
"upstream_model_name": "jy-nano-banana-2",
"origin_model_name": "jy-nano-banana-2"
},
"data": {
"state": "success",
"credits": 0,
"message": "",
"payload": "{\"id\":\"task_img_jyi_task_ETWpGo65gmDRZGWZDRfm8M1f9B98dg4r\",\"status\":\"completed\",\"provider\":\"jingyu-image\",\"publicImageUrl\":\"https://files.sudashuiapi.com/proxy/outputs/jyi/task_img_jyi_task_ETWpGo65gmDRZGWZDRfm8M1f9B98dg4r.jpg\",\"progress\":\"100%\"}",
"err_code": "",
"creations": [
{
"id": "task_img_jyi_task_ETWpGo65gmDRZGWZDRfm8M1f9B98dg4r",
"url": "https://files.sudashuiapi.com/proxy/outputs/jyi/task_img_jyi_task_ETWpGo65gmDRZGWZDRfm8M1f9B98dg4r.jpg",
"cover_url": "https://files.sudashuiapi.com/proxy/outputs/jyi/task_img_jyi_task_ETWpGo65gmDRZGWZDRfm8M1f9B98dg4r.jpg"
}
]
}
}
}
图片生成失败示例
失败时优先查看 data.data.message 获取详细原因,并保留 data.data.err_code 和 data.fail_reason。此例为上游没有可用渠道;result_url 是错误码 request_failed,不是可下载的图片地址。
{
"code": "success",
"message": "",
"data": {
"id": 2289169,
"created_at": 1792549627,
"updated_at": 1792549666,
"task_id": "task_fs52kLJLzP8bLZjo2V4FLWY3VkNRzjLz",
"platform": "52",
"user_id": 1,
"group": "ssvip",
"channel_id": 17,
"quota": 60000,
"action": "textGenerate",
"status": "FAILURE",
"fail_reason": "request_failed",
"result_url": "request_failed",
"submit_time": 1792549627,
"start_time": 0,
"finish_time": 1792549666,
"progress": "100%",
"properties": {
"input": "",
"upstream_model_name": "jy-gpt-image-2",
"origin_model_name": "jy-gpt-image-2"
},
"data": {
"state": "failed",
"credits": 0,
"message": "No available channel for model gpt-image-2 under group svip (distributor) (request id: 202610210227130829365208268d9d6UO54sqaS)",
"payload": "{\"id\":\"task_img_jyi_task_nghis7VUEsPl3cFBFNxSzICNccJcRYd7\",\"status\":\"failed\",\"provider\":\"jingyu-image\",\"error_code\":\"request_failed\",\"error\":\"No available channel for model gpt-image-2 under group svip (distributor) (request id: 202610210227130829365208268d9d6UO54sqaS)\"}",
"err_code": "request_failed",
"creations": []
}
}
}
通用任务查询
视频与图片任务均使用此接口查询,以下是视频任务的多语言查询和响应示例。图片响应示例见图片任务查询。
curl https://api.sudashuiapi.com/v1/video/generations/task_DrwbCgmERlqqvftqyf2o59FaWynwJPDN \
-H "Authorization: Bearer 你的_API_Key"
const response = await fetch(
"https://api.sudashuiapi.com/v1/video/generations/task_DrwbCgmERlqqvftqyf2o59FaWynwJPDN",
{ headers: { "Authorization": "Bearer 你的_API_Key" } }
);
const data = await response.json();
import requests
response = requests.get(
"https://api.sudashuiapi.com/v1/video/generations/task_DrwbCgmERlqqvftqyf2o59FaWynwJPDN",
headers={"Authorization": "Bearer 你的_API_Key"},
)
print(response.json())
<?php
$ch = curl_init("https://api.sudashuiapi.com/v1/video/generations/task_DrwbCgmERlqqvftqyf2o59FaWynwJPDN");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer 你的_API_Key"]
]);
echo curl_exec($ch);
状态说明
| 外层状态 | 内层 state | 含义 |
|---|---|---|
NOT_START | processing(图片示例) | 任务尚未结束,继续查询 |
SUBMITTED | queueing | 已提交,排队中 |
IN_PROGRESS | processing | 生成中 |
SUCCESS | success | 生成成功 |
FAILURE | failed | 生成失败 |
成功示例
{
"code": "success",
"message": "",
"data": {
"task_id": "task_DrwbCgmERlqqvftqyf2o59FaWynwJPDN",
"status": "SUCCESS",
"result_url": "https://files.sudashuiapi.com/proxy/generating/output.mp4",
"progress": "100%",
"data": {
"state": "success",
"message": "",
"err_code": "",
"creations": [
{
"id": "6a27c2007f67cc1d1c5bdcc7",
"url": "https://files.sudashuiapi.com/proxy/generating/output.mp4",
"cover_url": "https://files.sudashuiapi.com/proxy/generating/first.jpg"
}
]
}
}
}
失败示例
{
"code": "success",
"message": "",
"data": {
"task_id": "task_mDlJcHGjpem3n6aR4I0DeiYMOqvtWAA6",
"status": "FAILURE",
"fail_reason": "Real human faces are not supported.",
"result_url": "Real human faces are not supported.",
"progress": "100%",
"data": {
"state": "failed",
"message": "Real human faces are not supported.",
"err_code": "Real human faces are not supported.",
"creations": []
}
}
}
错误响应
参数错误
{
"code": "fail_to_fetch_task",
"message": "{\"state\":\"failed\",\"err_code\":\"invalid_request\",\"message\":\"duration must be from 4 to 15 seconds.\",\"creations\":[]}",
"data": null
}
常见错误原因
| 错误原因 | 说明 |
|---|---|
duration must be from 4 to 15 seconds | 时长不在 4-15 秒范围内。 |
metadata.payload.aspectRatio must be one of... | 画面比例不合法。 |
metadata.payload.mode must be one of... | 生成模式不合法。 |
Do not pass top-level images... | 媒体参数不能放外层。 |
unauthorized | 缺少或使用了无效 API Key。 |