接口文档

54 个接口 · 15 个应用分类

模型价格
接口 01

音乐生成歌词混合

POST /api/v1/apps/music_generation/mashup_lyrics

将两段歌词融合为新的混合版本。

基本信息

字段内容
应用编码music_generation
API 编码mashup_lyrics
请求方式POST
请求路径/api/v1/apps/music_generation/mashup_lyrics
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

业务参数

参数类型必填默认值可选值 / 范围示例说明
lyrics_astring是---第一段歌词文本。
lyrics_bstring是---第二段歌词文本。

响应说明

同步返回处理结果。媒体类结果可能包含 audio_url、video_url、file_url、image_url、audio_id、persona_id 等字段,具体以接口实际结果为准。

成功示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "result": {
            "status": "completed",
            "title": "Lyrics Mashup",
            "data": {
                "text": "[singer A]\nMorning light on the road\n\n[transition]\n\n[singer B]\nDance through the midnight glare",
                "title": "Lyrics Mashup",
                "tags": [],
                "status": "complete"
            }
        },
        "usage": {
            "points_cost": 12,
            "actual_points": 12
        }
    }
}

失败示例

JSON
{
    "code": 0,
    "msg": "任务处理失败,请稍后重试",
    "data": null
}
接口 02

音乐生成人声处理

POST /api/v1/apps/music_generation/vox

基于音频 ID 提取指定片段的人声或伴奏处理结果。

基本信息

字段内容
应用编码music_generation
API 编码vox
请求方式POST
请求路径/api/v1/apps/music_generation/vox
调用模式异步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

业务参数

参数类型必填默认值可选值 / 范围示例说明
audio_idstring是--audio_xxxxxxxxxxxx音频 ID,用于定位已生成或已上传的音频片段。
vocal_startnumber否---人声提取开始时间,单位秒。
vocal_endnumber否---人声提取结束时间,单位秒。
callback_urlstring否---任务完成或失败时由平台主动通知的 HTTPS 地址。

响应说明

提交成功后返回平台 task_id。请使用本应用查询接口或统一任务查询接口获取最终结果;如果请求传入 callback_url,平台会在任务终态时主动通知。

提交成功示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "task_id": "task_xxxxxxxxxxxx",
        "status": "processing",
        "app": "music_generation",
        "api": "vox",
        "frozen_points": 14,
        "actual_points": 0,
        "created_at": "2026-07-06T14:32:35Z"
    }
}

查询完成示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "result": {
            "task_id": "task_xxxxxxxxxxxx",
            "status": "completed",
            "data": {
                "id": "vox_xxxxxxxxxxxx",
                "status": "complete",
                "vocal_start_s": "0.0",
                "vocal_end_s": "20.0"
            }
        },
        "usage": {
            "points_cost": 14,
            "actual_points": 14
        }
    }
}

失败示例

JSON
{
    "code": 0,
    "msg": "任务处理失败,请稍后重试",
    "data": null
}
接口 03

音乐生成优化音乐风格

POST /api/v1/apps/music_generation/style

根据提示词生成更完整的音乐风格描述。

基本信息

字段内容
应用编码music_generation
API 编码style
请求方式POST
请求路径/api/v1/apps/music_generation/style
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

业务参数

参数类型必填默认值可选值 / 范围示例说明
promptstring是--warm electronic pop with female vocal需要优化的风格提示词。

响应说明

同步返回处理结果。媒体类结果可能包含 audio_url、video_url、file_url、image_url、audio_id、persona_id 等字段,具体以接口实际结果为准。

成功示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "result": {
            "status": "completed",
            "data": {
                "upsampled_tags": "Ultra-soft electronic pop at 84 BPM, bright synth arpeggios, muted kick, airy pad chords."
            }
        },
        "usage": {
            "points_cost": 14,
            "actual_points": 14
        }
    }
}

失败示例

JSON
{
    "code": 0,
    "msg": "任务处理失败,请稍后重试",
    "data": null
}
接口 04

音乐生成导出 MIDI

POST /api/v1/apps/music_generation/midi

基于音频 ID 提取 MIDI 文件。

基本信息

字段内容
应用编码music_generation
API 编码midi
请求方式POST
请求路径/api/v1/apps/music_generation/midi
调用模式异步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

业务参数

参数类型必填默认值可选值 / 范围示例说明
audio_idstring是--audio_xxxxxxxxxxxx音频 ID,用于定位已生成或已上传的音频片段。
callback_urlstring否---任务完成或失败时由平台主动通知的 HTTPS 地址;同步接口可不传。

响应说明

提交成功后返回平台 task_id。请使用本应用查询接口或统一任务查询接口获取最终结果;如果请求传入 callback_url,平台会在任务终态时主动通知。

提交成功示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "task_id": "task_xxxxxxxxxxxx",
        "status": "processing",
        "app": "music_generation",
        "api": "midi",
        "frozen_points": 14,
        "actual_points": 0,
        "created_at": "2026-07-06T14:32:35Z"
    }
}

查询处理中示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "result": {
            "status": "processing"
        },
        "usage": {
            "points_cost": 0,
            "actual_points": 0
        }
    }
}

查询完成示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "result": {
            "task_id": "task_xxxxxxxxxxxx",
            "status": "completed",
            "file_url": "https://example.com/music/audio.mid"
        },
        "usage": {
            "points_cost": 14,
            "actual_points": 14
        }
    }
}

失败示例

JSON
{
    "code": 0,
    "msg": "任务处理失败,请稍后重试",
    "data": null
}
接口 05

音乐生成歌词时间轴

POST /api/v1/apps/music_generation/timing

基于音频 ID 获取歌词与音频时间轴信息。

基本信息

字段内容
应用编码music_generation
API 编码timing
请求方式POST
请求路径/api/v1/apps/music_generation/timing
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

业务参数

参数类型必填默认值可选值 / 范围示例说明
audio_idstring是--audio_xxxxxxxxxxxx音频 ID,用于定位已生成或已上传的音频片段。
callback_urlstring否---任务完成或失败时由平台主动通知的 HTTPS 地址;同步接口可不传。

响应说明

同步返回处理结果。媒体类结果可能包含 audio_url、video_url、file_url、image_url、audio_id、persona_id 等字段,具体以接口实际结果为准。

成功示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "result": {
            "status": "completed",
            "data": {
                "aligned_words": [
                    {
                        "word": "Morning",
                        "start_s": 18.431,
                        "end_s": 18.989,
                        "success": true
                    }
                ],
                "segments": [
                    {
                        "text": "Morning on the street",
                        "start_s": 18.431,
                        "end_s": 21.383
                    }
                ],
                "waveform_data": [
                    0.05253,
                    0.09595,
                    0.08009
                ]
            }
        },
        "usage": {
            "points_cost": 0,
            "actual_points": 0
        }
    }
}

失败示例

JSON
{
    "code": 0,
    "msg": "任务处理失败,请稍后重试",
    "data": null
}
接口 06

音乐生成导出 MP4

POST /api/v1/apps/music_generation/mp4

基于音频 ID 获取视频文件链接。

基本信息

字段内容
应用编码music_generation
API 编码mp4
请求方式POST
请求路径/api/v1/apps/music_generation/mp4
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

业务参数

参数类型必填默认值可选值 / 范围示例说明
audio_idstring是--audio_xxxxxxxxxxxx音频 ID,用于定位已生成或已上传的音频片段。
callback_urlstring否---任务完成或失败时由平台主动通知的 HTTPS 地址;同步接口可不传。

响应说明

同步返回处理结果。媒体类结果可能包含 audio_url、video_url、file_url、image_url、audio_id、persona_id 等字段,具体以接口实际结果为准。

成功示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "result": {
            "status": "completed",
            "video_url": "https://example.com/music/video.mp4",
            "data": {
                "video_url": "https://example.com/music/video.mp4"
            }
        },
        "usage": {
            "points_cost": 20,
            "actual_points": 20
        }
    }
}

失败示例

JSON
{
    "code": 0,
    "msg": "任务处理失败,请稍后重试",
    "data": null
}
接口 07

音乐生成导出 WAV

POST /api/v1/apps/music_generation/wav

基于音频 ID 导出高质量 WAV 文件。

基本信息

字段内容
应用编码music_generation
API 编码wav
请求方式POST
请求路径/api/v1/apps/music_generation/wav
调用模式异步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

业务参数

参数类型必填默认值可选值 / 范围示例说明
audio_idstring是--audio_xxxxxxxxxxxx音频 ID,用于定位已生成或已上传的音频片段。
callback_urlstring否---任务完成或失败时由平台主动通知的 HTTPS 地址;同步接口可不传。

响应说明

提交成功后返回平台 task_id。请使用本应用查询接口或统一任务查询接口获取最终结果;如果请求传入 callback_url,平台会在任务终态时主动通知。

提交成功示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "task_id": "task_xxxxxxxxxxxx",
        "status": "processing",
        "app": "music_generation",
        "api": "wav",
        "frozen_points": 14,
        "actual_points": 0,
        "created_at": "2026-07-06T14:32:35Z"
    }
}

查询完成示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "result": {
            "task_id": "task_xxxxxxxxxxxx",
            "status": "completed",
            "file_url": "https://example.com/music/audio.wav",
            "data": [
                {
                    "file_url": "https://example.com/music/audio.wav"
                }
            ]
        },
        "usage": {
            "points_cost": 14,
            "actual_points": 14
        }
    }
}

失败示例

JSON
{
    "code": 0,
    "msg": "任务处理失败,请稍后重试",
    "data": null
}
接口 08

音乐生成声音克隆

POST /api/v1/apps/music_generation/voice_clone

基于清晰人声音频创建私有声音风格 ID。

基本信息

字段内容
应用编码music_generation
API 编码voice_clone
请求方式POST
请求路径/api/v1/apps/music_generation/voice_clone
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

业务参数

参数类型必填默认值可选值 / 范围示例说明
audio_urlstring是--https://example.com/voice.mp3可公开访问的 MP3 或 WAV 人声音频 URL。音频至少 10 秒,建议单人清晰人声,尽量避免背景噪音或背景音乐。
namestring否--My Voice自定义声音风格名称。
descriptionstring否---自定义声音风格描述。

响应说明

同步返回处理结果。媒体类结果可能包含 audio_url、video_url、file_url、image_url、audio_id、persona_id 等字段,具体以接口实际结果为准。

成功示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "result": {
            "status": "completed",
            "voice_id": "voice_xxxxxxxxxxxx",
            "data": {
                "voice_id": "voice_xxxxxxxxxxxx",
                "name": "My Voice"
            }
        },
        "usage": {
            "points_cost": 20,
            "actual_points": 20
        }
    }
}

失败示例

JSON
{
    "code": 0,
    "msg": "Audio duration must be between 10 and 240 seconds.",
    "data": null
}
接口 09

音乐生成创建歌手风格

POST /api/v1/apps/music_generation/persona

基于已生成歌曲创建可复用的歌手风格 ID。

基本信息

字段内容
应用编码music_generation
API 编码persona
请求方式POST
请求路径/api/v1/apps/music_generation/persona
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

业务参数

参数类型必填默认值可选值 / 范围示例说明
audio_idstring是--audio_xxxxxxxxxxxx音频 ID,用于定位已生成或已上传的音频片段。
namestring是--My Singer Style歌手风格名称。
descriptionstring否---歌手风格的文字描述。
vocal_startnumber否---人声片段开始时间,单位秒。
vocal_endnumber否---人声片段结束时间,单位秒。
vox_audio_idstring否---用于创建新歌手风格的人声参考音频 ID。

响应说明

同步返回处理结果。媒体类结果可能包含 audio_url、video_url、file_url、image_url、audio_id、persona_id 等字段,具体以接口实际结果为准。

成功示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "result": {
            "status": "completed",
            "persona_id": "persona_xxxxxxxxxxxx",
            "data": {
                "persona_id": "persona_xxxxxxxxxxxx"
            }
        },
        "usage": {
            "points_cost": 12,
            "actual_points": 12
        }
    }
}

失败示例

JSON
{
    "code": 0,
    "msg": "任务处理失败,请稍后重试",
    "data": null
}
接口 10

音乐生成上传参考音频

POST /api/v1/apps/music_generation/upload_audio

提交可访问的音频地址并返回可用于后续创作的音频 ID。

基本信息

字段内容
应用编码music_generation
API 编码upload_audio
请求方式POST
请求路径/api/v1/apps/music_generation/upload_audio
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

业务参数

参数类型必填默认值可选值 / 范围示例说明
audio_urlstring是--https://example.com/ref.mp3可公开访问的音频文件 URL,用于生成后续创作需要的音频 ID。

响应说明

同步返回处理结果。媒体类结果可能包含 audio_url、video_url、file_url、image_url、audio_id、persona_id 等字段,具体以接口实际结果为准。

成功示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "result": {
            "status": "completed",
            "audio_id": "audio_xxxxxxxxxxxx",
            "audio_url": "https://example.com/music/reference.mp3",
            "title": "reference_audio",
            "duration": 198,
            "data": {
                "audio_id": "audio_xxxxxxxxxxxx",
                "audio_url": "https://example.com/music/reference.mp3",
                "duration": 198
            }
        },
        "usage": {
            "points_cost": 13,
            "actual_points": 13
        }
    }
}

失败示例

JSON
{
    "code": 0,
    "msg": "任务处理失败,请稍后重试",
    "data": null
}
接口 11

音乐生成生成歌词

POST /api/v1/apps/music_generation/lyrics

根据主题或风格描述生成结构化歌词。

基本信息

字段内容
应用编码music_generation
API 编码lyrics
请求方式POST
请求路径/api/v1/apps/music_generation/lyrics
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

业务参数

参数类型必填默认值可选值 / 范围示例说明
promptstring是--A song about winter歌词生成提示词,用于描述歌词主题、情绪或风格。

响应说明

同步返回处理结果。媒体类结果可能包含 audio_url、video_url、file_url、image_url、audio_id、persona_id 等字段,具体以接口实际结果为准。

成功示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "result": {
            "status": "completed",
            "title": "First Light Avenue",
            "data": [
                {
                    "text": "[Verse 1]\nThe bakery opens slow\n[Chorus]\nMorning on the street",
                    "title": "First Light Avenue",
                    "status": "complete",
                    "tags": [
                        "indie pop",
                        "warm vocal"
                    ]
                }
            ]
        },
        "usage": {
            "points_cost": 12,
            "actual_points": 12
        }
    }
}

失败示例

JSON
{
    "code": 0,
    "msg": "任务处理失败,请稍后重试",
    "data": null
}
接口 12

音乐生成查询音乐任务

GET /api/v1/apps/music_generation/query

按平台任务 ID 查询任务状态与结果。

基本信息

字段内容
应用编码music_generation
API 编码query
请求方式GET
请求路径/api/v1/apps/music_generation/query
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

业务参数

参数类型必填默认值可选值 / 范围示例说明
task_idstring是--task_xxxxxxxxxxxx创建任务后返回的平台任务 ID。

响应说明

同步返回处理结果。媒体类结果可能包含 audio_url、video_url、file_url、image_url、audio_id、persona_id 等字段,具体以接口实际结果为准。

处理中示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "result": {
            "status": "processing"
        },
        "usage": {
            "points_cost": 0,
            "actual_points": 0
        }
    }
}

