爱诗AI视频接口接入说明

文生视频、图生视频、模板视频、重绘与音效

1. 概述

爱诗视频生成采用异步任务模式:先创建任务获得 TaskId,再调用对应查询接口获取状态和视频地址。

  • baseUrl:https://token.soar.qjclouds.cn/laserEr/00000000/v1
  • completionsPath:/video/generations/{apiType}
  • 标准地址:POST {baseUrl}{completionsPath}
  • 创建任务:POST {baseUrl}/video/generations/{apiType}
  • 查询任务:POST {baseUrl}/video/resource-actions/{apiType}
  • 示例模型:v6

2. 接入前置条件

调用前仅需获取 api_key:

信息 说明
api_key 访问密钥(控制台生成),用于 Bearer 鉴权。

3. 鉴权

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

4. 视频生成

  • 创建任务:POST {baseUrl}/video/generations/{apiType}

4.1 {apiType} 枚举说明

{apiType} 区分大小写,且必须与访问的接口路径匹配。

apiType 说明 关键字段
TextToVideo 文本生成视频 prompt
ImageToVideo 图片生成视频(仅支持单图) fileUrl
ImageToTemplate 图片生成模板视频 fileUrl 或 fileUrls、templateId、duration、quality
RestyleVideo 重绘视频 restyleId,以及 sourceVideoId 或 fileUrl
SoundEffectVideo 为已有视频生成音效 sourceVideoId 或 fileUrl

4.2 文生视频

  • 文生视频创建任务:POST {baseUrl}/video/generations/{apiType}
  • apiType:TextToVideo
  • 示例模型:v6

请求地址:https://token.soar.qjclouds.cn/laserEr/00000000/v1/video/generations/TextToVideo

请求参数:

参数 类型 是否必填 说明
model string 是 模型名称:c1、v6、v5.6、v5。新接入优先使用 c1 或 v6。
prompt string 是 提示词,最长 5000 characters(约等于 5000 个字母/汉字)。
duration integer 是 视频时长:c1 / v6 支持 1~15 秒;v5.6 支持 5 / 8 / 10 秒;v5 支持 5 / 8 秒。
quality string 是 分辨率:360p、540p、720p、1080p。
aspect_ratio string 是 画幅比例。c1 / v6 支持 16:9、9:16、4:3、3:4、1:1、2:3、3:2、21:9;v5.6 / v5 支持 16:9、9:16、4:3、3:4、1:1。
seed integer 否 随机种子,范围 0–2147483647。
generate_audio_switch boolean 否 是否生成音频;c1、v6、v5.6 支持,v5 使用旧版音效字段。
generate_multi_clip_switch boolean 否 是否生成多镜头;v6 支持开关,c1 可通过提示词分镜,v5.6 / v5 不支持。
sound_effect_switch boolean 否 旧版音效开关,默认 false。新接入建议使用 generate_audio_switch 或独立的“音效生成 Sound Effect”接口。
sound_effect_content string 否 音效描述;为空时可根据视频内容生成。
lip_sync_switch boolean 否 是否启用对口型;v5 旧版字段。新接入建议使用独立“对口型 Lipsync”接口。
lip_sync_tts_content string 否 TTS 文本,约 140 characters;v5 旧版字段。
lip_sync_tts_speaker_id string 否 TTS 音色 ID,需通过音色接口获取;v5 旧版字段。

请求示例:

JSON
{
  "model": "v6",
  "prompt": "一只橘猫在雨后的城市街道上漫步,电影感,镜头缓慢推进",
  "duration": 5,
  "quality": "720p",
  "aspectRatio": "16:9"
}

响应示例:

JSON
{
  "ErrCode": 0,
  "ErrMsg": "success",
  "Resp": {
    "video_id": 423222221262281,
    "credits": 45
  }
}

4.3 图生视频:单图

  • 图生视频创建任务:POST {baseUrl}/video/generations/{apiType}
  • apiType:ImageToVideo
  • 示例模型:v6

请求地址:https://token.soar.qjclouds.cn/laserEr/00000000/v1/video/generations/ImageToVideo

仅支持一张输入图片,使用 fileUrl。图片可使用可访问的 url,或使用本地文件的 Base64 Data URL(urlData)。下游接口仅接收单个 img_id;传入 fileUrls 会被拒绝。多图请使用 ImageToTemplate 并选择匹配图片数量的模板。

