查询审核拦截原因
curl --request GET \
--url https://api.gravitex.ai/v1/video/generations/moderation-result/{task_id} \
--header 'Authorization: <authorization>'import requests
url = "https://api.gravitex.ai/v1/video/generations/moderation-result/{task_id}"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.gravitex.ai/v1/video/generations/moderation-result/{task_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gravitex.ai/v1/video/generations/moderation-result/{task_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gravitex.ai/v1/video/generations/moderation-result/{task_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.gravitex.ai/v1/video/generations/moderation-result/{task_id}")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gravitex.ai/v1/video/generations/moderation-result/{task_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_bodySeedance 2.0(/generations)
查询审核拦截原因
Seedance 2.0 GET /v1/video/generations/moderation-result/
GET
/
v1
/
video
/
generations
/
moderation-result
/
{task_id}
查询审核拦截原因
curl --request GET \
--url https://api.gravitex.ai/v1/video/generations/moderation-result/{task_id} \
--header 'Authorization: <authorization>'import requests
url = "https://api.gravitex.ai/v1/video/generations/moderation-result/{task_id}"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.gravitex.ai/v1/video/generations/moderation-result/{task_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gravitex.ai/v1/video/generations/moderation-result/{task_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gravitex.ai/v1/video/generations/moderation-result/{task_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.gravitex.ai/v1/video/generations/moderation-result/{task_id}")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gravitex.ai/v1/video/generations/moderation-result/{task_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body简介
当 Seedance 2.0 任务因内容安全 / 版权 / 公众人物 / 真人脸等策略failed 时,GET /v1/video/generations/{task_id} 的错误信息较笼统,可调用本接口查询上游具体拦截分类。
本接口默认关闭——需 BytePlus 白名单授权。请联系火山方舟商务申请,并由平台管理员在渠道「BytePlus 素材库配置」中启用「审核拦截原因查询」。未开通返回
403 channel_not_whitelisted。认证
string
必填
Bearer Token,如
Bearer sk-xxxxxxxxxx路径参数
string
必填
失败任务的
task_id(仅 seedance-2-0 / seedance-2-0-fast)限制
| 限制 | 说明 |
|---|---|
| 模型 | 仅 seedance-2-0 系列失败任务 |
| 时间窗口 | 创建后 14 天内;超时 400 query_window_expired |
| 任务状态 | 仅 failed 有意义;其他状态 400 invalid_task_status |
| 归属 | 仅能查本 token 创建的任务 |
| 频率 | 每渠道 10 QPM;超限 429 rate_limited |
| 缓存 | 首次查询成功后持久化,重复查询带 "cached": true,不消耗 QPM |
请求示例
curl "https://api.gravitex.ai/v1/video/generations/moderation-result/cgt-20260430135030-xxxxx" \
-H "Authorization: Bearer sk-xxxxxxxxxx"
响应示例
{
"task_id": "cgt-20260430135030-xxxxx",
"block_reasons": [
{
"label": "Celebrity",
"sub_label": "Celebrity",
"detail": "Potentially contains Public Figures."
},
{
"label": "Copyright",
"sub_label": "IP",
"detail": "Potential copyright restriction. Potentially related content: Spider-Man: Homecoming-Peter Parker"
}
],
"cached": false,
"queried_at": 1715140800
}
block_reasons 字段
| 字段 | 说明 |
|---|---|
label | 大类:Safety / Copyright / Celebrity / Deepfake |
sub_label | 子类:Safety;Copyright 下 IP / Other;Celebrity;Deepfake 下 RealHuman |
detail | 自然语言描述,可能含具体 IP 或公众人物名称 |
常见错误
| HTTP | error.type | 含义 |
|---|---|---|
400 | invalid_request | 缺少 task_id |
400 | invalid_task_status | 任务不是 failed,无拦截原因可查 |
400 | unsupported_model | 任务不属于 seedance-2-0 系列 |
400 | query_window_expired | 任务已超出 14 天可查询窗口 |
403 | channel_not_whitelisted | 渠道未开启审核拦截原因查询 |
404 | not_found | 任务不存在,或上游 NotFound.Id(未被审核拦截 / ID 无效 / 渠道未真正进入白名单) |
429 | rate_limited | 当前渠道 10 QPM 限流,请稍后重试 |
502 | upstream_error | 上游非 404 错误,详见 error.message |
{
"error": {
"message": "moderation query is not enabled on this channel; please contact admin to apply for BytePlus whitelist activation",
"type": "channel_not_whitelisted"
}
}
若block_reasons为空数组,表示任务失败但未被审核策略拦截(可能是其他原因导致failed)。
⌘I