完成示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "result": {
            "task_id": "task_xxxxxxxxxxxx",
            "status": "completed",
            "audio_url": "https://example.com/music/audio.mp3",
            "file_url": "https://example.com/music/audio.wav",
            "data": [
                {
                    "id": "audio_xxxxxxxxxxxx",
                    "title": "Morning API",
                    "audio_url": "https://example.com/music/audio.mp3"
                }
            ]
        },
        "usage": {
            "points_cost": 0,
            "actual_points": 0
        }
    }
}

失败示例

JSON
{
    "code": 0,
    "msg": "任务处理失败,请稍后重试",
    "data": null
}
接口 13

音乐生成创建音乐任务

POST /api/v1/apps/music_generation/create

提交音乐生成、续写、翻唱、分轨或混音任务,返回平台任务 ID。

基本信息

字段内容
应用编码music_generation
API 编码create
请求方式POST
请求路径/api/v1/apps/music_generation/create
调用模式异步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

type 价格对照

请求 create 接口时,type 字段决定具体创作动作和计费规格。

type 参数值规格说明价格
generate生成音乐65 点/次
extend续写音乐65 点/次
upload_extend上传音频续写65 点/次
upload_cover上传音频翻唱65 点/次
concat拼接音频14 点/次
cover风格翻唱65 点/次
artist_consistency歌手风格生成65 点/次
artist_consistency_vox歌手风格人声生成65 点/次
stems基础分轨65 点/次
all_stems完整分轨230 点/次
replace_section替换片段90 点/次
underpainting添加伴奏65 点/次
overpainting添加人声65 点/次
remaster音质增强65 点/次
mashup混音融合65 点/次
samples添加采样65 点/次
inspo参考灵感生成65 点/次

业务参数

参数类型必填默认值可选值 / 范围示例说明
typestring否generategenerate / extend / upload_extend / upload_cover / concat / cover / artist_consistency / artist_consistency_vox / stems / all_stems / replace_section / underpainting / overpainting / remaster / mashup / samples / inspogenerate操作类型。generate 根据提示生成音乐;extend 基于已有音频续写;concat 拼接音频片段;cover 参考既有曲风重新演绎;upload_cover 对上传音频进行风格翻唱;upload_extend 续写上传音频;artist_consistency 按指定歌手风格生成;artist_consistency_vox 使用人声模式按歌手风格生成;stems 分离人声和伴奏;all_stems 分离人声、鼓、贝斯和其他乐器;replace_section 替换指定时间段;underpainting 为人声添加伴奏;overpainting 为伴奏添加人声;samples 在指定时间段添加采样;remaster 增强音质;mashup 混合多首歌曲;inspo 基于 1 到 4 段参考音频生成灵感作品。
promptstring否--A warm synth-pop song about city nights生成音乐的提示词。灵感模式下不超过 500 个字符;自定义歌词模式请优先使用 lyric 和 style。
lyricstring否---自定义模式下使用的歌词。常规模型最多 3000 字符,高质量模型最多 5000 字符。
stylestring否--dream pop, warm synth, mellow vocal音乐风格描述。常规模型最多 200 字符,高质量模型最多 1000 字符。
titlestring否--Neon Night自定义模式下的歌曲标题。常规模型最多 80 字符,高质量模型最多 100 字符。
customboolean否---是否启用自定义模式。请使用 JSON boolean;平台也兼容 true/false、1/0、yes/no、on/off 字符串。为 true 时按歌词和风格生成;为 false 时按提示词生成。
instrumentalboolean否---纯伴奏模式。请使用 JSON boolean;平台也兼容 true/false、1/0、yes/no、on/off 字符串。开启后将忽略歌词内容。
lyric_promptstring否---自动生成歌词的提示词,仅在 custom 为 true 且 lyric 为空时生效。
audio_idstring否---已有音频 ID。extend、concat 等基于已有音频的操作需要填写。
audio_urlsarray否--["https:\/\/example.com\/ref.mp3"]参考音频 URL 列表。inspo 类型要求 1 到 4 个可公开访问的音频地址。
persona_idstring否---歌手或声音风格 ID,用于让生成歌曲采用指定风格。
continue_atnumber否---从已有音频的指定秒数位置继续生成。例如 213.5 表示从 3 分 33.5 秒处续写。
vocal_genderstring否-m / f-人声性别偏好,m 表示男声,f 表示女声。该参数用于提高目标音色概率,但不保证严格符合。
style_negativestring否---不希望出现在音乐中的风格描述。
style_influencenumber否---风格影响强度,范围 0 到 1;数值越高越贴近填写的风格,仅在自定义模式下生效。
weirdnessnumber否---创意实验强度,范围 0 到 1;数值越高结果越开放,仅在自定义模式下生效。
audio_weightnumber否---参考音频权重,范围 0 到 1;数值越高越依赖参考音频,主要用于翻唱类操作。
variation_categorystring否-high / normal / subtle-变化强度,可选 high、normal、subtle。
mashup_audio_idsarray否---用于混合的音频 ID 列表。mashup 类型需要填写。
replace_section_startnumber否---replace_section 类型中需要替换片段的开始时间,单位秒。
replace_section_endnumber否---replace_section 类型中需要替换片段的结束时间,单位秒。
underpainting_startnumber否---添加伴奏的开始时间,单位秒,默认 0。
underpainting_endnumber否---添加伴奏的结束时间,单位秒,需小于歌曲总时长。
overpainting_startnumber否---添加人声的开始时间,单位秒,默认 0。
overpainting_endnumber否---添加人声的结束时间,单位秒,需小于歌曲总时长。
samples_startnumber否---添加采样的开始时间,单位秒,默认 0。
samples_endnumber否---添加采样的结束时间,单位秒,需小于歌曲总时长。
callback_urlstring否---任务完成或失败时由平台主动通知的 HTTPS 地址。

响应说明

提交成功后返回平台 task_id。请使用本应用查询接口或统一任务查询接口获取最终结果;如果请求传入 callback_url,平台会在任务终态时主动通知。

提交成功示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "task_id": "task_xxxxxxxxxxxx",
        "status": "processing",
        "app": "music_generation",
        "api": "create",
        "frozen_points": 65,
        "actual_points": 0,
        "created_at": "2026-07-06T14:32:35Z"
    }
}

查询完成示例

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "result": {
            "task_id": "task_xxxxxxxxxxxx",
            "status": "completed",
            "audio_url": "https://example.com/music/audio.mp3",
            "title": "Morning API",
            "data": [
                {
                    "id": "audio_xxxxxxxxxxxx",
                    "title": "Morning API",
                    "lyric": "[Verse]\nClean lines, clean run",
                    "style": "bright synth pop",
                    "duration": 20.5,
                    "audio_url": "https://example.com/music/audio.mp3"
                }
            ]
        },
        "usage": {
            "points_cost": 65,
            "actual_points": 65
        }
    }
}

失败示例

JSON
{
    "code": 0,
    "msg": "任务处理失败,请稍后重试",
    "data": null
}
接口 14

全驱动数字人提交任务

POST /api/v1/apps/image_human/submit

全驱动数字人 - 提交任务

POST /api/v1/apps/image_human/submit

根据输入人物图片和参考音频创建全驱动数字人生成任务。mode 同时作为生成模式和清晰度计费档位,支持 fast、standard、2k、4k;resolution 仅作为兼容别名,新接入建议直接使用 mode=2k 或 mode=4k。

请求参数

参数类型必填说明
file_urlstring是输入图片 URL。
ref_file_urlstring是输入音频 URL,平台按该音频时长计费。
promptstring否用户提示词;未传时使用默认提示词。
modestring否生成模式/清晰度档位:fast、standard、2k、4k。默认 standard。
resolutionstring否兼容字段:传 2k 或 4k 时等同于 mode=2k 或 mode=4k。新接入建议直接使用 mode。
durationnumber否音频时长,单位秒;当系统无法自动解析音频时长时必须传入。

请求示例

JSON
{
  "file_url": "https://example.com/person.png",
  "ref_file_url": "https://example.com/audio.wav",
  "prompt": "一个男人在说话",
  "mode": "2k"
}

提交成功后请使用查询接口按 task_id 拉取结果。

接口 15

全驱动数字人查询任务

POST /api/v1/apps/image_human/query

全驱动数字人 - 查询任务

POST /api/v1/apps/image_human/query

根据提交接口返回的平台任务 ID 查询任务状态和结果。

请求参数

参数类型必填说明
task_idstring是平台任务 ID,格式通常为 task_xxxxxxxxxxxx。

请求示例

JSON
{
  "task_id": "task_xxxxxxxxxxxx"
}

运行中返回示例

JSON
{
  "task_id": "task_xxxxxxxxxxxx",
  "status": "running"
}

完成返回示例

JSON
{
  "task_id": "task_xxxxxxxxxxxx",
  "status": "done",
  "data": {
    "output_url": "https://example.com/output.mp4",
    "cover_url": "https://example.com/cover.jpg",
    "duration": 40.68
  }
}
接口 16

人物替换提交任务

POST /api/v1/apps/person_replacement/submit

提交人物替换异步任务。接口接收一张或多张参考人物图片、一个输入视频、可选提示词、生成模式和处理人数,返回平台任务 ID。任务完成后使用“人物替换 · 查询任务”接口获取结果。

接口地址

HTTP
POST /api/v1/apps/person_replacement/submit

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

计费说明

本接口按输入视频时长计费。平台会优先使用请求中的 duration,未传时会从 video_url 探测视频秒数。

mode计费单位默认价格
fast输入视频秒1 点/秒
standard输入视频秒2 点/秒
max输入视频秒3 点/秒

实际扣费以当前租户 SKU 售价为准。提交成功时会先冻结预估点数,任务完成后按实际输入视频时长结算。

请求参数

参数类型必填默认值说明
typestring否person_replacement固定值;不传时平台会按当前应用补齐。
file_urlstring / array是-参考人物图片 URL。单图传字符串,多图参考传 URL 数组。
video_urlstring是-输入视频 URL,也是本接口计费时长来源。
promptstring否-提示词,例如动作、人物、场景补充描述。
modestring否standard生成模式:fast、standard、max。
face_countinteger否1处理人数,取值范围 1 到 7。
durationnumber否-输入视频时长,单位秒;通常可不传,由平台自动探测。

请求示例

单图参考:

JSON
{
  "type": "person_replacement",
  "file_url": "https://example.com/person.png",
  "video_url": "https://example.com/input.mp4",
  "prompt": "一个女生在跳舞",
  "mode": "standard",
  "face_count": 1
}

多图参考:

JSON
{
  "type": "person_replacement",
  "file_url": [
    "https://example.com/person-1.png",
    "https://example.com/person-2.png"
  ],
  "video_url": "https://example.com/input.mp4",
  "prompt": "一个女生在跳舞",
  "mode": "max",
  "face_count": 2
}

cURL 示例

BASH
curl -X POST "https://你的域名/api/v1/apps/person_replacement/submit" \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "person_replacement",
    "file_url": "https://example.com/person.png",
    "video_url": "https://example.com/input.mp4",
    "prompt": "一个女生在跳舞",
    "mode": "standard",
    "face_count": 1
  }'

成功响应

JSON
{
  "code": 1,
  "msg": "success",
  "data": {
    "task_id": "task_xxxxxxxxxxxxxxxx",
    "status": "processing",
    "app": "person_replacement",
    "api": "submit",
    "frozen_points": 31.39,
    "actual_points": 0,
    "created_at": "2026-06-25T00:00:00Z"
  }
}
字段说明
data.task_id平台任务 ID,查询任务时传入。
data.status平台任务状态,提交成功通常为 processing。
data.frozen_points本次任务预冻结点数。
data.actual_points已实际结算点数;任务完成前通常为 0。

失败响应

JSON
{
  "code": 0,
  "msg": "face_count 必须为 1 到 7 的整数",
  "data": []
}

常见错误:

HTTPcode说明
400invalid_request参数缺失或格式错误。
400billing_duration_unresolved无法解析输入视频时长,可显式传入 duration 后重试。
400billing_sku_unmatchedmode 未命中可用 SKU。
401auth_failedAPI Key 缺失或无效。
402insufficient_points用户或租户点数不足。
402key_quota_exceeded当前 API Key 点数额度不足。
403permission_denied当前 API Key 无权调用应用 API。
404not_found应用、API 或任务不存在。
429queue_limit_exceeded应用排队任务已达上限。
接口 17

人物替换查询任务

POST /api/v1/apps/person_replacement/query

根据提交接口返回的 task_id 查询人物替换任务状态、生成结果与计费信息。查询接口不重复计费。

接口地址

HTTP
POST /api/v1/apps/person_replacement/query

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求参数

参数类型必填说明
task_idstring是提交任务接口返回的平台任务 ID,例如 task_xxxxxxxxxxxxxxxx。

请求示例

JSON
{
  "task_id": "task_xxxxxxxxxxxxxxxx"
}

cURL 示例

BASH
curl -X POST "https://你的域名/api/v1/apps/person_replacement/query" \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "task_id": "task_xxxxxxxxxxxxxxxx"
  }'

成功响应

处理中:

JSON
{
  "code": 1,
  "msg": "success",
  "data": {
    "result": {
      "task_id": "task_xxxxxxxxxxxxxxxx",
      "status": "running",
      "duration": 0
    },
    "usage": {
      "points_cost": 0,
      "actual_points": 0
    }
  }
}

完成后:

任务完成后,result 中会返回生成结果地址。不同上游可能返回 video_url、output_url、url 或 results 数组;平台会尽量归一化为可直接访问的视频地址。

JSON
{
  "code": 1,
  "msg": "success",
  "data": {
    "result": {
      "task_id": "task_xxxxxxxxxxxxxxxx",
      "status": "done",
      "duration": 15.695,
      "data": {
        "status": "completed",
        "video_url": "https://example.com/output.mp4",
        "duration": 15.695
      }
    },
    "usage": {
      "points_cost": 31.39,
      "actual_points": 31.39
    }
  }
}
字段说明
result.status任务状态,常见值:running、done、failed。
result.duration平台识别到的视频时长,单位秒。
result.data.video_url生成后的视频地址;实际字段以返回结果为准。
usage.actual_points任务实际扣费点数。

失败响应

JSON
{
  "code": 0,
  "msg": "任务不存在",
  "data": []
}

常见错误:

HTTPcode说明
400invalid_requesttask_id 缺失或格式错误。
401auth_failedAPI Key 缺失或无效。
403permission_denied当前 API Key 无权查询该任务。
404not_found任务不存在或不属于当前租户。
5xxserver_error服务异常,请稍后重试。
接口 18

动作迁移提交任务

POST /api/v1/apps/action_transfer/submit

提交动作迁移异步任务。接口接收一张或多张参考人物图片、一个输入视频、可选提示词、生成模式和处理人数,返回平台任务 ID。任务完成后使用“动作迁移 · 查询任务”接口获取结果。

接口地址

HTTP
POST /api/v1/apps/action_transfer/submit

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

计费说明

本接口按输入视频时长计费。平台会优先使用请求中的 duration,未传时会从 video_url 探测视频秒数。

mode计费单位默认价格
fast输入视频秒1 点/秒
standard输入视频秒2 点/秒
max输入视频秒3 点/秒

实际扣费以当前租户 SKU 售价为准。提交成功时会先冻结预估点数,任务完成后按实际输入视频时长结算。

请求参数