图片处理:系统会自动将 fileUrl 指定的图片上传至爱诗,并转换为爱诗接口所需的 img_id,调用方无需自行上传或传入 img_id。

请求参数:

参数 类型 是否必填 说明
model string 是 模型名称:c1、v6、v5.6、v5。新接入优先使用 c1 或 v6。
fileUrl object 是 输入图片。使用 url 传入可公开访问的图片地址,或使用 urlData 传入 Base64 Data URL。系统会自动上传并转换为 img_id。
prompt string 是 正向提示词,最长 5000 characters(不分中英文)。
duration integer 是 视频时长:c1 / v6 支持 1~15 秒;v5.6 支持 5 / 8 / 10 秒;v5 支持 5 / 8 秒。
quality string 是 分辨率:360p、540p、720p、1080p。
seed integer 否 随机种子。
templateId integer 否 模板 ID,具体 ID 请通过模板列表获取。
generateAudioSwitch boolean 否 是否生成音效,默认开启。true 表示开启,false 表示关闭;v5.5、v5.6、v6、c1 支持。
generateMultiClipSwitch boolean 否 是否生成多镜头,默认关闭。v6 支持;true 表示多镜头,false 表示单镜头。
soundEffectSwitch boolean 否 旧版音效字段,v5 或使用 templateId 时支持。新接入建议使用独立的“音效生成 Sound Effect”接口。
soundEffectContent string 否 音效描述;为空时可根据视频内容生成。
lipSyncSwitch boolean 否 是否启用对口型,v5 旧版字段。新接入建议使用独立“对口型 Lipsync”接口。
lipSyncTtsContent string 否 TTS 文本,约 140 characters;v5 旧版字段。
lipSyncTtsSpeakerId string 否 TTS 音色 ID,需通过音色接口获取;v5 旧版字段。

请求示例:

JSON
{
  "model": "v6",
  "fileUrl": { "url": "https://picx.zhimg.com/v2-61199a637e46de853d7ddb802194e41f_1440w.jpg" },
  "prompt": "镜头轻微推进",
  "duration": 5,
  "quality": "720p"
}

响应示例:

JSON
{
  "ErrCode": 0,
  "ErrMsg": "success",
  "Resp": {
    "video_id": 423225420750311,
    "credits": 45
  }
}

单图本地 Base64 示例:

JSON
{
  "model": "v6",
  "fileUrl": { "urlData": "data:image/jpeg;base64,<本地图片Base64内容>", "fileName": "source.jpg", "contentType": "image/jpeg" },
  "prompt": "人物自然微笑,镜头轻微推进",
  "duration": 5,
  "quality": "720p"
}

4.4 图片模板视频:单图或多图

  • 模板视频创建任务:POST {baseUrl}/video/generations/{apiType}
  • apiType:ImageToTemplate
  • 示例模型:v6

请求地址:https://token.soar.qjclouds.cn/laserEr/00000000/v1/video/generations/ImageToTemplate

ImageToTemplate 同样支持一张或多张输入图片。单图使用 fileUrl,多图使用 fileUrls;两者二选一。应选择支持对应图片数量的模板 ID。每张图片均可使用 url 或本地 Base64 Data URL(urlData)。prompt 必传,允许为空字符串。

图片处理:系统会自动将 fileUrl 或 fileUrls 指定的图片上传至爱诗,并转换为模板接口所需的 img_id 或 img_ids,调用方无需自行上传。

请求参数:

参数 类型 是否必填 说明
templateId integer 是 模板 ID,具体内容请通过模板列表获取。
duration integer 是 传 5 即可;实际时长按模板生成,模板固定时长时忽略该字段。
model string 是 模型名称:c1、v6、v5.6、v5。模板效果主要由 templateId 决定,传任一模型均可。
fileUrl object 单图模板必填 单图模板使用。系统自动上传图片并转换为爱诗所需的 img_id。
fileUrls array<object> 多图模板必填 多图模板使用。系统自动上传图片并转换为爱诗所需的 img_ids。与 fileUrl 二选一。
soundEffectSwitch boolean 否 是否添加背景音乐;传 true 开启,默认 false。
quality string 是 视频分辨率,如 720p。
prompt string 是 提示词,允许传空字符串。

请求示例:

JSON
{
  "model": "v6",
  "fileUrl": { "url": "https://picx.zhimg.com/v2-61199a637e46de853d7ddb802194e41f_1440w.jpg" },
  "templateId": 402364107875392,
  "prompt": "",
  "duration": 5,
  "quality": "720p"
}

