Kickart
Header | 说明 |
Header | 说明 |
Authorization | 认证凭证。格式必须为 Bearer {API_KEY},其中 {API_KEY} 需要替换为您在Kickart平台申请到的真实 API Key。 示例: Bearer 1jkdislxdsldjgeouqllsj8ko8gssccx |
Content-Type | 请求体的内容类型。固定值为 application/json。 |
模板 ID | 模板说明 |
模板 ID | 模板说明 |
如需使用,请联系火山 | 专业模式(2.0、720p) |
如需使用,请联系火山 | 进阶模式(2.0 fast、720p) |
如需使用,请联系火山 | 进阶模式(2.0 mini、720p) |
如需使用,请联系火山 | Seedance2.5(2.5、720p) |
字段名 | 中文 | 类型 | 必填 | 示例 | 描述 |
字段名 | 中文 | 类型 | 必填 | 示例 | 描述 |
template_id | 模板 ID | string | 是 | "208714754" | 固定值 |
payload | 参数 | | 是 | 参考下方示例 | JSON Object,用于传递模板渲染所需的具体参数。其内部结构见下文。 |
callback_url | 回调地址 | string | 否 | 回调任务结果的公网地址, 例如 https://ar.volces.com/callback | 当任务完成(无论成功或失败)时,系统会向此 URL 发送一个 POST 请求,通知您结果。 回调结果 就是 查询的 响应参数 |
watermark | 明水印 | boolean | 否 | true 默认 false | 视频右下角是否添加“AI生成”水印,若需添加则传入true |
private_ips | string[] | 私有版权ID数组 | 否 | [767891111111111, 767892222222222, 767893333333333] 不能超过5个 | 如果传入ips, 会根据该租户的我的版权配置, 匹配相应模型的私有版权进行校验 https://console.volcengine.com/kickart/copyright-space |
无需传入, 会读取 saas 页面中的配置 | 暗水印 | 无需传入 | 否 | 和你的 saas 中配置保持一致 | |
字段名 | 类型 | 必填 | 说明 | 参考说明 |
字段名 | 类型 | 必填 | 说明 | 参考说明 |
ref_video | string | 是 | 参考视频链接
|
|
role_images | list<string> | 否 |
图片格式:JPEG / PNG 单张大小:≤ 8MB 单张分辨率:≥ 480p
|
"https://static.example.com/role/1.jpg", "https://static.example.com/role/2.png", "https://static.example.com/role/3.jpg" ] |
location_images | list <string> | 否 | 模型参考图
图片格式:JPEG / PNG 单张大小:≤ 8MB 单张分辨率:≥ 480p
|
"https://static.example.com/location/1.jpg", "https://static.example.com/location/2.jpg" ] |
language | string | 是 | 视频语言,影响口播、字幕等
|
|
game_name | string | 否 | 游戏名称
| "剑与魔法" |
prompt | string | 否 |
| "把视频中的人物形象换成图像中的形象,场景换成图片中的场景" |
similarity | string | 否 | 控制复刻相似度。默认 medium
|
|
replace_images | list<object> list<string> | 否 仅供 high similarity 使用,如果填入会走高相似度链路 |
图片格式:JPEG / PNG 单张大小:≤ 8MB 单张分辨率:≥ 480p
// 示例输入: { "replace_images": [ { "types":["role", "product"], "url": "https://static.example.com/1.jpg" }, { "types":["role"], "url": "https://static.example.com/2.jpg" }, ] }
// 示例输入 { "replace_images":[ "https://static.example.com/role/1.jpg", "https://static.example.com/role/2.png" ] } |
"https://static.example.com/1.jpg", "https://static.example.com/2.jpg" "https://static.example.com/3.jpg" ] |
bgm_mode | string | 否 |
| "auto" |
bgm_url | string | 仅当 bgm_mode=custom 时必填 | 自定义 BGM 文件 URL。
| |
nle_subtitle_enabled | bool | 否 | 是否在生成视频中添加硬字幕(nle字幕),默认 true true 开启,false 关闭 | true |
use_subtitle_erasure | bool | 否 | 是否在分镜渲染阶段尝试擦除视频底部字幕,默认 false true 开启,false 关闭 | 默认 false |
resolution | string | 否 |
| 720p |
字段名 | 类型 | 描述 |
字段名 | 类型 | 描述 |
code | int32 | 状态码。0 表示任务已成功提交。非 0 值表示提交失败,原因见 message 字段。 |
message | string | 状态描述信息。 |
request_id | string | 本次请求的唯一标识符,可用于问题排查。 |
data | object | 包含任务 ID 的数据对象。其结构为 {"task_id": "..."}。 |
字段名 | 类型 | 必填 | 示例 | 描述 |
字段名 | 类型 | 必填 | 示例 | 描述 |
task_id | string | 是 | "7573967600885514303" | 要查询的任务 ID,来源于“提交异步任务”接口的成功响应。 |
字段名 | 类型 | 描述 |
字段名 | 类型 | 描述 |
code | i32 | 任务状态码。关键值包括:
其他非零值表示任务失败,具体含义请参考“错误码说明”章节。 |
message | string | 任务状态的文本描述。例如 "Success" 或 "AsyncTaskRunning"。 |
request_id | string | 本次请求的唯一标识符。 |
data | queryData | 包含任务详细信息的对象,见下文 QueryData 结构。 |
字段名 | 类型 | 描述 |
字段名 | 类型 | 描述 |
task_id | string | 任务的唯一 ID |
usage | double | 本次任务消耗的创点数量,仅在任务成功时有效 |
payload | payload | 任务详情 |
字段名 | 类型 | 描述 |
字段名 | 类型 | 描述 |
result_url | string | 任务结果地址 |
python | Java | golang |
python | Java | golang |
import requests import json url = "https://Kickart.volces.com/openapi/ai_effect/query" payload = json.dumps({ "task_id": "7641870195945947146" }) headers = { 'Authorization': 'Bearer <API—key>', 'Content-Type': 'application/json' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text) | import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; public class QueryTaskExample { public static void main(String[] args) { try { String url = "https://Kickart.volces.com/openapi/ai_effect/query"; String jsonInputString = "{\n" + " \"task_id\": \"7641870195945947146\"\n" + "}"; URL obj = new URL(url); HttpURLConnection connection = (HttpURLConnection) obj.openConnection(); // 设置请求方式 connection.setRequestMethod("POST"); // 设置请求头 connection.setRequestProperty("Authorization", "Bearer <API-key>"); connection.setRequestProperty("Content-Type", "application/json"); // 允许写入请求体 connection.setDoOutput(true); // 写入请求体 try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes("utf-8"); os.write(input, 0, input.length); } // 获取响应 int responseCode = connection.getResponseCode(); System.out.println("Response Code: " + responseCode); BufferedReader br = new BufferedReader( new InputStreamReader(connection.getInputStream(), "utf-8") ); StringBuilder response = new StringBuilder(); String responseLine; while ((responseLine = br.readLine()) != null) { response.append(responseLine.trim()); } System.out.println("Response Body:"); System.out.println(response.toString()); } catch (Exception e) { e.printStackTrace(); } } } | package main import ( "bytes" "fmt" "io" "net/http" ) func main() { url := "https://Kickart.volces.com/openapi/ai_effect/query" payload := []byte(`{ "task_id": "7641870195945947146" }`) req, err := http.NewRequest("POST", url, bytes.NewBuffer(payload)) if err != nil { panic(err) } // 设置请求头 req.Header.Set("Authorization", "Bearer <API-key>") req.Header.Set("Content-Type", "application/json") // 发起请求 client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() // 读取响应 body, err := io.ReadAll(resp.Body) if err != nil { panic(err) } fmt.Println("Response Status:", resp.Status) fmt.Println("Response Body:", string(body)) } |
字段名 | 类型 | 必填 | 示例 | 描述 |
字段名 | 类型 | 必填 | 示例 | 描述 |
task_id | string | 是 | "7573967600885514303" | 要取消的任务 ID,来源于“提交异步任务”接口的成功响应。 |
字段名 | 类型 | 描述 |
字段名 | 类型 | 描述 |
code | i32 | 任务状态码。关键值包括:
其他非零值表示任务失败,具体含义请参考“错误码说明”章节。 |
message | string | 任务状态的文本描述。例如 "Success"。 |
request_id | string | 本次请求的唯一标识符。 |
Python | Java | Golang |
Python | Java | Golang |
import requests import json url = "https://Kickart.volces.com/openapi/ai_effect/cancel" payload = json.dumps({ "task_id": "7573967600885514303" }) headers = { "Authorization": "Bearer <API-key>", "Content-Type": "application/json" } response = requests.post( url, headers=headers, data=payload ) print("Status Code:", response.status_code) print("Response:", response.text) | import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; public class CancelTaskHttpURLConnection { public static void main(String[] args) { try { String url = "https://Kickart.volces.com/openapi/ai_effect/cancel"; String jsonInputString = "{\n" + " \"task_id\": \"7573967600885514303\"\n" + "}"; URL obj = new URL(url); HttpURLConnection connection = (HttpURLConnection) obj.openConnection(); connection.setRequestMethod("POST"); connection.setRequestProperty( "Authorization", "Bearer <API-key>" ); connection.setRequestProperty( "Content-Type", "application/json" ); connection.setDoOutput(true); try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes("utf-8"); os.write(input, 0, input.length); } int responseCode = connection.getResponseCode(); System.out.println("HTTP Status: " + responseCode); BufferedReader br = new BufferedReader( new InputStreamReader( connection.getInputStream(), "utf-8" ) ); StringBuilder response = new StringBuilder(); String responseLine; while ((responseLine = br.readLine()) != null) { response.append(responseLine.trim()); } System.out.println("Response:"); System.out.println(response.toString()); } catch (Exception e) { e.printStackTrace(); } } } | package main import ( "bytes" "encoding/json" "fmt" "io" "net/http" ) type CancelTaskRequest struct { TaskID string `json:"task_id"` } func main() { url := "https://Kickart.volces.com/openapi/ai_effect/cancel" reqBody := CancelTaskRequest{ TaskID: "7573967600885514303", } jsonData, err := json.Marshal(reqBody) if err != nil { panic(err) } req, err := http.NewRequest( "POST", url, bytes.NewBuffer(jsonData), ) if err != nil { panic(err) } req.Header.Set( "Authorization", "Bearer <API-key>", ) req.Header.Set( "Content-Type", "application/json", ) client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { panic(err) } fmt.Println("Response:") fmt.Println(string(body)) } |
错误码 | 错误类型(标记用, 不会返回) | 描述与处理建议 |
错误码 | 错误类型(标记用, 不会返回) | 描述与处理建议 |
1300 | AuthFailed | 认证失败:API Key 无效、过期或未激活。请检查您的 API Key 是否正确,或在火山引擎控制台确认其状态。 |
1400 | ParamErr | 参数错误:请求中包含无效或缺失的参数。请对照文档检查请求体结构、字段类型和必填项。 |
1401 | ConcurrentErr | 并发超限:您当前的并发请求数超过了约定的上限。请降低请求频率,或联系商务代表调整并发额度。 |
1403 | QuotaErr | 无权限:您的账户没有调用此接口的权限。请联系企业管理员为您开通相关服务的访问权限。 |
1402 | InsufficientPoints | 创点不足:账户余额不足以支付本次任务消耗。请及时充值。 |
1418 | InvalidDurationBillingErr | 无效时长参数:入参时长参数不满足接口入参要求 |
1423 | VideoResolutionError | 参考视频分辨率错误 |
1424 | VideoDurationError | 参考视频时长错误 |
1425 | VideoFormatError | 参考视频格式错误 |
1426 | VideoSizeError | 参考视频大小错误 |
1427 | RefVideoError | 参考视频链接错误 |
1500 | InternalErr | 内部错误:服务端发生未知错误。请记录 request_id 并联系技术支持。 |
错误码 | 错误类型(标记用, 不会返回) | 描述与处理建议 |
错误码 | 错误类型(标记用, 不会返回) | 描述与处理建议 |
0 | Success | 任务成功:任务处理完成,结果已生成。 |
1000 | AsyncTaskRunning | 任务运行中:任务正在处理,请稍后通过 AITemplateAsyncTaskQuery 接口轮询结果。 |
1410 | TemplateIdNotExist | 模板不存在:请求的 template_id 无效或对应的模板未上线。请通过 ListTemplateInfo 接口获取可用的模板列表。 |
1411 | InputResolutionErr | 分辨率错误:请求的 Resolution 不在模板支持的 resolutions 列表内。 |
1412 | ImageFormatErr | 图片格式错误:输入的图片格式不受支持或文件已损坏。建议使用常见的 JPEG 或 PNG 格式。 |
1413 | InvalidMediaUrlErr | 媒体 URL 无效:ResourceList 中的 URL 无法访问。请确保 URL 是公网可达的,且未过期。 推荐接入火山的对象存储 https://console.volcengine.com/tos, 替换原有的TOS服务, 可提高大模型审核和生成的图片拉取成功率 |
1414 | MediaSensitiveErr | 内容安全问题:输入内容触发了平台的安全审核策略,请更换内容后重试。 |
1415 | OutputMediaSensitiveErr | 输出包含敏感信息错误:输出内容触发了平台的安全审核策略,请更换内容后重试。 |
1416 | InvalidMediaCountErr | 错误的媒体数量:输入的媒体数量超出限制,请更换内容后重试。 |
1417 | ChatCompletionError | 大模型调用错误:大模型调用失败,请稍后重试。 |
1418 | InvalidDurationBillingErr | 时长计费参数错误:时长计费参数缺失,请检查参数后重试。 |
1419 | TemplateIdErr | 模板ID错误:模板ID输入错误,请检查参数后重试。 |
1420 | ImageDetectionRulesError | 图片内容检测未匹配到规则错误:图片内容不符合规则,请更换内容后重试。 |
1421 | DurationEnumError | 入参时长枚举值错误:时长参数不符合要求,请检查参数后重试。 |
1422 | GetDouDianProductInfoError | 抖店商品信息获取失败错误:商品信息获取失败,请稍后重试或更换商品信息后重试。 |
1423 | VideoResolutionError | 参考视频分辨率错误:参考视频分辨率校验失败,请更换内容后重试。 |
1424 | VideoDurationError | 参考视频时长错误:参考视频时长校验失败,请更换内容后重试。 |
1425 | VideoFormatError | 参考视频格式错误:参考视频格式校验失败,请更换内容后重试。 |
1426 | VideoSizeError | 参考视频大小错误:参考视频内容大小校验失败,请更换内容后重试。 |
1427 | RefVideoError | 参考视频链接错误:参考视频链接校验失败,请更换内容后重试。 |
1428 | LanguageEnumError | 语言枚举值错误:语言输入参数错误,请检查参数后重试。 |
1429 | ModelImageCountError | 模型ImageCount错误,与模板配置不一致:输入图片数量不符合模板要求,请更换内容后重试。 |
1430 | InputRatioError | 输入图片比例错误:输入图片比例不符合模板要求,请更换内容后重试。 |
1431 | CopyrightCheckFailed | 版权校验失败:版权校验失败,请更换内容后重试。 |
1432 | NoCopyright | 输入媒资无版权:版权校验失败,请更换内容后重试。 |
1433 | CopyrightCheckTimeout | 版权校验超时:版权校验超时,请稍后重试。 |
1434 | CopyrightMediaParamErr | 版权校验媒资参数错误:版权校验失败,请更换内容后重试。 |
1435 | OutputNoCopyright | 输出媒资无版权:版权校验失败,请更换内容后重试。 |
1436 | InputCopyrightChecking | 输入版权校验中:任务查询正常状态,可继续轮询查询。 |
1437 | OutputCopyrightChecking | 输出版权校验中:任务查询正常状态,可继续轮询查询。 |
1438 | InputCopyrightCheckFailed | 输入版权校验失败:任务查询失败状态,可停止轮询。 |
1439 | OutputCopyrightCheckFailed | 输出版权校验失败:任务查询失败状态,可停止轮询。 |
1441 | PrivateCopyrightQueryFail | 私有版权查询失败:私有版权查询失败,请检查版权IP信息后重试。 |
1442 | PrivateCopyrightExceed | 私有版权超过5个:私有版权数量超出限制,请检查版权IP信息后重试。 |
1443 | PrivateCopyrightNotFound | 未找到对应模型的私有版权:服务模型未配置私有版权,请联系管理员确认。 |
1450 | InputValidationErr | 模板入参校验失败:
{ "code": 1450, "message": "模板入参校验失败: input_schema 校验失败: 字段 /language: value must be one of \"zh\", \"en\"; 字段 /product_name: length must be >= 1, but got 0", } |
1600 | AsyncTaskNotExist | 任务不存在:查询的 task_id 无效。请检查 task_id 是否为 AITemplateAsyncTaskSubmit 接口成功返回的值。 |
1601 | AsyncTaskTimeoutErr | 任务超时:任务执行超过了系统设定的最长处理时间(当前为 1 小时)。 |
2000 | AsyncTaskFailed | 任务失败:任务在执行过程中发生未能归类的失败。 |
3000 | TaskCallbackFailed | 回调失败:向您配置的回调地址发送结果时失败。 |
5000 | RiverWorkflowFailed | 工作流失败:底层 AI 工作流执行失败,通常为更具体的错误(如 1412-1414)的兜底。 |