参数类型必填默认值说明
typestring否action_transfer固定值;不传时平台会按当前应用补齐。
file_urlstring / array是-参考人物图片 URL。单图传字符串,多图参考传 URL 数组。
video_urlstring是-输入视频 URL,也是本接口计费时长来源。
promptstring否-提示词,例如动作、人物、场景补充描述。
modestring否standard生成模式:fast、standard、max。
face_countinteger否1处理人数,取值范围 1 到 7。
durationnumber否-输入视频时长,单位秒;通常可不传,由平台自动探测。

请求示例

单图参考:

JSON
{
  "type": "action_transfer",
  "file_url": "https://example.com/person.png",
  "video_url": "https://example.com/input.mp4",
  "prompt": "一个女生在跳舞",
  "mode": "standard",
  "face_count": 1
}

多图参考:

JSON
{
  "type": "action_transfer",
  "file_url": [
    "https://example.com/person-1.png",
    "https://example.com/person-2.png"
  ],
  "video_url": "https://example.com/input.mp4",
  "prompt": "一个女生在跳舞",
  "mode": "max",
  "face_count": 2
}

cURL 示例

BASH
curl -X POST "https://你的域名/api/v1/apps/action_transfer/submit" \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "action_transfer",
    "file_url": "https://example.com/person.png",
    "video_url": "https://example.com/input.mp4",
    "prompt": "一个女生在跳舞",
    "mode": "standard",
    "face_count": 1
  }'

成功响应

JSON
{
  "code": 1,
  "msg": "success",
  "data": {
    "task_id": "task_xxxxxxxxxxxxxxxx",
    "status": "processing",
    "app": "action_transfer",
    "api": "submit",
    "frozen_points": 31.39,
    "actual_points": 0,
    "created_at": "2026-06-25T00:00:00Z"
  }
}
字段说明
data.task_id平台任务 ID,查询任务时传入。
data.status平台任务状态,提交成功通常为 processing。
data.frozen_points本次任务预冻结点数。
data.actual_points已实际结算点数;任务完成前通常为 0。

失败响应

JSON
{
  "code": 0,
  "msg": "face_count 必须为 1 到 7 的整数",
  "data": []
}

常见错误:

HTTPcode说明
400invalid_request参数缺失或格式错误。
400billing_duration_unresolved无法解析输入视频时长,可显式传入 duration 后重试。
400billing_sku_unmatchedmode 未命中可用 SKU。
401auth_failedAPI Key 缺失或无效。
402insufficient_points用户或租户点数不足。
402key_quota_exceeded当前 API Key 点数额度不足。
403permission_denied当前 API Key 无权调用应用 API。
404not_found应用、API 或任务不存在。
429queue_limit_exceeded应用排队任务已达上限。
接口 19

动作迁移查询任务

POST /api/v1/apps/action_transfer/query

根据提交接口返回的 task_id 查询动作迁移任务状态、生成结果与计费信息。查询接口不重复计费。

接口地址

HTTP
POST /api/v1/apps/action_transfer/query

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求参数

参数类型必填说明
task_idstring是提交任务接口返回的平台任务 ID,例如 task_xxxxxxxxxxxxxxxx。

请求示例

JSON
{
  "task_id": "task_xxxxxxxxxxxxxxxx"
}

cURL 示例

BASH
curl -X POST "https://你的域名/api/v1/apps/action_transfer/query" \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "task_id": "task_xxxxxxxxxxxxxxxx"
  }'

成功响应

处理中:

JSON
{
  "code": 1,
  "msg": "success",
  "data": {
    "result": {
      "task_id": "task_xxxxxxxxxxxxxxxx",
      "status": "running",
      "duration": 0
    },
    "usage": {
      "points_cost": 0,
      "actual_points": 0
    }
  }
}

完成后:

任务完成后,result 中会返回生成结果地址。不同上游可能返回 video_url、output_url、url 或 results 数组;平台会尽量归一化为可直接访问的视频地址。

JSON
{
  "code": 1,
  "msg": "success",
  "data": {
    "result": {
      "task_id": "task_xxxxxxxxxxxxxxxx",
      "status": "done",
      "duration": 15.695,
      "data": {
        "status": "completed",
        "video_url": "https://example.com/output.mp4",
        "duration": 15.695
      }
    },
    "usage": {
      "points_cost": 31.39,
      "actual_points": 31.39
    }
  }
}
字段说明
result.status任务状态,常见值:running、done、failed。
result.duration平台识别到的视频时长,单位秒。
result.data.video_url生成后的视频地址;实际字段以返回结果为准。
usage.actual_points任务实际扣费点数。

失败响应

JSON
{
  "code": 0,
  "msg": "任务不存在",
  "data": []
}

常见错误:

HTTPcode说明
400invalid_requesttask_id 缺失或格式错误。
401auth_failedAPI Key 缺失或无效。
403permission_denied当前 API Key 无权查询该任务。
404not_found任务不存在或不属于当前租户。
5xxserver_error服务异常,请稍后重试。
接口 20

全能视频生成提交任务

POST /api/v1/apps/full_video/submit

提交后保存平台 task_id,并通过本应用的查询接口读取任务状态和视频结果。

鉴权与路径

HTTP
POST /api/v1/apps/full_video/submit
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

顶层参数

参数类型必填默认值说明
modelstring否full-video固定为 full-video。
contentarray是-多模态内容数组,必须至少有一个非空 text 项。
resolutionstring否480P输出分辨率:480P、768P 或 2K。
durationinteger否4输出视频时长,支持 4 至 15 的整数秒。
ratiostring否16:9视频画幅比例;图生视频和参考生成可使用 adaptive。
aigc_watermarkboolean否false是否添加生成标识。
callback_urlstring否-HTTPS 地址;任务终态时由平台通知。

计费说明

平台先按 resolution 命中分辨率 SKU,再以请求的 duration 作为秒数计量。价格由当前租户为对应 SKU 配置的售价决定:

resolution计费规格
480P480P 按秒 SKU
768P768P 按秒 SKU
2K2K 按秒 SKU

提交时平台按 duration × 当前 SKU 单价 + 超额参考图片附加点数 冻结点数,完成后按该任务创建时的价格快照结算。默认前 5 张 reference_image 免费,超出部分每张加 20 点;实际免费数量和附加点数以当前应用配置为准。首帧和尾帧不计入参考图片附加项。不同租户可分别配置各分辨率 SKU 的售价;调用方应通过价格查询接口或租户后台读取当前实际售价。

content 元素

媒体地址写入与类型同名的对象中,例如图片地址为 image_url.url。媒体 URL 必须能被服务访问。

type必填字段支持的 role限制与说明
texttext不填写每次请求至少一个非空文本项;所有文本项总长度最多 7000 字符。
image_urlimage_url.urlfirst_frame、last_frame、reference_image首帧最多 1 张,尾帧最多 1 张,参考图最多 9 张。首帧、尾帧可单独或组合使用。
video_urlvideo_url.urlreference_video仅用于参考生成,最多 3 个。
audio_urlaudio_url.urlreference_audio仅用于参考生成,最多 3 个。

首帧/尾帧模式与参考媒体模式互斥:出现任意 reference_image、reference_video 或 reference_audio 时,不能同时出现 first_frame 或 last_frame。参考生成不能只传音频,至少需要 1 张参考图或 1 个参考视频。

场景与示例

文本生视频

JSON
{
  "model": "full-video",
  "content": [
    {"type": "text", "text": "一只小狗在草地上奔跑,真实自然"}
  ],
  "resolution": "480P",
  "duration": 4,
  "ratio": "16:9",
  "aigc_watermark": false
}

首帧生视频

JSON
{
  "model": "full-video",
  "content": [
    {"type": "text", "text": "一只小狗从画面左侧开心地跑向镜头,保持首帧小狗外观,真实自然,有环境音"},
    {"type": "image_url", "image_url": {"url": "https://example.com/first_frame.png"}, "role": "first_frame"}
  ],
  "resolution": "480P",
  "duration": 4,
  "ratio": "adaptive",
  "aigc_watermark": false
}

尾帧生视频

尾帧可以单独使用,也可以与首帧组合使用。

JSON
{
  "model": "full-video",
  "content": [
    {"type": "text", "text": "一只小狗在草地上奔跑,最后定格成尾帧图片中的构图,真实自然,有轻快环境音"},
    {"type": "image_url", "image_url": {"url": "https://example.com/last_frame.png"}, "role": "last_frame"}
  ],
  "resolution": "480P",
  "duration": 4,
  "ratio": "adaptive",
  "aigc_watermark": false
}

首尾帧生视频

JSON
{
  "model": "full-video",
  "content": [
    {"type": "text", "text": "一只小狗从首帧位置跑到尾帧位置,动作连贯,镜头稳定,真实自然,有环境音"},
    {"type": "image_url", "image_url": {"url": "https://example.com/first_frame.png"}, "role": "first_frame"},
    {"type": "image_url", "image_url": {"url": "https://example.com/last_frame.png"}, "role": "last_frame"}
  ],
  "resolution": "480P",
  "duration": 4,
  "ratio": "adaptive",
  "aigc_watermark": false
}

多模态参考生成

JSON
{
  "model": "full-video",
  "content": [
    {"type": "text", "text": "参考 <Picture 1> 的小狗形象、参考 <Video 1> 的运动节奏、参考 <Audio 1> 的声音氛围,生成一只小狗在画面中轻快奔跑的短视频"},
    {"type": "image_url", "image_url": {"url": "https://example.com/ref_image.png"}, "role": "reference_image"},
    {"type": "video_url", "video_url": {"url": "https://example.com/ref_video.mp4"}, "role": "reference_video"},
    {"type": "audio_url", "audio_url": {"url": "https://example.com/ref_audio.wav"}, "role": "reference_audio"}
  ],
  "resolution": "480P",
  "duration": 4,
  "ratio": "adaptive",
  "aigc_watermark": false
}

成功响应

JSON
{
  "code": 1,
  "msg": "success",
  "data": {
    "task_id": "task_xxxxxxxxxxxx",
    "status": "pending",
    "app": "full_video",
    "api": "submit",
    "actual_points": 0,
    "created_at": "2026-08-04T00:00:00Z"
  }
}

data.task_id 是平台任务 ID。提交成功后保存它,并调用“全能视频生成 · 查询任务”接口。

常见错误

HTTPcode说明
400invalid_requestcontent 结构、媒体数量、文本长度、时长或模式组合不合法。
401auth_failedAPI Key 缺失或无效。
402insufficient_points用户或租户点数不足。
403permission_denied当前 API Key 无权调用应用 API。
404not_found应用或 API 未上架、未配置价格或不存在。
429queue_limit_exceeded应用排队任务已达上限。
接口 21

全能视频生成查询任务

POST /api/v1/apps/full_video/query

全能视频生成使用独立的应用查询接口;查询接口不重复计费。

鉴权与路径

HTTP
POST /api/v1/apps/full_video/query
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求参数

task_id 与 elastic_task_id 二选一。通常直接保存并传回提交接口返回的 task_id。

参数类型必填说明
task_idstring二选一提交接口返回的平台任务 ID,例如 task_xxxxxxxxxxxx。
elastic_task_idinteger二选一兼容弹性任务数字 ID;常规接入不需要传。
JSON
{
  "task_id": "task_xxxxxxxxxxxx"
}

成功响应

任务等待或运行中时:

JSON
{
  "code": 1,
  "msg": "success",
  "data": {
    "result": {
      "task_id": "task_xxxxxxxxxxxx",
      "status": "running"
    },
    "usage": {
      "points_cost": 0,
      "actual_points": 0
    }
  }
}

任务完成后,机器返回的结果位于 data.result.data。视频结果的具体字段由当前部署版本决定;调用方应保存完整 data.result,并从其中的结果地址字段读取视频。

JSON
{
  "code": 1,
  "msg": "success",
  "data": {
    "result": {
      "task_id": "task_xxxxxxxxxxxx",
      "status": "done",
      "mode": "async_query",
      "remote_task_id": "xxxxxxxxxxxxxxxx",
      "data": {
        "status": "completed",
        "output_url": "https://example.com/output.mp4",
        "progress": 100
      }
    }
  }
}
字段说明
data.result.task_id平台任务 ID,与提交响应一致。
data.result.status任务状态;常见为 pending、running、done 或 error。
data.result.remote_task_id任务已进入部署服务后可能返回的内部任务标识。
data.result.data完成后的机器结果;视频地址通常在其中的 output_url 或同等结果字段。
data.usage.actual_points任务实际扣费点数。
接口 22

音色修改、AI翻唱提交任务

POST /api/v1/apps/seedsvc/submit

创建一条弹性 GPU 任务,返回平台任务 id

字段内容
类型应用 API
应用名称音色修改、AI翻唱
应用编码seedsvc
API 名称提交任务
API 编码submit
请求方式POST
请求路径/api/v1/apps/seedsvc/submit
调用模式异步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/seedsvc/submit

该接口为异步任务,提交后返回 task_id,请通过 GET /api/v1/tasks/{task_id} 查询结果,或在请求中传 callback_url 接收完成回调。

业务参数

参数类型必填默认值可选值 / 范围示例说明
modestring否async_query——任务模式,默认 async_query
ref_audiostring是——https://example.com/target_voice.wav目标音色参考音频 URL
source_audiostring是——https://example.com/original_song.wav原始音频文件 URL,需要转换音色的音频

请求示例

JSON
{
    "mode": "async_query",
    "ref_audio": "https://example.com/target_voice.wav",
    "source_audio": "https://example.com/original_song.wav"
}

成功响应

JSON
{
    "task_id": "tsk_xxxxxxxxxxxxxxxx",
    "status": "pending",
    "created_at": 1740000000
}

查询任务结果