响应示例:

JSON
{
  "ErrCode": 0,
  "ErrMsg": "success",
  "Resp": {
    "video_id": 423226561471778,
    "credits": 70
  }
}

单图本地 Base64 示例:

JSON
{
  "model": "<视频模型编码>",
  "fileUrl": { "urlData": "data:image/jpeg;base64,<本地图片Base64内容>", "fileName": "source.jpg", "contentType": "image/jpeg" },
  "templateId": 402364107875392,
  "prompt": "",
  "duration": 5,
  "quality": "720p"
}

多图 URL 示例:

JSON
{
  "model": "<视频模型编码>",
  "fileUrls": [
    { "url": "https://example.com/source-1.jpg" },
    { "url": "https://example.com/source-2.jpg" }
  ],
  "templateId": 402364107875392,
  "prompt": "",
  "duration": 5,
  "quality": "720p"
}

多图本地 Base64 示例:

JSON
{
  "model": "<视频模型编码>",
  "fileUrls": [
    { "urlData": "data:image/jpeg;base64,<第1张本地图片Base64内容>", "fileName": "source-1.jpg", "contentType": "image/jpeg" },
    { "urlData": "data:image/jpeg;base64,<第2张本地图片Base64内容>", "fileName": "source-2.jpg", "contentType": "image/jpeg" }
  ],
  "templateId": 402364107875392,
  "prompt": "",
  "duration": 5,
  "quality": "720p"
}

4.5 视频重绘

  • 视频重绘创建任务:POST {baseUrl}/video/generations/{apiType}
  • apiType:RestyleVideo
  • 示例模型:v6

请求地址:https://token.soar.qjclouds.cn/laserEr/00000000/v1/video/generations/RestyleVideo

请求参数:

参数类型是否必填说明
modelstring是视频模型名称,如 v6。
sourceVideoIdinteger条件必填爱诗已生成视频的 ID。与 fileUrl 二选一。
fileUrlobject条件必填待上传的视频文件。与 sourceVideoId 二选一;系统会自动上传视频并转换为爱诗所需的 video_media_id。
restyleIdinteger条件必填预设效果 ID。与 restylePrompt 二选一。
restylePromptstring条件必填自定义风格描述。与 restyleId 二选一。
seedinteger否随机种子;省略时由服务端选择。
webhookIdstring否Webhook 配置 ID,填写后可通过回调接收任务结果。

请求示例:

JSON
{
  "model": "v6",
  "fileUrl": {
    "url": "https://gossv-vcg.cfp.cn/videos/mts_videos/medium/temp/VCG42N92894064.mp4"
  },
  "restyleId": 322672481023040,
  "seed": 0
}

响应示例:

JSON
{
  "ErrCode": 0,
  "ErrMsg": "success",
  "Resp": {
    "video_id": 423226561471778,
    "credits": 70
  }
}

4.6 音效生成

  • 音效生成创建任务:POST {baseUrl}/video/generations/{apiType}
  • apiType:SoundEffectVideo
  • 示例模型:v6

请求地址:https://token.soar.qjclouds.cn/laserEr/00000000/v1/video/generations/SoundEffectVideo

请求参数:

参数类型是否必填说明
modelstring是视频模型名称,如 v6。
sourceVideoIdinteger条件必填爱诗生成的视频 ID。与 fileUrl 二选一。
fileUrlobject条件必填待上传的视频文件。与 sourceVideoId 二选一;系统会自动上传并转换为爱诗所需的 video_media_id。
originalSoundSwitchboolean否是否保留原声,默认 false。false 不保留原视频音轨,true 同时保留原声和新生成音效。
soundEffectContentstring否音效描述;为空时可根据视频内容生成。省略和传空字符串含义相同,最长 2048 个 Unicode 字符;模板场景优先使用模板音乐。

请求示例:

JSON
{
  "model": "v6",
  "sourceVideoId": 418223104706445,
  "originalSoundSwitch": false,
  "soundEffectContent": "雨声、城市环境音、轻柔的电影感背景音乐"
}

响应示例:

JSON
{
  "ErrCode": 0,
  "ErrMsg": "success",
  "Resp": {
    "video_id": 423226561471778,
    "credits": 70
  }
}

5. 素材字段

fileUrl 表示一个素材对象;fileUrls 表示多个图片素材对象的非空数组。fileUrls 仅用于 ImageToTemplate 多图模板;单图 ImageToVideo、单图模板、重绘和音效均使用 fileUrl。对于支持 fileUrls 的多图模板,fileUrl 与 fileUrls 二选一,不能同时传入。