HTTP
GET /api/v1/tasks/{task_id}
JSON
{
    "task_id": "tsk_xxxxxxxxxxxxxxxx",
    "status": "completed",
    "created_at": 1740000000,
    "completed_at": 1740000060,
    "result": {
        "output": "任务输出内容"
    },
    "usage": {
        "points": 100
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 23

音色修改、AI翻唱查询任务

POST /api/v1/apps/seedsvc/query

按弹性任务 id 查询状态与结果

字段内容
类型应用 API
应用名称音色修改、AI翻唱
应用编码seedsvc
API 名称查询任务
API 编码query
请求方式POST
请求路径/api/v1/apps/seedsvc/query
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/seedsvc/query

业务参数

参数类型必填默认值可选值 / 范围示例说明
task_idinteger否———同 elastic_task_id
elastic_task_idinteger否———弹性任务 id(与 task_id 二选一)

请求示例

JSON
{
    "task_id": 1,
    "elastic_task_id": 1
}

成功响应

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 24

视频超分提交任务

POST /api/v1/apps/flashvsr/submit

创建一条弹性 GPU 任务,返回平台任务 id

字段内容
类型应用 API
应用名称视频超分
应用编码flashvsr
API 名称提交任务
API 编码submit
请求方式POST
请求路径/api/v1/apps/flashvsr/submit
调用模式异步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/flashvsr/submit

该接口为异步任务,提交后返回 task_id,请通过 GET /api/v1/tasks/{task_id} 查询结果,或在请求中传 callback_url 接收完成回调。

业务参数

参数类型必填默认值可选值 / 范围示例说明
modestring否async_query——任务模式,默认 async_query
input_urlstring是——https://example.com/low_res_video.mp4输入视频文件 URL,待超分辨率处理的视频

请求示例

JSON
{
    "mode": "async_query",
    "input_url": "https://example.com/low_res_video.mp4"
}

成功响应

JSON
{
    "task_id": "tsk_xxxxxxxxxxxxxxxx",
    "status": "pending",
    "created_at": 1740000000
}

查询任务结果

HTTP
GET /api/v1/tasks/{task_id}
JSON
{
    "task_id": "tsk_xxxxxxxxxxxxxxxx",
    "status": "completed",
    "created_at": 1740000000,
    "completed_at": 1740000060,
    "result": {
        "output": "任务输出内容"
    },
    "usage": {
        "points": 100
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 25

视频超分查询任务

POST /api/v1/apps/flashvsr/query

按弹性任务 id 查询状态与结果

字段内容
类型应用 API
应用名称视频超分
应用编码flashvsr
API 名称查询任务
API 编码query
请求方式POST
请求路径/api/v1/apps/flashvsr/query
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/flashvsr/query

业务参数

参数类型必填默认值可选值 / 范围示例说明
task_idinteger否———同 elastic_task_id
elastic_task_idinteger否———弹性任务 id(与 task_id 二选一)

请求示例

JSON
{
    "task_id": 1,
    "elastic_task_id": 1
}

成功响应

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 26

水印消除去除水印

POST /api/v1/apps/watermark_removal/remove

输入短视频分享链接,返回无水印视频地址

字段内容
类型应用 API
应用名称水印消除
应用编码watermark_removal
API 名称去除水印
API 编码remove
请求方式POST
请求路径/api/v1/apps/watermark_removal/remove
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/watermark_removal/remove

业务参数

参数类型必填默认值可选值 / 范围示例说明
urlstring是——https://example.com/s/xxxxx/短视频分享链接(各主流平台)

请求示例

JSON
{
    "url": "https://example.com/s/xxxxx/"
}

成功响应

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 27

水印消除红薯详情

POST /api/v1/apps/watermark_removal/xhs_note_detail

笔记详情

字段内容
类型应用 API
应用名称水印消除
应用编码watermark_removal
API 名称红薯详情
API 编码xhs_note_detail
请求方式POST
请求路径/api/v1/apps/watermark_removal/xhs_note_detail
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/watermark_removal/xhs_note_detail

业务参数

参数类型必填默认值可选值 / 范围示例说明
noteIdstring是——69db4372000000002103a442笔记 ID(与分享链接中 id 一致)

请求示例

JSON
{
    "noteId": "69db4372000000002103a442"
}

成功响应

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 28

水印消除用户笔记

POST /api/v1/apps/watermark_removal/xhs_user_note_list

用户笔记列表

字段内容
类型应用 API
应用名称水印消除
应用编码watermark_removal
API 名称用户笔记
API 编码xhs_user_note_list
请求方式POST
请求路径/api/v1/apps/watermark_removal/xhs_user_note_list
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/watermark_removal/xhs_user_note_list

业务参数

参数类型必填默认值可选值 / 范围示例说明
cursorstring否———翻页游标,取自上一页笔记项中的 cursor
userIdstring是——5f85aabb0000000001006faf笔记侧用户 ID(userid)
lastCursorstring否———上一页末条目的分页游标(可选),也可用 last_cursor

请求示例

JSON
{
    "cursor": "string",
    "userId": "5f85aabb0000000001006faf",
    "lastCursor": "string"
}

成功响应

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 29

水印消除抖音用户作品

POST /api/v1/apps/watermark_removal/douyin_user_video_list

用户作品列表

字段内容
类型应用 API
应用名称水印消除
应用编码watermark_removal
API 名称抖音用户作品
API 编码douyin_user_video_list
请求方式POST
请求路径/api/v1/apps/watermark_removal/douyin_user_video_list
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/watermark_removal/douyin_user_video_list

业务参数

参数类型必填默认值可选值 / 范围示例说明
secUidstring是——MS4wLjABAAAA...用户 secUid(短视频侧),也可用 sec_uid
maxCursorstring否——0翻页游标,下一页请求时传入(可选),也可用 max_cursor

请求示例

JSON
{
    "secUid": "MS4wLjABAAAA...",
    "maxCursor": "0"
}

成功响应

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 30

水印消除红薯用户

POST /api/v1/apps/watermark_removal/xhs_user_detail

红薯用户详情

字段内容
类型应用 API
应用名称水印消除
应用编码watermark_removal
API 名称红薯用户
API 编码xhs_user_detail
请求方式POST
请求路径/api/v1/apps/watermark_removal/xhs_user_detail
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/watermark_removal/xhs_user_detail

业务参数

参数类型必填默认值可选值 / 范围示例说明
userIdstring是——5aed3d724eacab31d35121d0小红书用户 ID(userid)

请求示例

JSON
{
    "userId": "5aed3d724eacab31d35121d0"
}

成功响应

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 31

水印消除抖音视频详情

POST /api/v1/apps/watermark_removal/douyin_video_detail

视频详情

字段内容
类型应用 API
应用名称水印消除
应用编码watermark_removal
API 名称抖音视频详情
API 编码douyin_video_detail
请求方式POST
请求路径/api/v1/apps/watermark_removal/douyin_video_detail
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/watermark_removal/douyin_video_detail

业务参数

参数类型必填默认值可选值 / 范围示例说明
videoIdstring是——7588740680004963593短视频作品 ID,也可用 video_id

请求示例

JSON
{
    "videoId": "7588740680004963593"
}

成功响应

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 32

水印消除抖音搜索视频

POST /api/v1/apps/watermark_removal/douyin_search_video

视频搜索

字段内容
类型应用 API
应用名称水印消除
应用编码watermark_removal
API 名称抖音搜索视频
API 编码douyin_search_video
请求方式POST
请求路径/api/v1/apps/watermark_removal/douyin_search_video
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/watermark_removal/douyin_search_video

业务参数

参数类型必填默认值可选值 / 范围示例说明
pagestring否——1页码(可选)
keywordstring是——Destiny搜索关键词
searchIdstring否———搜索会话标识,翻页等场景使用(可选),也可用 search_id

请求示例

JSON
{
    "page": "1",
    "keyword": "Destiny",
    "searchId": "string"
}

成功响应

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 33

水印消除小红书笔记搜索

POST /api/v1/apps/watermark_removal/xhs_search_note

小红书笔记搜索

字段内容
类型应用 API
应用名称水印消除
应用编码watermark_removal
API 名称小红书笔记搜索
API 编码xhs_search_note
请求方式POST
请求路径/api/v1/apps/watermark_removal/xhs_search_note
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/watermark_removal/xhs_search_note

业务参数

参数类型必填默认值可选值 / 范围示例说明
pagestring否——1页码,默认 1
sortstring否—general / popularity_descending / time_descending / comment_descending / collect_descendinggeneral排序:general / popularity_descending / time_descending / comment_descending / collect_descending
keywordstring是——护肤搜索关键词
noteTimestring否———发布时间筛选(按服务约定传值),也可用 note_time
noteTypestring否——_0笔记类型:_0 通用 / _1 视频 / _2 图文,也可用 note_type

请求示例

JSON
{
    "page": "1",
    "sort": "general",
    "keyword": "护肤",
    "noteTime": "string",
    "noteType": "_0"
}

成功响应

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 34

数字人对口型提交任务

POST /api/v1/apps/lipsync/submit

创建一条数字人对口型任务,返回平台任务 ID

字段内容
类型应用 API
应用名称数字人对口型
应用编码lipsync
API 名称提交任务
API 编码submit
请求方式POST
请求路径/api/v1/apps/lipsync/submit
调用模式异步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/lipsync/submit

该接口为异步任务,提交后返回 task_id,请通过 GET /api/v1/tasks/{task_id} 查询结果,或在请求中传 callback_url 接收完成回调。

业务参数

参数类型必填默认值可选值 / 范围示例说明
modestring否async_query——任务模式,默认 async_query
modelstring否xiaojiayu1.0——数字人模型标识,支持 xiaojiayu1.0、xiaojiayu2.0、xiaojiayu3.0 及对应简写
audio_urlstring是——https://example.com/speech.wav输入音频文件 URL(驱动口型的语音)
video_urlstring是——https://example.com/avatar_video.mp4输入视频文件 URL(数字人原始视频)

请求示例

JSON
{
    "mode": "async_query",
    "model": "xiaojiayu1.0",
    "audio_url": "https://example.com/speech.wav",
    "video_url": "https://example.com/avatar_video.mp4"
}

成功响应

JSON
{
    "task_id": "tsk_xxxxxxxxxxxxxxxx",
    "status": "pending",
    "created_at": 1740000000
}

查询任务结果

HTTP
GET /api/v1/tasks/{task_id}
JSON
{
    "task_id": "tsk_xxxxxxxxxxxxxxxx",
    "status": "completed",
    "created_at": 1740000000,
    "completed_at": 1740000060,
    "result": {
        "output": "任务输出内容"
    },
    "usage": {
        "points": 100
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 35

数字人对口型查询任务

POST /api/v1/apps/lipsync/query

按平台任务 ID 查询状态与结果

字段内容
类型应用 API
应用名称数字人对口型
应用编码lipsync
API 名称查询任务
API 编码query
请求方式POST
请求路径/api/v1/apps/lipsync/query
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/lipsync/query

业务参数

参数类型必填默认值可选值 / 范围示例说明
task_idstring是——tsk_xxxxxxxxxxxxxxxx提交接口返回的平台任务 ID

请求示例

JSON
{
    "task_id": "tsk_xxxxxxxxxxxxxxxx"
}

成功响应

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 36

AI换装提交换装任务

POST /api/v1/apps/dressing_diffusion/submit

提交图片换装任务,返回 task_id 用于查询结果

字段内容
类型应用 API
应用名称AI换装
应用编码dressing_diffusion
API 名称提交换装任务
API 编码submit
请求方式POST
请求路径/api/v1/apps/dressing_diffusion/submit
调用模式异步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/dressing_diffusion/submit

该接口为异步任务,提交后返回 task_id,请通过 GET /api/v1/tasks/{task_id} 查询结果,或在请求中传 callback_url 接收完成回调。

业务参数

参数类型必填默认值可选值 / 范围示例说明
garmentobject是———服装配置。格式:{"data": [{"category": "upper", "url": "服装图URL"}, ...]}。category 可选值:upper(上衣)、bottom(下装)、full(连衣裙/全身装)。支持单件或上下套装组合,服装图建议白底平铺。
model_urlstring是—JPG / PNGhttps://example.com/model.jpg模特图片 URL,建议主体清晰、光线均匀的正面或半身模特图。格式:JPG/PNG

请求示例

JSON
{
    "garment": {},
    "model_url": "https://example.com/model.jpg"
}

成功响应

JSON
{
    "task_id": "tsk_xxxxxxxxxxxxxxxx",
    "status": "pending",
    "created_at": 1740000000
}

查询任务结果

HTTP
GET /api/v1/tasks/{task_id}
JSON
{
    "task_id": "tsk_xxxxxxxxxxxxxxxx",
    "status": "completed",
    "created_at": 1740000000,
    "completed_at": 1740000060,
    "result": {
        "output": "任务输出内容"
    },
    "usage": {
        "points": 100
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 37

AI换装查询换装结果

POST /api/v1/apps/dressing_diffusion/query

根据 task_id 查询换装任务状态和结果图片

字段内容
类型应用 API
应用名称AI换装
应用编码dressing_diffusion
API 名称查询换装结果
API 编码query
请求方式POST
请求路径/api/v1/apps/dressing_diffusion/query
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/dressing_diffusion/query

业务参数

参数类型必填默认值可选值 / 范围示例说明
task_idstring是——7xxxxxxxxxxxxxx提交换装任务时返回的任务 ID

请求示例

JSON
{
    "task_id": "7xxxxxxxxxxxxxx"
}

成功响应

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 38

音效生成、视频配音提交任务

POST /api/v1/apps/mmaudio/submit

创建一条弹性 GPU 任务,返回平台任务 id

字段内容
类型应用 API
应用名称音效生成、视频配音
应用编码mmaudio
API 名称提交任务
API 编码submit
请求方式POST
请求路径/api/v1/apps/mmaudio/submit
调用模式异步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/mmaudio/submit

该接口为异步任务,提交后返回 task_id,请通过 GET /api/v1/tasks/{task_id} 查询结果,或在请求中传 callback_url 接收完成回调。

业务参数

参数类型必填默认值可选值 / 范围示例说明
modestring否async_query——任务模式,默认 async_query
audio_urlstring否——https://example.com/reference_audio.wav可选的输入音频 URL,用于参考配音风格
input_urlstring是——https://example.com/silent_video.mp4输入视频文件 URL
durationnumber否自动探测—15.695输入视频时长,单位秒;通常可不传,由平台从 input_url 探测
promptstring否系统默认提示词—Generate natural cinematic sound effects and ambience for this video.音频生成提示词,用于描述期望的音效、环境声或配乐风格

请求示例

JSON
{
    "mode": "async_query",
    "audio_url": "https://example.com/reference_audio.wav",
    "input_url": "https://example.com/silent_video.mp4",
    "duration": 15.695,
    "prompt": "Generate natural cinematic sound effects and ambience for this video."
}

成功响应

JSON
{
    "task_id": "tsk_xxxxxxxxxxxxxxxx",
    "status": "pending",
    "created_at": 1740000000
}

查询任务结果

HTTP
GET /api/v1/tasks/{task_id}
JSON
{
    "task_id": "tsk_xxxxxxxxxxxxxxxx",
    "status": "completed",
    "created_at": 1740000000,
    "completed_at": 1740000060,
    "result": {
        "output": "任务输出内容"
    },
    "usage": {
        "points": 100
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 39

音效生成、视频配音查询任务

POST /api/v1/apps/mmaudio/query

按弹性任务 id 查询状态与结果

字段内容
类型应用 API
应用名称音效生成、视频配音
应用编码mmaudio
API 名称查询任务
API 编码query
请求方式POST
请求路径/api/v1/apps/mmaudio/query
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/mmaudio/query

业务参数

参数类型必填默认值可选值 / 范围示例说明
task_idinteger否———同 elastic_task_id
elastic_task_idinteger否———弹性任务 id(与 task_id 二选一)

请求示例

JSON
{
    "task_id": 1,
    "elastic_task_id": 1
}

成功响应

JSON
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}

失败响应

JSON
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}

错误码

HTTPcode含义
400invalid_request参数缺失或格式错误
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
402key_quota_exceeded当前 API Key 点数额度不足
403permission_denied当前 API Key 无权调用该模型/应用
404not_found模型 / 应用 / 任务不存在
429queue_limit_exceeded排队任务已达上限
5xxserver_error服务异常,请稍后重试
接口 40

Happy Horse提交任务

GET /api/v1/tasks/{task_id}`**

创建文生视频、图生视频或多参考图生成任务。提交后为异步:响应返回平台 task_id,请通过本应用 **query 或 GET /api/v1/tasks/{task_id}** 查询进度与结果。

平台需在应用管理中配置可用的 服务地址 与 API 密钥;未配置时返回 app_not_configured。

字段内容
类型应用 API
应用名称Happy Horse
应用编码happy_horse
API 名称提交任务
API 编码submit
请求方式POST
请求路径/api/v1/apps/happy_horse/submit
调用模式异步(返回 task_id,可 query 或 GET /api/v1/tasks/{task_id} 查询)

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/happy_horse/submit

能力与 model / media

场景modelmedia 要求
文生视频happyhorse-1.1-t2v不要传图片、视频
单图首帧图生happyhorse-1.1-i2v恰好一张 image
多参考图生成happyhorse-1.1-r2v1~9 张 image(建议至少两张),不要混入视频
视频编辑happyhorse-1.0-video-edit恰好 1 个 video,可附 0~5 张 image

model 决定生成能力,不需要再传 mode。平台兼容接收 happyhorse-1.1-video-edit,提交时会归一为百炼实际模型 happyhorse-1.0-video-edit。

所有参考素材统一放在 **media** 数组里,每项为 { "url": "https://...", "type": "image" } 或 { "url": "https://...", "type": "video" };type 可省略,系统会按 URL 扩展名推断。图片建议使用 JPG/JPEG/PNG/BMP/WEBP,视频请使用公网可访问地址。

业务参数

参数类型必填说明
modelstring是能力代号。支持:happyhorse-1.1-t2v、happyhorse-1.1-i2v、happyhorse-1.1-r2v、happyhorse-1.0-video-edit
promptstring是画面、镜头、风格与对白等描述;最多 2500 字,不能为空
resolutionstring是目标分辨率。支持:720P、1080P(也接受 720p / 1080p,平台会归一)
durationnumber是目标生成时长(秒),整数。文生、图生、多参考支持 3~15;视频编辑时长由输入视频决定,但本平台仍按请求时长/矩阵计费
ratiostring否画幅比例。文生和多参考支持:16:9、9:16、1:1、4:3、3:4;单图首帧不需要传
seednumber否随机种子,支持 0~2147483647 的整数;不传则随机
watermarkboolean否是否添加水印。支持:true、false;不传默认 true
audio_settingstring否视频编辑音频处理。支持:auto、origin
mediaarray否统一参考素材数组。每项包含 url,可选 type(image/video)。文生不传;单图首帧传 1 张 image;多参考传 1~9 张 image;视频编辑传 1 个 video,可附 0~5 张 image

media 子字段

字段类型必填说明
media[].urlstring是素材 URL,需为公网可访问地址
media[].typestring否素材类型。支持:image、video;省略时按 URL 后缀推断

**按 model 的补充规则**:

modelmedia 规则其它规则
happyhorse-1.1-t2v不传 media支持 ratio / duration / seed / watermark
happyhorse-1.1-i2v恰好 1 张 image不需要传 ratio,画幅由首帧图决定
happyhorse-1.1-r2v1~9 张 image支持 ratio;提示词中可用“图1、图2...”指代素材顺序
happyhorse-1.0-video-edit恰好 1 个 video,可附 0~5 张 image支持 seed / watermark / audio_setting;参考图会按 reference_image 提交

请求示例

文生视频

JSON
{
    "model": "happyhorse-1.1-t2v",
    "resolution": "720P",
    "duration": 5,
    "ratio": "16:9",
    "seed": 42,
    "watermark": true,
    "prompt": "都市夜景,车流水灯,中景推进镜头,对白自然"
}

单图首帧

JSON
{
    "model": "happyhorse-1.1-i2v",
    "resolution": "720P",
    "duration": 5,
    "prompt": "一只猫在草地上奔跑",
    "media": [
        {
            "type": "image",
            "url": "https://example.com/first.png"
        }
    ]
}

多参考图

JSON
{
    "model": "happyhorse-1.1-r2v",
    "resolution": "720P",
    "duration": 5,
    "ratio": "16:9",
    "prompt": "保持人物与服饰一致,镜头缓慢推进",
    "media": [
        {
            "type": "image",
            "url": "https://example.com/ref1.jpg"
        },
        {
            "type": "image",
            "url": "https://example.com/ref2.jpg"
        }
    ]
}

视频编辑

JSON
{
    "model": "happyhorse-1.0-video-edit",
    "resolution": "720P",
    "duration": 3,
    "seed": 1234,
    "watermark": true,
    "audio_setting": "origin",
    "prompt": "保持原视频动作和镜头不变,仅将人物替换为参考图中的主体",
    "media": [
        {
            "type": "video",
            "url": "https://example.com/input.mp4"
        },
        {
            "type": "image",
            "url": "https://example.com/ref.jpg"
        }
    ]
}

成功响应

JSON
{
    "task_id": "task_xxxxxxxxxxxxxxxx",
    "status": "pending",
    "app": "happy_horse",
    "api": "submit",
    "created_at": "2026-01-01T00:00:00Z"
}

常见错误

HTTPcode含义
400invalid_request缺 prompt / resolution、媒体与能力不匹配等
400billing_params_unmatchedresolution+duration 未命中任何计费规则
401auth_failedAPI Key 无效
402insufficient_points点数不足
404not_found应用未对租户开放或未配置价格
502app_not_configured应用未配置服务地址或密钥

第三方返回的业务错误可能以其它 code 出现在 error 对象中,以实际响应为准。

说明

  • 冻结与结算点数由 **resolution + duration** 命中的规则决定;租户可在应用市场调整规则或点数映射。
  • 更完整的自动化正文可由 php think ai_developer_doc:sync_from_source --app-id=12 --only=app --force --publish 从 ai_app_api 元数据生成/覆盖本页在库中副本。
接口 41

Happy Horse创建任务

GET /api/v1/tasks/{task_id}`**

与 **submit 使用完全相同**的请求体格式(DashScope 风格:model、prompt、resolution、duration、ratio、seed、watermark、media)。区别在于本接口 固定走 happyhorse 上游渠道(api-gateway / STS → OSS → **/api/v2/tasks),不参与租户在 submit** 上选择的 DashScope 渠道。

提交后为异步:响应返回平台 task_id,请通过 **query 或 GET /api/v1/tasks/{task_id}** 查询进度与结果。

平台须在应用管理中配置 **api_secret(aorizon Bearer token,用于happyhorse 渠道);可选用 extra_config 覆盖默认网关等业务参数。若未按需配置 happyhorse 渠道,调用会返回与 channel 校验一致的错误。submit 侧使用的 api_key(DashScope)仍用于 DashScope submit** 路径,互不替代。

字段内容
类型应用 API
应用名称Happy Horse
应用编码happy_horse
API 名称创建任务
API 编码create
请求方式POST
请求路径/api/v1/apps/happy_horse/create
上游渠道固定 **happyhorse**(aorizon)
调用模式异步(返回 task_id,可 query 或 GET /api/v1/tasks/{task_id} 查询)

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

开放平台调用仍使用租户的 平台 API Key;服务端在锁死 happyhorse 渠道时,会使用应用配置中的 **api_secret** 访问上游。

请求路径

HTTP
POST /api/v1/apps/happy_horse/create

能力与 model / media

场景modelmedia 要求
文生视频happyhorse-1.1-t2v不要传图片、视频
单图首帧图生happyhorse-1.1-i2v恰好一张 image
多参考图生成happyhorse-1.1-r2v1~9 张 image(建议至少两张),不要混入视频

本接口不支持 happyhorse-1.1-video-edit。若传入该模型,渠道会返回 invalid_request。其它约定与 **submit 文档一致:所有参考素材放在 media** 数组,格式为 { "url": "https://...", "type": "image" }(本渠道 **create** 仅处理图片链路,请勿传 video-edit 或视频素材)。

业务参数

与 **submit 相同字段语义,字段表请直接对齐 [提交任务文档](./api-34-submit.md)。必填/可选、ratio/duration 范围与 submit 一致。差异要点**:

  • **model:仅允许 happyhorse-1.1-t2v、happyhorse-1.1-i2v、happyhorse-1.1-r2v;勿传 happyhorse-1.1-video-edit**。
  • **seed / watermark**:可传;happyhorse aorizon 流水线当前可作占位,是否透传以实际上线为准(与迁移脚本说明一致)。

请求示例

文生视频

JSON
{
    "model": "happyhorse-1.1-t2v",
    "resolution": "720P",
    "duration": 5,
    "ratio": "16:9",
    "seed": 42,
    "watermark": true,
    "prompt": "都市夜景,车流水灯,中景推进镜头,对白自然"
}

单图首帧

JSON
{
    "model": "happyhorse-1.1-i2v",
    "resolution": "720P",
    "duration": 5,
    "prompt": "一只猫在草地上奔跑",
    "media": [
        {
            "type": "image",
            "url": "https://example.com/first.png"
        }
    ]
}

多参考图

JSON
{
    "model": "happyhorse-1.1-r2v",
    "resolution": "720P",
    "duration": 5,
    "ratio": "16:9",
    "prompt": "保持人物与服饰一致,镜头缓慢推进",
    "media": [
        {
            "type": "image",
            "url": "https://example.com/ref1.jpg"
        },
        {
            "type": "image",
            "url": "https://example.com/ref2.jpg"
        }
    ]
}

成功响应

JSON
{
    "task_id": "task_xxxxxxxxxxxxxxxx",
    "status": "pending",
    "app": "happy_horse",
    "api": "create",
    "created_at": "2026-01-01T00:00:00Z"
}

实际字段以开放平台统一 **AbstractAppDriver / 任务入库封装为准,可能包含等价别名;task_id 可用于 query**。

常见错误

HTTPcode含义
400invalid_request缺少必填项、model 为 video-edit、媒体数量与模型不匹配、happhorse 流水线校验失败等
400billing_params_unmatchedresolution + duration(及矩阵维度)未命中 **create** 侧计费矩阵
401auth_failed平台 API Key 或上游 api_secret 无效
402insufficient_points点数不足
404not_found应用未对租户开放或未配置 **create** 价格
502app_not_configuredhappyhorse 渠道所需 **api_secret** 或未配置可用的上游参数

详见 **submit 页「常见错误」;第三方业务错误仍以实际 error** 响应为准。

说明

  • **create 与 submit 并行存在:前者锁死happyhorse链路,计费矩阵独立**。租户/平台在应用后台可为两者分别编辑「矩阵定价」。
  • 更完整的自动化正文可由 php think ai_developer_doc:sync_from_source --app-id=12 --only=app --force --publish 从 ai_app_api 元数据生成或覆盖库存副本。
接口 42

Happy Horse查询任务

POST /api/v1/apps/happy_horse/query

根据 **submit 或 create 返回的平台** task_id 查询任务状态与结果。本接口为同步调用,不产生新的计费。

任务完成后,结果中可包含 **video_url**(及平台转存后的展示字段,与全站任务查询一致)。

字段内容
类型应用 API
应用名称Happy Horse
应用编码happy_horse
API 名称查询任务
API 编码query
请求方式POST
请求路径/api/v1/apps/happy_horse/query
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/happy_horse/query

业务参数

参数类型必填说明
task_idstring是submit 成功返回的平台任务 id(task_…)

请求示例

JSON
{
    "task_id": "task_xxxxxxxxxxxxxxxx"
}

响应说明

  • **status 为 processing(或等价进行中状态)**:任务仍在处理,可间隔轮询。
  • **status 为 completed(或等价成功状态)**:处理完成,响应内带有可播放地址等字段(如 video_url,具体以平台任务结果与转存策略为准)。
  • **error**:任务失败或参数错误时返回,含 code / message。

示例(进行中,字段名以实际接口为准):

JSON
{
    "status": "processing",
    "task_id": "task_xxxxxxxxxxxxxxxx"
}

示例(成功,简化示意):

JSON
{
    "status": "completed",
    "task_id": "task_xxxxxxxxxxxxxxxx",
    "video_url": "https://example.com/output.mp4"
}

若配置了 **callback_url**,任务终态也会按平台统一规则推送,不必依赖轮询。

常见错误

HTTPcode含义
400invalid_request缺少或非法的 task_id
404task_not_found任务不存在或不属于当前租户
404not_found应用未上架或价格未配

说明

  • 与异步 submit 联用时,可轮询本接口;亦可使用 **GET /api/v1/tasks/{task_id}**,与全站任务查询行为对齐(含转存后的展示 URL)。
  • 由 php think ai_developer_doc:sync_from_source --app-id=12 --only=app --force --publish 可据 ai_app_api 重生成本页在库中正文。
接口 43

Wan 视频生成查询视频任务

GET /api/v1/apps/wan/query?task_id={task_id}

按平台 task_id 查询 Wan 视频任务状态、视频 URL 和计费快照。本接口只读取平台任务表中的数据。

字段内容
类型应用 API
应用编码wan
API 编码query
请求方式GET
请求路径/api/v1/apps/wan/query
调用模式同步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>

请求路径

HTTP
GET /api/v1/apps/wan/query?task_id={task_id}

业务参数

参数类型必填示例说明
task_idstring是task_xxxxxxxxxxxx创建接口返回的平台任务 ID

请求示例

HTTP
GET /api/v1/apps/wan/query?task_id=task_xxxxxxxxxxxx

处理中响应

JSON
{
  "code": 1,
  "msg": "success",
  "data": {
    "status": "processing"
  }
}

完成响应

JSON
{
  "code": 1,
  "msg": "success",
  "data": {
    "status": "completed",
    "task_id": "task_xxxxxxxxxxxx",
    "model": "wan2.7",
    "resolution": "720p",
    "duration": 5,
    "video_url": "https://example.com/output.mp4",
    "data": {
      "video_url": "https://example.com/output.mp4"
    },
    "frozen_points": 717.1,
    "actual_points": 717.1
  }
}

字段说明:

字段说明
statusprocessing 表示处理中,completed 表示成功完成
video_url生成视频地址,优先使用该字段播放或下载
data.video_url与 video_url 等价,便于兼容不同客户端解析
frozen_points创建任务时冻结的点数
actual_points任务完成后实际扣除点数

建议客户端每 3 到 5 秒轮询一次;收到 completed 后停止轮询。若创建任务时传入 callback_url,也可以以回调为主、轮询为辅。

失败响应

JSON
{
  "error": {
    "message": "任务不存在或不属于当前租户",
    "code": "task_not_found"
  }
}

常见错误码

HTTPcode含义
400missing_task_id未传任务 ID
401auth_failedAPI Key 缺失或无效
404task_not_found任务不存在或不属于当前租户
5xxserver_error / task_error平台服务异常或任务处理失败
接口 44

Wan 视频生成创建视频任务

POST /api/v1/apps/wan/create

提交 Wan 模型族视频任务。用户只对接平台统一接口;平台会按 model 选择对应能力,并负责参数过滤、任务入库、扣点冻结和轮询转存。

字段内容
类型应用 API
应用编码wan
API 编码create
请求方式POST
请求路径/api/v1/apps/wan/create
调用模式异步

鉴权

HTTP
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json

请求路径

HTTP
POST /api/v1/apps/wan/create

提交成功后返回平台 task_id。请使用 GET /api/v1/apps/wan/query?task_id={task_id} 查询结果,或在请求中传 callback_url 接收任务完成/失败回调。

模型能力

model场景必填参数说明
wan2.7文生视频model, prompt不需要素材输入
wan2.7-r2v角色/参考图生视频model, prompt, image_with_roles传参考图和图片角色
wan2.7-videoedit视频编辑model, prompt, video_urls传待编辑视频 URL,按含视频输入档计费

业务参数

参数类型必填默认值可选值 / 范围示例说明
modelstring是wan2.7wan2.7 / wan2.7-r2v / wan2.7-videoeditwan2.7Wan 模型版本,也是能力选择开关
promptstring是--一辆复古跑车沿着海岸公路行驶,电影感光影视频画面、动作、镜头、风格描述
resolutionstring否720p720p / 1080p720p输出分辨率,同时参与价格矩阵匹配
durationinteger否5wan2.7/wan2.7-r2v: 2-15;wan2.7-videoedit: 2-105生成视频时长,单位秒;平台按该值乘以单价扣点
sizestring否-16:9 / 9:16 / 1:1 / 4:3 / 3:416:9视频画幅比例
image_with_rolesarraywan2.7-r2v 必填-最多 2 张;role: reference_image / first_frame / last_frame[{"url":"https://example.com/role.png","role":"reference_image"}]参考图列表;每项至少传 url
image_urlsarray否-wan2.7 最多 2 张;wan2.7-videoedit 最多 4 张["https://example.com/reference.png"]参考图片 URL 列表
video_urlsarraywan2.7-videoedit 必填-最多 1 段["https://example.com/input.mp4"]待编辑视频 URL 列表;传入后按 with_video 档位计费
audio_urlstring否-HTTP/HTTPS URLhttps://example.com/audio.mp3参考音频 URL
negative_promptstring否--低清晰度、畸形、闪烁不希望出现在画面中的内容
prompt_extendboolean否-true / falsefalse是否启用提示词扩展
seedinteger否-0-214748364742随机种子,用于尽量复现结果
watermarkboolean否-true / falsefalse是否添加水印
callback_urlstring否-HTTPS URLhttps://your-domain.com/webhook/wan任务完成或失败时的平台回调地址
metadataobject否-audio_setting: auto / origin{"biz_id":"order_1001","audio_setting":"auto"}业务透传字段;视频编辑可指定音频处理方式

请求示例

文生视频

JSON
{
  "model": "wan2.7",
  "prompt": "一辆复古跑车沿着海岸公路行驶,电影感光影,镜头缓慢推进",
  "resolution": "720p",
  "duration": 5,
  "seed": 42
}

角色/参考图生视频

JSON
{
  "model": "wan2.7-r2v",
  "prompt": "让参考图中的人物在城市街头自然行走,保持人物身份一致",
  "resolution": "1080p",
  "duration": 5,
  "image_with_roles": [
    {
      "url": "https://example.com/role.png",
      "role": "reference_image"
    }
  ]
}

视频编辑

JSON
{
  "model": "wan2.7-videoedit",
  "prompt": "将视频改成赛博朋克夜景风格,增强霓虹灯和雨夜反光",
  "resolution": "720p",
  "duration": 5,
  "video_urls": [
    "https://example.com/input.mp4"
  ]
}

成功响应

JSON
{
  "code": 1,
  "msg": "success",
  "data": {
    "task_id": "task_xxxxxxxxxxxx",
    "status": "queued",
    "app": "wan",
    "api": "create"
  }
}

计费说明

计费公式:duration × 当前租户价格矩阵单价。

价格矩阵按 model + resolution + 输入类型 匹配。wan2.7-videoedit 因传入 video_urls,会使用 with_video 档位;其它未传视频输入的场景使用 without_video 档位。平台会在提交任务时冻结点数,任务完成后按实际计费结果结算。

失败响应

JSON
{
  "error": {
    "message": "点数余额不足",
    "type": "insufficient_points",
    "code": "insufficient_points"
  }
}

常见错误码

HTTPcode含义
400missing_model / missing_prompt必填参数缺失
400unsupported_modelmodel 不在当前 Wan 版本规格中
400missing_image_with_roleswan2.7-r2v 未传参考图
400missing_video_urlswan2.7-videoedit 未传视频素材
401auth_failedAPI Key 缺失或无效
402insufficient_points点数余额不足
403permission_denied当前 API Key 无权调用该应用
429queue_limit_exceeded排队任务已达上限
5xxserver_error / task_error平台服务异常或任务处理失败
接口 45

智能剪辑模板列表

GET /api/v1/apps/smart_clip/template?scene=realMan&pageSize=10&sortBy=desc

查询智能剪辑可用模板列表。接口为同步免费查询。

基本信息

字段内容
应用编码smart_clip
API 编码template
请求方式GET
请求路径/api/v1/apps/smart_clip/template
调用模式同步

请求参数

参数位置类型必填默认值可选值说明
pageSizequeryinteger否10-每页大小
sidquerystring否--分页游标,当有值时代表存在下一页,继续查询下一页时需传入该值
scenequerystring是-realMan / oralMixCutting / newsMixCutting模板使用场景;返回的模板只能提交到对应接口
searchKeyquerystring否-name / id搜索字段,name 按名称搜索,id 按模板 ID 搜索
searchValuequerystring否--搜索值
sortByquerystring否descdesc / asc排序方式,desc 按上架时间倒序,asc 按上架时间正序

scene 枚举

值说明
realMan真人口播模板,对应提交接口 realman_broadcast
oralMixCutting素材混剪模板,对应提交接口 broadcast_mixcut
newsMixCutting新闻混剪模板,对应提交接口 news_mixcut

请求示例

HTTP
GET /api/v1/apps/smart_clip/template?scene=realMan&pageSize=10&sortBy=desc
Authorization: Bearer <YOUR_API_KEY>

成功响应说明

字段类型必返说明
codestring是表示本次请求的状态,值为成功状态时表示成功,其他均为失败
dataobject是结果数据
data.resultsarray是模板列表
data.results[].idstring是模板id
data.results[].namestring是模板名称
data.results[].coverUrlstring是封面url
data.results[].scenestring是场景,枚举同请求参数 scene
data.results[].demoUrlstring是使用该模板生成的视频样片
data.sidstring否分页游标,当有值时代表存在下一页,继续查询下一页时需传入该值
messagestring否错误描述信息,失败时返回
接口 46

智能剪辑模板详情

GET /api/v1/apps/smart_clip/template_detail?id=67b7ee802b2beb0030cdeaaf

按模板 ID 获取模板结构详情。接口为同步免费查询。

基本信息

字段内容
应用编码smart_clip
API 编码template_detail
请求方式GET
请求路径/api/v1/apps/smart_clip/template_detail?id={id}
调用模式同步

请求参数

参数位置类型必填示例说明
idquerystring是67b7ee802b2beb0030cdeaaf模板id

请求示例

HTTP
GET /api/v1/apps/smart_clip/template_detail?id=67b7ee802b2beb0030cdeaaf
Authorization: Bearer <YOUR_API_KEY>

成功响应说明

字段类型必返说明
codestring是表示本次请求的状态,值为成功状态时表示成功,其他均为失败
dataobject是结果数据
data.idstring是模板id
data.namestring是模板名称
data.coverUrlstring是封面url
data.scenestring是应用场景,同模板列表接口的 scene
data.videoStructInfoobject是模板结构详情
data.videoStructInfo.editInfoobject是编辑结构信息
data.videoStructInfo.editInfo.canvas.widthinteger是模板画布尺寸宽
data.videoStructInfo.editInfo.canvas.heightinteger是模板画布尺寸高
data.videoStructInfo.editInfo.headerLayerobject是标题图层,返回 {} 表示没有相关图层
data.videoStructInfo.editInfo.subtitleLayerobject是字幕图层,返回 {} 表示没有相关图层
data.videoStructInfo.editInfo.ipLayerobject是身份栏图层,返回 {} 表示没有相关图层
data.videoStructInfo.editInfo.figureLayerobject是数字人图层,返回 {} 表示没有相关图层
data.videoStructInfo.editInfo.backgroundLayerobject是背景图层,返回 {} 表示没有相关图层
requestIdstring是本次请求的唯一标识id
messagestring否错误描述信息,失败时返回

图层数据结构

字段类型必返说明
widthinteger是图层宽
heightinteger是图层高
transformobject否图层位置数据
transform.anchorinteger[]是锚点,辅助定位,不支持修改
transform.scalarinteger[]是缩放,单位:%,不支持修改
transform.positioninteger[]是锚点定位
uristring否背景资源图片,仅背景图层返回
接口 47

智能剪辑真人口播混剪

POST /api/v1/apps/smart_clip/realman_broadcast

提交真人口播混剪视频任务。提交成功后返回平台 task_id。请通过平台任务查询接口获取最终状态与结果,或传入 callbackUrl 接收任务通知。

基本信息

字段内容
应用编码smart_clip
API 编码realman_broadcast
请求方式POST
请求路径/api/v1/apps/smart_clip/realman_broadcast
调用模式异步

请求参数

参数类型必填默认值可选值 / 范围说明
styleIdstring是--视频模板id
videoUrlstring是-mp4 / mov视频url。平台会优先探测该媒体时长用于计费
languagestring否--特指视频中(videoUrl)对应的语种,音频驱动时需要传音频中内容的语种,语种参考ASR支持的语种
titlestring否--标题;如果期望生成的视频不显示标题,请不要设置标题值
subtitlearray否--字幕信息(兼容subtitles字段),用于填充语音识别(ASR)后的结果;每项包含 startMs、endMs、text
materialsarray否-image / video素材,素材格式要求详见素材要求;每项包含 type、fileUrl
materialSoundSwitchboolean否falsetrue / false当素材为视频时原声开关
introduceCardobject否--身份栏信息,包含 name、description
packRulesobject否--包装规则:仅用于控制标题、素材、字幕、关键词、背景音乐等图层是否参与效果包装
processRulesobject否--处理规则,支持 watermarkShow、resourcePreprocessMethod、materialMatchWay、metadata、firstFrameCover
structLayersarray否--需要修改的图层数据
callbackUrlstring否-HTTPS URL结果回调地址

特殊字段说明

subtitle(字幕信息)

  • 选填,不设置则由系统智能处理。
  • 如果期望手动修改从视频中识别的文字,可以先调用音频转文字(ASR)接口识别出文本信息,更改其中的文字,然后保持 ASR 返回的格式设置到该字段。

processRules.resourcePreprocessMethod(真人视频预处理方式)

  • 选填,不设置真人视频预处理方式时,默认保持原始视频时长。
  • roughCut:粗剪,按照系统内置规则智能处理,例如自动去掉无声片段等。
  • sliceMerge:按照 subtitle 字段中标注的开始/结束时间,自动去掉不连续时间范围的片段。

processRules

字段类型必填默认值可选值 / 范围说明
watermarkShowboolean否falsetrue / false是否添加“AI生成”字样水印
resourcePreprocessMethodstring否-sliceMerge / roughCut真人视频预处理方式,不设置时默认保持原始视频时长
materialMatchWaystring否preciseMatchfuzzyMatch / preciseMatch素材匹配方式
metadataobject否--元水印数据,仅支持写入一组数据,且 value 值需为字符串
firstFrameCoverobject否--首帧封面配置

重要规则

  • 视频驱动的 videoUrl、素材 materials[].fileUrl、背景音乐 packRules.backgroundMusic.audioUrl、AI 封面的 resultImageUrl 地址不能重名,重名会导致渲染异常。
  • packRules 仅用于控制标题、字幕、素材、背景音乐、关键词等图层是否参与效果包装,不能控制对应图层的显示/隐藏。
  • 如果期望生成的视频不显示标题,请不要设置标题值。
  • callbackUrl 作为平台任务通知地址保存,任务完成或失败后由平台发起通知。
  • 如无法解析有效输入媒体时长,本次请求会被拒绝,不使用默认时长。

通用对象字段

subtitle[]

字段类型必填说明
startMsinteger是时间戳开始,单位 ms
endMsinteger是时间戳结束,单位 ms,最大支持 310000ms
textstring是文本,只支持单字符级别

materials[]

字段类型必填可选值 / 默认值说明
typestring是image / video素材类型
fileUrlstring是-素材url
soundSwitchboolean否false当素材为视频时原声开关,素材混剪和新闻体视频支持

introduceCard

字段类型必填说明
namestring否名称
descriptionstring否描述

packRules

字段类型必填默认值说明
headerSwitchboolean否-标题包装开关
materialSwitchboolean否-素材包装开关
subtitleSwitchboolean否-字幕包装开关
keywordSwitchboolean否-关键词包装开关
backgroundMusicobject否-背景音乐设置
backgroundMusic.audioSwitchboolean否-音乐开关
backgroundMusic.audioUrlstring否-音频url,模板内置背景音乐和传递audioUrl,优先使用audioUrl
backgroundMusic.volumenumber否0.3音量,保留一位小数,范围 0-1

processRules.firstFrameCover

字段类型必填默认值说明
coverSwitchboolean否false封面开关
templateIdstring否-模版ID,如果未设置则系统匹配
imageUrlstring否-图片地址,用于生成AI封面图的底图,imageUrl 和 resultImageUrl 二选一必填
resultImageUrlstring否-图片生成接口的结果图片地址或其他封面图片地址;传了此值将直接运用作为视频首桢封面,优先级更高

structLayers[]

字段类型必填可选值说明
markCodestring是headerLayer / subtitleLayer / ipLayer / backgroundLayer / figureLayer图层,对应模板详情接口返回的图层数据
showboolean否-是否显示,不设置时默认跟随模板;backgroundLayer、figureLayer 不支持设置,默认显示
showModestring否always / customize显示模式,markCode=headerLayer 时生效,不设置时默认跟随模板
showTimenumber条件必填大于 0显示时长,markCode=headerLayer 且 showMode=customize 时生效且必填,保留 3 位小数
layer.transform.positioninteger[]否-锚点定位,对应模板详情 transform.position
layer.uristring否-背景图片资源链接,仅 backgroundLayer 生效

素材与媒体要求

  • 输入视频格式:mp4、mov;视频编码 h264、HEVC(h265);帧率 10-60fps,推荐 25;单边分辨率小于 2000px。
  • 真人口播 videoUrl 时长小于 5 分钟,文件大小小于 500MB,视频中的音频需要能够语音转文本。
  • 素材总量限制:单张图片计算为 2 秒,单个视频素材不能超过 60 秒,所有素材总时长不能超过 5 分钟。
  • 素材图片格式支持 jpg、png、webp 静态图,单边分辨率小于 2000px。
  • 素材视频格式支持 mp4、mov,单个视频小于 500MB,单边分辨率小于 2000px。
  • 背景音乐格式支持 mp3、wav、m4a,文件大小不超过 120MB,时长不超过 5 分钟。
  • 首帧封面 imageUrl、resultImageUrl 格式支持 jpg/jpeg、png,文件大小不超过 10MB,单边分辨率小于 2000px。

请求示例

JSON
{
  "styleId": "68aebb91b8619ed6f4168f40",
  "videoUrl": "https://example.com/a.mp4",
  "title": "聊AI行业",
  "language": "zh-CN",
  "materials": [
    {"type": "image", "fileUrl": "https://example.com/a.jpg"},
    {"type": "video", "fileUrl": "https://example.com/b.mp4"}
  ],
  "materialSoundSwitch": false,
  "introduceCard": {
    "name": "廖志勇",
    "description": "AI行业领军人物"
  },
  "packRules": {
    "headerSwitch": true,
    "materialSwitch": true,
    "subtitleSwitch": true,
    "keywordSwitch": true,
    "backgroundMusic": {
      "audioSwitch": true,
      "audioUrl": "https://example.com/bg.mp3",
      "volume": 1
    }
  },
  "processRules": {
    "watermarkShow": true,
    "resourcePreprocessMethod": "roughCut",
    "materialMatchWay": "fuzzyMatch",
    "metadata": {
      "AIGC": "{"Label":"1","ContentProducer":"AI服务提供者的名称或统一社会信用代码等","ProduceID":"XXXXXXXXXXXXXXXXXXX"}"
    }
  },
  "subtitle": [
    {"startMs": 0, "endMs": 500, "text": "A"},
    {"startMs": 500, "endMs": 1000, "text": "I"}
  ],
  "structLayers": [
    {
      "markCode": "headerLayer",
      "show": true,
      "showMode": "customize",
      "showTime": 2,
      "layer": {"transform": {"position": [0, 0, 0]}}
    }
  ],
  "callbackUrl": "https://example.com/hook"
}

成功响应

JSON
{
  "code": 1,
  "msg": "success",
  "data": {
    "task_id": "task_xxxxxxxxxxxx",
    "status": "processing",
    "app": "smart_clip",
    "api": "realman_broadcast"
  }
}

响应字段

字段类型必返说明
task_idstring是平台任务 ID
statusstring是平台任务状态,提交后通常为 processing 或 queued
appstring是应用编码,固定为 smart_clip
apistring是API 编码

任务结果

任务完成后,平台任务查询结果中的 result 通常包含:

字段类型说明
video_urlstring视频url地址,视频生成类任务返回
cover_urlstring视频封面url地址
durationnumber生成的视频或音频时长,单位:秒
dataobject完整结果数据

任务失败时返回错误码和错误描述。

接口 48

智能剪辑素材混剪

POST /api/v1/apps/smart_clip/broadcast_mixcut

提交素材混剪视频任务。当前应用仅支持 audioUrl 或素材输入链路;提交时如果传入 content 或 speakerId,平台会返回不支持该分支的明确错误。

基本信息

字段内容
应用编码smart_clip
API 编码broadcast_mixcut
请求方式POST
请求路径/api/v1/apps/smart_clip/broadcast_mixcut
调用模式异步

请求参数

参数类型必填默认值可选值 / 范围说明
styleIdstring是--视频模板ID
titlestring否--标题;如果期望生成的视频不显示标题,请不要设置标题值
audioUrlstring否-mp3 / wav / m4a音频URL,与content字段二选一;当前应用仅支持 audioUrl 或素材输入链路,平台会探测该媒体时长用于计费
contentstring否-3-1800字符文本,与audioUrl字段二选一;当前应用不支持 content + speakerId 定制声音分支
languagestring否--语种,特指音频(audioUrl)对应的语种,语种参考ASR支持的语种
speakerIdstring否--音色ID;当前应用不支持 content + speakerId 定制声音分支
speakerExtraobject否--音色扩展参数;当前应用不支持 content + speakerId 定制声音分支
materialsarray是-image / video素材,每项包含 type、fileUrl、soundSwitch;缺少 audioUrl 时平台会探测素材媒体时长用于计费
introduceCardobject否--身份栏信息,包含 name、description
packRulesobject否--包装规则:仅用于控制标题、素材、字幕、关键词、背景音乐等是否参与模板效果包装
processRulesobject否--处理规则,支持 watermarkShow、metadata、firstFrameCover
structLayersarray否--需要修改的图层数据
subtitlearray否--字幕信息(兼容subtitles字段),每项包含 startMs、endMs、text
callbackUrlstring否-HTTPS URL结果通知回调地址,由平台在任务完成或失败后通知

视频生成方式

参考文档支持两种方式:

方式字段说明
文本内容 + 定制声音content + speakerId文本字符数要求 3-1800,声音 ID 为定制声音产生的声音 ID
音频文件audioUrl音频时长小于 5 分钟,格式 mp3、wav、m4a,文件大小小于等于 100MB,需要能够语音转文本

当前平台应用仅支持 audioUrl 或素材输入链路,不支持 content + speakerId 定制声音分支。若传入 content 或 speakerId,平台会返回 unsupported_speaker_branch。

speakerExtra

字段类型必填默认值 / 范围说明
speedRationumber否默认 1,范围 0.5-2语速,支持 1 位小数,1 表示常速,例如 0.6、0.9、1.2
languagestring否-语种,特指该克隆声音文本(content)支持的语种
marksarray否-文本标记特殊处理处,传 content 时有效
marks[].typestring是break标记类型,break 表示停顿
marks[].indexinteger是从 0 开始文本索引处,最大值为 content 文本长度
marks[].timeinteger是100-10000时长,单位 ms

processRules

字段类型必填默认值说明
watermarkShowboolean否false是否添加“AI生成”字样水印
metadataobject否-元水印数据,仅支持写入一组数据,且 value 值需为字符串
firstFrameCoverobject否-首帧封面配置

重要规则

  • 音频驱动的 audioUrl、素材 materials[].fileUrl、背景音乐 packRules.backgroundMusic.audioUrl、AI 封面的 resultImageUrl 地址不能重名,重名会导致渲染异常。
  • packRules 仅用于控制标题、字幕、素材、背景音乐、关键词等图层是否参与效果包装,不能控制对应图层的显示/隐藏。
  • 如果期望生成的视频不显示标题,请不要设置标题值。
  • callbackUrl 作为平台任务通知地址保存,任务完成或失败后由平台发起通知。
  • 如无法解析有效输入媒体时长,本次请求会被拒绝,不使用默认时长。

通用对象字段

subtitle[]

字段类型必填说明
startMsinteger是时间戳开始,单位 ms
endMsinteger是时间戳结束,单位 ms,最大支持 310000ms
textstring是文本,只支持单字符级别

materials[]

字段类型必填可选值 / 默认值说明
typestring是image / video素材类型
fileUrlstring是-素材url
soundSwitchboolean否false当素材为视频时原声开关,素材混剪和新闻体视频支持

introduceCard

字段类型必填说明
namestring否名称
descriptionstring否描述

packRules

字段类型必填默认值说明
headerSwitchboolean否-标题包装开关
materialSwitchboolean否-素材包装开关
subtitleSwitchboolean否-字幕包装开关
keywordSwitchboolean否-关键词包装开关
backgroundMusicobject否-背景音乐设置
backgroundMusic.audioSwitchboolean否-音乐开关
backgroundMusic.audioUrlstring否-音频url,模板内置背景音乐和传递audioUrl,优先使用audioUrl
backgroundMusic.volumenumber否0.3音量,保留一位小数,范围 0-1

processRules.firstFrameCover

字段类型必填默认值说明
coverSwitchboolean否false封面开关
templateIdstring否-模版ID,如果未设置则系统匹配
imageUrlstring否-图片地址,用于生成AI封面图的底图,imageUrl 和 resultImageUrl 二选一必填
resultImageUrlstring否-图片生成接口的结果图片地址或其他封面图片地址;传了此值将直接运用作为视频首桢封面,优先级更高

structLayers[]

字段类型必填可选值说明
markCodestring是headerLayer / subtitleLayer / ipLayer / backgroundLayer / figureLayer图层,对应模板详情接口返回的图层数据
showboolean否-是否显示,不设置时默认跟随模板;backgroundLayer、figureLayer 不支持设置,默认显示
showModestring否always / customize显示模式,markCode=headerLayer 时生效,不设置时默认跟随模板
showTimenumber条件必填大于 0显示时长,markCode=headerLayer 且 showMode=customize 时生效且必填,保留 3 位小数
layer.transform.positioninteger[]否-锚点定位,对应模板详情 transform.position
layer.uristring否-背景图片资源链接,仅 backgroundLayer 生效

素材与媒体要求

  • 输入视频格式:mp4、mov;视频编码 h264、HEVC(h265);帧率 10-60fps,推荐 25;单边分辨率小于 2000px。
  • 真人口播 videoUrl 时长小于 5 分钟,文件大小小于 500MB,视频中的音频需要能够语音转文本。
  • 素材总量限制:单张图片计算为 2 秒,单个视频素材不能超过 60 秒,所有素材总时长不能超过 5 分钟。
  • 素材图片格式支持 jpg、png、webp 静态图,单边分辨率小于 2000px。
  • 素材视频格式支持 mp4、mov,单个视频小于 500MB,单边分辨率小于 2000px。
  • 背景音乐格式支持 mp3、wav、m4a,文件大小不超过 120MB,时长不超过 5 分钟。
  • 首帧封面 imageUrl、resultImageUrl 格式支持 jpg/jpeg、png,文件大小不超过 10MB,单边分辨率小于 2000px。

请求示例

JSON
{
  "styleId": "68aebb91b8619ed6f4168f40",
  "audioUrl": "https://example.com/a.mp3",
  "title": "聊AI行业",
  "language": "zh-CN",
  "materials": [
    {"type": "image", "fileUrl": "https://example.com/a.jpg", "soundSwitch": false},
    {"type": "video", "fileUrl": "https://example.com/b.mp4", "soundSwitch": false}
  ],
  "introduceCard": {
    "name": "廖志勇",
    "description": "AI行业领军人物"
  },
  "packRules": {
    "headerSwitch": true,
    "materialSwitch": true,
    "subtitleSwitch": true,
    "keywordSwitch": true,
    "backgroundMusic": {
      "audioSwitch": true,
      "audioUrl": "https://example.com/bg.mp3",
      "volume": 1
    }
  },
  "processRules": {
    "watermarkShow": true,
    "metadata": {
      "AIGC": "{"Label":"1","ContentProducer":"AI服务提供者的名称或统一社会信用代码等","ProduceID":"XXXXXXXXXXXXXXXXXXX"}"
    }
  },
  "subtitle": [
    {"startMs": 0, "endMs": 500, "text": "A"},
    {"startMs": 500, "endMs": 1000, "text": "I"}
  ],
  "callbackUrl": "https://example.com/hook"
}

成功响应

JSON
{
  "code": 1,
  "msg": "success",
  "data": {
    "task_id": "task_xxxxxxxxxxxx",
    "status": "processing",
    "app": "smart_clip",
    "api": "broadcast_mixcut"
  }
}

响应字段

字段类型必返说明
task_idstring是平台任务 ID
statusstring是平台任务状态,提交后通常为 processing 或 queued
appstring是应用编码,固定为 smart_clip
apistring是API 编码

任务结果

任务完成后,平台任务查询结果中的 result 通常包含:

字段类型说明
video_urlstring视频url地址,视频生成类任务返回
cover_urlstring视频封面url地址
durationnumber生成的视频或音频时长,单位:秒
dataobject完整结果数据

任务失败时返回错误码和错误描述。

接口 49

智能剪辑新闻体视频

POST /api/v1/apps/smart_clip/news_mixcut

提交新闻体视频任务。如未传 processRules.videoDuration,平台会探测素材媒体时长用于计费;无法获取有效输入媒体时长时会拒绝提交。

基本信息

字段内容
应用编码smart_clip
API 编码news_mixcut
请求方式POST
请求路径/api/v1/apps/smart_clip/news_mixcut
调用模式异步

请求参数

参数类型必填默认值可选值 / 范围说明
styleIdstring是--视频模板ID
titlestring是-3-1800字符标题
materialsarray是-image / video素材,每项包含 type、fileUrl、soundSwitch;平台会探测素材媒体时长用于计费
introduceCardobject否--身份栏信息,包含 name、description
packRulesobject否--包装规则:仅用于控制标题、素材、字幕、关键词、背景音乐等是否参与模板效果包装
processRules.watermarkShowboolean否falsetrue / false是否添加“AI生成”字样水印
processRules.videoDurationinteger否-5-300视频时长,单位秒,默认跟随素材资源时长
processRules.metadataobject否--元水印数据,仅支持写入一组数据,且value值需为字符串
processRules.materialCompositionstring否randomrandom / order素材组合方式
processRules.firstFrameCoverobject否--首帧封面配置
structLayersarray否--需要修改的图层数据
callbackUrlstring否-HTTPS URL结果通知回调地址,由平台在任务完成或失败后通知

processRules

字段类型必填默认值可选值 / 范围说明
watermarkShowboolean否falsetrue / false是否添加“AI生成”字样水印
videoDurationinteger否跟随素材资源时长5-300视频时长,单位:秒
metadataobject否--元水印数据,仅支持写入一组数据,且 value 值需为字符串
materialCompositionstring否randomrandom / order素材组合方式,random 随机,order 顺序
firstFrameCoverobject否--首帧封面配置

重要规则

  • 素材 materials[].fileUrl、背景音乐 packRules.backgroundMusic.audioUrl、AI 封面的 resultImageUrl 地址不能重名,重名会导致渲染异常。
  • packRules 仅用于控制标题、字幕、素材、背景音乐、关键词等图层是否参与效果包装,不能控制对应图层的显示/隐藏。
  • 如果期望生成的视频不显示标题,请不要设置标题值。
  • callbackUrl 作为平台任务通知地址保存,任务完成或失败后由平台发起通知。
  • 如无法解析有效输入媒体时长,本次请求会被拒绝,不使用默认时长。

通用对象字段

subtitle[]

字段类型必填说明
startMsinteger是时间戳开始,单位 ms
endMsinteger是时间戳结束,单位 ms,最大支持 310000ms
textstring是文本,只支持单字符级别

materials[]

字段类型必填可选值 / 默认值说明
typestring是image / video素材类型
fileUrlstring是-素材url
soundSwitchboolean否false当素材为视频时原声开关,素材混剪和新闻体视频支持

introduceCard

字段类型必填说明
namestring否名称
descriptionstring否描述

packRules

字段类型必填默认值说明
headerSwitchboolean否-标题包装开关
materialSwitchboolean否-素材包装开关
subtitleSwitchboolean否-字幕包装开关
keywordSwitchboolean否-关键词包装开关
backgroundMusicobject否-背景音乐设置
backgroundMusic.audioSwitchboolean否-音乐开关
backgroundMusic.audioUrlstring否-音频url,模板内置背景音乐和传递audioUrl,优先使用audioUrl
backgroundMusic.volumenumber否0.3音量,保留一位小数,范围 0-1

processRules.firstFrameCover

字段类型必填默认值说明
coverSwitchboolean否false封面开关
templateIdstring否-模版ID,如果未设置则系统匹配
imageUrlstring否-图片地址,用于生成AI封面图的底图,imageUrl 和 resultImageUrl 二选一必填
resultImageUrlstring否-图片生成接口的结果图片地址或其他封面图片地址;传了此值将直接运用作为视频首桢封面,优先级更高

structLayers[]

字段类型必填可选值说明
markCodestring是headerLayer / subtitleLayer / ipLayer / backgroundLayer / figureLayer图层,对应模板详情接口返回的图层数据
showboolean否-是否显示,不设置时默认跟随模板;backgroundLayer、figureLayer 不支持设置,默认显示
showModestring否always / customize显示模式,markCode=headerLayer 时生效,不设置时默认跟随模板
showTimenumber条件必填大于 0显示时长,markCode=headerLayer 且 showMode=customize 时生效且必填,保留 3 位小数
layer.transform.positioninteger[]否-锚点定位,对应模板详情 transform.position
layer.uristring否-背景图片资源链接,仅 backgroundLayer 生效

素材与媒体要求

  • 输入视频格式:mp4、mov;视频编码 h264、HEVC(h265);帧率 10-60fps,推荐 25;单边分辨率小于 2000px。
  • 真人口播 videoUrl 时长小于 5 分钟,文件大小小于 500MB,视频中的音频需要能够语音转文本。
  • 素材总量限制:单张图片计算为 2 秒,单个视频素材不能超过 60 秒,所有素材总时长不能超过 5 分钟。
  • 素材图片格式支持 jpg、png、webp 静态图,单边分辨率小于 2000px。
  • 素材视频格式支持 mp4、mov,单个视频小于 500MB,单边分辨率小于 2000px。
  • 背景音乐格式支持 mp3、wav、m4a,文件大小不超过 120MB,时长不超过 5 分钟。
  • 首帧封面 imageUrl、resultImageUrl 格式支持 jpg/jpeg、png,文件大小不超过 10MB,单边分辨率小于 2000px。

请求示例

JSON
{
  "styleId": "68aebb91b8619ed6f4168f40",
  "title": "聊AI行业",
  "materials": [
    {"type": "image", "fileUrl": "https://example.com/a.jpg", "soundSwitch": false},
    {"type": "video", "fileUrl": "https://example.com/b.mp4", "soundSwitch": false}
  ],
  "introduceCard": {
    "name": "廖志勇",
    "description": "AI行业领军人物"
  },
  "packRules": {
    "headerSwitch": true,
    "materialSwitch": true,
    "subtitleSwitch": true,
    "keywordSwitch": true,
    "backgroundMusic": {
      "audioSwitch": true,
      "audioUrl": "https://example.com/bg.mp3",
      "volume": 1
    }
  },
  "processRules": {
    "materialComposition": "random",
    "watermarkShow": true,
    "videoDuration": 30,
    "metadata": {
      "AIGC": "{"Label":"1","ContentProducer":"AI服务提供者的名称或统一社会信用代码等","ProduceID":"XXXXXXXXXXXXXXXXXXX"}"
    }
  },
  "structLayers": [
    {
      "markCode": "headerLayer",
      "show": true,
      "showMode": "customize",
      "showTime": 2,
      "layer": {"transform": {"position": [0, 0, 0]}}
    }
  ],
  "callbackUrl": "https://example.com/hook"
}

成功响应

JSON
{
  "code": 1,
  "msg": "success",
  "data": {
    "task_id": "task_xxxxxxxxxxxx",
    "status": "processing",
    "app": "smart_clip",
    "api": "news_mixcut"
  }
}

响应字段

字段类型必返说明
task_idstring是平台任务 ID
statusstring是平台任务状态,提交后通常为 processing 或 queued
appstring是应用编码,固定为 smart_clip
apistring是API 编码

任务结果

任务完成后,平台任务查询结果中的 result 通常包含:

字段类型说明
video_urlstring视频url地址,视频生成类任务返回
cover_urlstring视频封面url地址
durationnumber生成的视频或音频时长,单位:秒
dataobject完整结果数据

任务失败时返回错误码和错误描述。

接口 50

语音TTS克隆音色

POST /api/v1/apps/voice_tts/clone_voice
上传参考音频或提供音频URL,创建专属语音音色模型

鉴权
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json
请求路径
POST /api/v1/apps/voice_tts/clone_voice
业务参数
参数	类型	必填	默认值	可选值 / 范围	示例	说明
tags	array	否	—	—	—	模型标签数组
texts	array	否	—	—	—	与音频对应的文本数组;不传时自动ASR
title	string	是	—	—	—	音色名称
audio_url	string	否	—	mp3 / wav / ogg / flac	—	参考音频URL(与上传文件二选一),支持 mp3/wav/ogg/flac
visibility	string	否	—	public / unlist / private	—	可见性:public / unlist / private,平台默认 private
description	string	否	—	—	—	音色描述
enhance_audio_quality	boolean	否	—	—	—	是否增强音频质量,默认 false
请求示例
{
    "tags": [],
    "texts": [],
    "title": "string",
    "audio_url": "mp3",
    "visibility": "private",
    "description": "string",
    "enhance_audio_quality": true
}
成功响应
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}
失败响应
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}
错误码
HTTP	code	含义
400	invalid_request	参数缺失或格式错误
401	auth_failed	API Key 缺失或无效
402	insufficient_points	点数余额不足
402	key_quota_exceeded	当前 API Key 点数额度不足
403	permission_denied	当前 API Key 无权调用该模型/应用
404	not_found	模型 / 应用 / 任务不存在
429	queue_limit_exceeded	排队任务已达上限
5xx	server_error	服务异常,请稍后重试

请求示例
{
    "text": "string",
    "model": "s1",
    "top_p": 1,
    "format": "wav",
    "latency": "low",
    "prosody": {},
    "normalize": true,
    "mp3_bitrate": "64",
    "sample_rate": 1,
    "temperature": 1,
    "callback_url": "GET",
    "chunk_length": 1,
    "opus_bitrate": 1,
    "reference_id": "string",
    "max_new_tokens": 1,
    "min_chunk_length": 1,
    "repetition_penalty": 1,
    "early_stop_threshold": 1,
    "condition_on_previous_chunks": true
}
成功响应
{
    "task_id": "tsk_xxxxxxxxxxxxxxxx",
    "status": "pending",
    "created_at": 1740000000
}
查询任务结果
GET /api/v1/tasks/{task_id}
{
    "task_id": "tsk_xxxxxxxxxxxxxxxx",
    "status": "completed",
    "created_at": 1740000000,
    "completed_at": 1740000060,
    "result": {
        "output": "任务输出内容"
    },
    "usage": {
        "points": 100
    }
}
失败响应
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}
错误码
HTTP	code	含义
400	invalid_request	参数缺失或格式错误
401	auth_failed	API Key 缺失或无效
402	insufficient_points	点数余额不足
402	key_quota_exceeded	当前 API Key 点数额度不足
403	permission_denied	当前 API Key 无权调用该模型/应用
404	not_found	模型 / 应用 / 任务不存在
429	queue_limit_exceeded	排队任务已达上限
5xx	server_error	服务异常,请稍后重试
接口 51

语音TTS文字转语音

POST /api/v1/apps/voice_tts/tts
将文本同步合成为语音音频文件(适合短文本,500字符内),直接返回音频URL

鉴权
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json
请求路径
POST /api/v1/apps/voice_tts/tts
业务参数
参数	类型	必填	默认值	可选值 / 范围	示例	说明
text	string	是	—	—	—	待合成文本,同步接口建议不超过 500 字符
model	string	否	—	s1 / s2-pro	—	TTS 模型,可选 s1 / s2-pro,默认 s2-pro
top_p	number	否	—	0 ~ 1	—	Top-P 采样,0~1,默认 0.7
format	string	否	—	wav / pcm / mp3 / opus	—	输出格式:wav / pcm / mp3 / opus,默认 mp3
latency	string	否	—	low / normal / balanced	—	延迟模式:low / normal / balanced
prosody	object	否	—	—	—	语调控制对象:speed、volume、normalize_loudness
normalize	boolean	否	—	—	—	文本规范化,默认 true
mp3_bitrate	integer	否	—	64 / 128 / 192	—	MP3 比特率:64 / 128 / 192
sample_rate	integer	否	—	—	—	采样率按格式限制
temperature	number	否	—	0 ~ 1	—	生成温度,0~1,默认 0.7
chunk_length	integer	否	—	100 ~ 300	—	文本分块长度,范围 100~300,默认 300
opus_bitrate	integer	否	—	-1000 / 24 / 32 / 48 / 64	—	Opus 比特率:-1000 / 24 / 32 / 48 / 64
reference_id	string	否	—	—	—	音色模型ID。单说话人传 string;多说话人模式可传 string[](仅 s2-pro)
max_new_tokens	integer	否	—	—	—	每个分块最多生成音频 token,默认 1024
min_chunk_length	integer	否	—	0 ~ 100	—	最小分块长度,范围 0~100,默认 50
repetition_penalty	number	否	—	—	—	重复惩罚,默认 1.2
early_stop_threshold	number	否	—	0 ~ 1	—	提前停止阈值,范围 0~1,默认 1
condition_on_previous_chunks	boolean	否	—	—	—	是否利用前一段音频作为上下文,默认 true
请求示例
{
    "text": "string",
    "model": "s1",
    "top_p": 1,
    "format": "mp3",
    "latency": "low",
    "prosody": {},
    "normalize": true,
    "mp3_bitrate": "64",
    "sample_rate": 1,
    "temperature": 1,
    "chunk_length": 1,
    "opus_bitrate": "-1000",
    "reference_id": "string",
    "max_new_tokens": 1,
    "min_chunk_length": 1,
    "repetition_penalty": 1,
    "early_stop_threshold": 1,
    "condition_on_previous_chunks": true
}
成功响应
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}
失败响应
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}
错误码
HTTP	code	含义
400	invalid_request	参数缺失或格式错误
401	auth_failed	API Key 缺失或无效
402	insufficient_points	点数余额不足
402	key_quota_exceeded	当前 API Key 点数额度不足
403	permission_denied	当前 API Key 无权调用该模型/应用
404	not_found	模型 / 应用 / 任务不存在
429	queue_limit_exceeded	排队任务已达上限
5xx	server_error	服务异常,请稍后重试
接口 52

语音TTS文字转语音(异步)

POST /api/v1/apps/voice_tts/tts_async
将文本异步合成为语音音频文件(适合长文本),通过回调或轮询获取结果

鉴权
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json
请求路径
POST /api/v1/apps/voice_tts/tts_async
该接口为异步任务,提交后返回 task_id,请通过 GET /api/v1/tasks/{task_id} 查询结果,或在请求中传 callback_url 接收完成回调。

业务参数
参数	类型	必填	默认值	可选值 / 范围	示例	说明
text	string	是	—	—	—	待合成文本,适合长文本(最大约 10000 字符)
model	string	否	—	s1 / s2-pro	—	TTS 模型,可选 s1 / s2-pro,默认 s2-pro
top_p	number	否	—	0 ~ 1	—	Top-P 采样,0~1,默认 0.7
format	string	否	—	wav / pcm / mp3 / opus	—	输出格式:wav / pcm / mp3 / opus,默认 mp3
latency	string	否	—	low / normal / balanced	—	延迟模式:low / normal / balanced
prosody	object	否	—	—	—	语调控制对象:speed、volume、normalize_loudness
normalize	boolean	否	—	—	—	文本规范化,默认 true
mp3_bitrate	integer	否	—	64 / 128 / 192	—	MP3 比特率:64 / 128 / 192
sample_rate	integer	否	—	—	—	采样率按格式限制
temperature	number	否	—	0 ~ 1	—	生成温度,0~1,默认 0.7
callback_url	string	否	—	—	—	回调通知URL;不传则通过任务接口轮询
chunk_length	integer	否	—	100 ~ 300	—	文本分块长度,范围 100~300,默认 300
opus_bitrate	integer	否	—	-1000 / 24 / 32 / 48 / 64	—	Opus 比特率:-1000 / 24 / 32 / 48 / 64
reference_id	string	否	—	—	—	音色模型ID。单说话人传 string;多说话人模式可传 string[](仅 s2-pro)
max_new_tokens	integer	否	—	—	—	每个分块最多生成音频 token,默认 1024
min_chunk_length	integer	否	—	0 ~ 100	—	最小分块长度,范围 0~100,默认 50
repetition_penalty	number	否	—	—	—	重复惩罚,默认 1.2
early_stop_threshold	number	否	—	0 ~ 1	—	提前停止阈值,范围 0~1,默认 1
condition_on_previous_chunks	boolean	否	—	—	—	是否利用前一段音频作为上下文,默认 true
请求示例
{
    "text": "string",
    "model": "s1",
    "top_p": 1,
    "format": "wav",
    "latency": "low",
    "prosody": {},
    "normalize": true,
    "mp3_bitrate": "64",
    "sample_rate": 1,
    "temperature": 1,
    "callback_url": "string",
    "chunk_length": 1,
    "opus_bitrate": "-1000",
    "reference_id": "string",
    "max_new_tokens": 1,
    "min_chunk_length": 1,
    "repetition_penalty": 1,
    "early_stop_threshold": 1,
    "condition_on_previous_chunks": true
}
成功响应
{
    "task_id": "tsk_xxxxxxxxxxxxxxxx",
    "status": "pending",
    "created_at": 1740000000
}
查询任务结果
GET /api/v1/tasks/{task_id}
{
    "task_id": "tsk_xxxxxxxxxxxxxxxx",
    "status": "completed",
    "created_at": 1740000000,
    "completed_at": 1740000060,
    "result": {
        "output": "任务输出内容"
    },
    "usage": {
        "points": 100
    }
}
失败响应
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}
错误码
HTTP	code	含义
400	invalid_request	参数缺失或格式错误
401	auth_failed	API Key 缺失或无效
402	insufficient_points	点数余额不足
402	key_quota_exceeded	当前 API Key 点数额度不足
403	permission_denied	当前 API Key 无权调用该模型/应用
404	not_found	模型 / 应用 / 任务不存在
429	queue_limit_exceeded	排队任务已达上限
5xx	server_error	服务异常,请稍后重试
接口 53

语音TTS语音转文字

POST /api/v1/apps/voice_tts/stt
将语音音频识别转写为文本,支持文件上传或音频URL

鉴权
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json
请求路径
POST /api/v1/apps/voice_tts/stt
业务参数
参数	类型	必填	默认值	可选值 / 范围	示例	说明
language	string	否	—	—	—	识别语言,不传则自动检测
audio_url	string	否	—	—	—	音频文件URL(与文件上传二选一)
ignore_timestamps	boolean	否	—	—	—	是否忽略精确时间戳,默认 true
请求示例
{
    "language": "string",
    "audio_url": "string",
    "ignore_timestamps": true
}
成功响应
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}
失败响应
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}
错误码
HTTP	code	含义
400	invalid_request	参数缺失或格式错误
401	auth_failed	API Key 缺失或无效
402	insufficient_points	点数余额不足
402	key_quota_exceeded	当前 API Key 点数额度不足
403	permission_denied	当前 API Key 无权调用该模型/应用
404	not_found	模型 / 应用 / 任务不存在
429	queue_limit_exceeded	排队任务已达上限
5xx	server_error	服务异常,请稍后重试
接口 54