JSON
{ "fileUrl": { "url": "https://example.com/file.jpg" } }
JSON
{ "fileUrl": { "urlData": "data:image/jpeg;base64,<本地文件Base64内容>", "fileName": "file.jpg", "contentType": "image/jpeg" } }

每个素材对象的 url 与 urlData 至少提供一个;同时提供时优先使用 urlData。图片常用 JPG、JPEG、PNG、WEBP,视频建议使用 MP4。

6. 视频资源查询

  • 视频资源查询:POST {baseUrl}/video/resource-actions/{apiType}

6.1 {apiType} 枚举说明

{apiType} 区分大小写,且必须与访问的接口路径匹配。

apiType 请求体示例
QueryVideo { "model": "<视频模型编码>", "videoId": 417856038646169 }
QueryVideoTemplates { "model": "<视频模型编码>", "type": 2, "page": 1, "pageSize": 20 }
QueryRestyleEffects { "model": "<视频模型编码>" }

6.2 视频任务查询

apiType:QueryVideo

请求地址:https://token.soar.qjclouds.cn/laserEr/00000000/v1/video/resource-actions/QueryVideo

请求参数:

参数类型是否必填说明
modelstring是视频模型名称,如 v6。
videoIdinteger是待查询的视频任务 ID。

请求示例:

JSON
{
  "model": "v6",
  "videoId": 421073709164061
}

响应示例:

JSON
{
  "ErrCode": 0,
  "ErrMsg": "Success",
  "Resp": {
    "id": 421073709164061,
    "prompt": "一只橘猫在雨后的城市街道上漫步",
    "negative_prompt": "",
    "resolution_ratio": 0,
    "url": "https://media.pixverse.ai/pixverse%2Fmp4%2Fmedia%2Fweb%2Fori%2F23d5d692-3ecf-4a87-a506-b4afbd955100_seed31983217.mp4",
    "path": "pixverse/mp4/media/web/ori/23d5d692-3ecf-4a87-a506-b4afbd955100_seed31983217.mp4",
    "size": 5,
    "seed": 31983217,
    "status": 1,
    "style": "",
    "create_time": "2026-08-26T06:12:31Z",
    "modify_time": "2026-08-26T06:13:14Z",
    "outputWidth": 1280,
    "outputHeight": 720,
    "quality": "720p",
    "duration": 5,
    "aspect_ratio": "16:9",
    "has_audio": false,
    "credits": 45,
    "customer_paths": {
      "ext_info": null,
      "agent_info": null,
      "cameo_id_list": null,
      "duration_type": "",
      "thinking_type": "auto",
      "caption_switch": false,
      "fusion_id_list": null,
      "model_evaluator": "",
      "use_api_gen_image": false
    }
  }
}

6.3 模板视频查询

apiType:QueryVideoTemplates

请求地址:https://token.soar.qjclouds.cn/laserEr/00000000/v1/video/resource-actions/QueryVideoTemplates

请求参数:

参数类型是否必填说明
modelstring是视频模型名称,如 v6。
typestring是模板类型,如 2。
pagestring是当前页码,从 1 开始。
pageSizestring是每页数量,如 20。

请求示例:

JSON
{
  "model": "v6",
  "type": "2",
  "page": "1",
  "pageSize": "20"
}

响应示例:

JSON
{
    "ErrCode": 0,
    "ErrMsg": "Success",
    "Resp": {
        "effect_items": [
            {
                "template_id": 421447515788224,
                "display_name": "your winter snowy vibe",
                "display_prompt": "Upload your selfie, experience your winter snowy  vibe",
                "thumbnail_video_url": "https://media.pixverse.ai/asset%2Ftemplate%2F%E5%9B%BE%E7%89%87%206.png",
                "qualities": [
                    "360p",
                    "540p",
                    "720p",
                    "1080p"
                ],
                "effect_type": "1",
                "effect_length": [
                    1
                ],
                "topic_requirements": "Subject type:People/nOptimal number of subjects: 1",
                "type": 2,
                "create_at": "2026-09-01 10:20:34",
                "credit_consume": [
                    {
                        "consume_desc_key": "360p",
                        "credit": "80"
                    },
                    {
                        "consume_desc_key": "540p",
                        "credit": "90"
                    },
                    {
                        "consume_desc_key": "720p",
                        "credit": "100"
                    },
                    {
                        "consume_desc_key": "1080p",
                        "credit": "140"
                    }
                ]
            },
            {
                "template_id": 409945013615488,
                "display_name": "Coastal Morning Shoot",
                "display_prompt": "Vitality | Sea | Morning | Music",
                "thumbnail_video_url": "https://media.pixverse.ai/asset%2Ftemplate%2Fvitality.mp4",
                "qualities": [
                    "360p",
                    "540p",
                    "720p",
                    "1080p"
                ],
                "effect_type": "1",
                "effect_length": [
                    1
                ],
                "topic_requirements": "Subject type: Person/nOptimal number of subjects: 1",
                "type": 2,
                "create_at": "2026-06-29 07:18:27",
                "credit_consume": [
                    {
                        "consume_desc_key": "360p",
                        "credit": "110"
                    },
                    {
                        "consume_desc_key": "540p",
                        "credit": "120"
                    },
                    {
                        "consume_desc_key": "720p",
                        "credit": "130"
                    },
                    {
                        "consume_desc_key": "1080p",
                        "credit": "170"
                    }
                ]
            }
        ]
    }
}

6.4 重绘视频查询

apiType:QueryRestyleEffects

请求地址:https://token.soar.qjclouds.cn/laserEr/00000000/v1/video/resource-actions/QueryRestyleEffects

请求参数:

参数类型是否必填说明
modelstring是视频模型名称,如 v6。

请求示例:

JSON
{
  "model": "v6"
}

响应示例:

JSON
{
  "ErrCode": 0,
  "ErrMsg": "Success",
  "Resp": {
    "total": 8,
    "data": [
      {
        "restyle_id": 322672481023040,
        "name": "Felted Art",
        "thumbnail": "https://media.pixverse.ai/asset%2Ftemplate%2Ffelted_2.png"
      },
      {
        "restyle_id": 322672400604224,
        "name": "Origami",
        "thumbnail": "https://media.pixverse.ai/asset%2Ftemplate%2Forigami_250217.png"
      },
      {
        "restyle_id": 322671914669120,
        "name": "Ukiyo-e",
        "thumbnail": "https://media.pixverse.ai/asset%2Ftemplate%2Fukiyo_e_1.png"
      },
      {
        "restyle_id": 322671808648256,
        "name": "Cyberpunk",
        "thumbnail": "https://media.pixverse.ai/asset%2Ftemplate%2Fcyberpunk_1.png"
      },
      {
        "restyle_id": 322671712341056,
        "name": "Clay",
        "thumbnail": "https://media.pixverse.ai/asset%2Ftemplate%2Fclay_1.png"
      },
      {
        "restyle_id": 322004588858240,
        "name": "Baroque",
        "thumbnail": "https://media.pixverse.ai/asset%2Ftemplate%2Fbaroque_1.png"
      },
      {
        "restyle_id": 322004186061696,
        "name": "Van Gogh",
        "thumbnail": "https://media.pixverse.ai/asset%2Ftemplate%2Fvangogh_1.png"
      },
      {
        "restyle_id": 322670291158080,
        "name": "Animal World",
        "thumbnail": "https://media.pixverse.ai/asset%2Ftemplate%2Fanimal_1.png"
      }
    ]
  }
}

厂商成功响应的 Resp 中包含视频状态:5 为生成中、1 为成功、7 为审核未通过、8 为生成失败。建议每 3~5 秒轮询;仅在 Resp.status=1 且 Resp.url 非空时使用最终视频。

7. 响应要点

响应 JSON 包含 ErrCode、ErrMsg 和 Resp 等字段。

7.1 响应示例

JSON
{
  "ErrCode": 0,
  "ErrMsg": "Success",
  "Resp": {
    "video_id": 418466475962018,
    "credits": 45
  }
}

解析与处理规则

  1. 直接解析 HTTP 响应 JSON,先检查 ErrCode 是否为 0;非 0 时使用 ErrMsg 提示失败原因。
  2. 生成接口读取 Resp.video_id 作为视频任务 ID;Resp.credits 为厂商原始返回的额度字段。
  3. QueryVideo 读取 Resp.status:5 继续轮询,1 且 Resp.url 非空时可使用视频,7 为审核未通过,8 为生成失败。
  4. QueryVideoTemplates 从 Resp.effect_items[].template_id 取模板 ID;QueryRestyleEffects 的 Resp 为效果数组,直接遍历读取效果 ID。