语音TTS音色列表

GET /api/v1/apps/voice_tts/list_voices
查询当前用户创建的语音音色模型列表

鉴权
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json
请求路径
GET /api/v1/apps/voice_tts/list_voices
业务参数
参数	类型	必填	默认值	可选值 / 范围	示例	说明
tag	string	否	—	—	—	按标签筛选
title	string	否	—	—	—	按音色名称搜索
sort_by	string	否	—	score / task_count / created_at	—	排序:score / task_count / created_at
language	string	否	—	—	—	按语言筛选
page_size	integer	否	—	—	—	每页数量,官方默认 10
page_number	integer	否	—	—	—	页码,默认 1
title_language	string	否	—	—	—	按标题语言筛选
请求示例
{
    "tag": "string",
    "title": "string",
    "sort_by": "score",
    "language": "string",
    "page_size": 20,
    "page_number": 1,
    "title_language": "string"
}
成功响应
{
    "code": 1,
    "msg": "success",
    "data": {
        "_comment": "具体字段以接口实际返回为准"
    }
}
失败响应
{
    "error": {
        "message": "点数余额不足",
        "type": "insufficient_points",
        "code": "insufficient_points"
    }
}
错误码
HTTP	code	含义
400	invalid_request	参数缺失或格式错误
401	auth_failed	API Key 缺失或无效
402	insufficient_points	点数余额不足
402	key_quota_exceeded	当前 API Key 点数额度不足
403	permission_denied	当前 API Key 无权调用该模型/应用
404	not_found	模型 / 应用 / 任务不存在
429	queue_limit_exceeded	排队任务已达上限
5xx	server_error	服务异常,请稍后重试

智能剪辑 - 模板列表