任务
查询任务
按批次任务 ID 或视频子项 UUID 返回任务状态和输出。id 与 uuid 必须且只能传入一个。
GET
/
openapi
/
v1
/
tasks
/
task-info
curl --request GET \
--url 'https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d' \
--header 'Authorization: Bearer <token>'
import requests
response = requests.request(
"GET",
"https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d",
headers={
"Authorization": "Bearer <token>",
},
)
print(response.json())
const response = await fetch("https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d", {
method: "GET",
headers: {
"Authorization": "Bearer <token>"
},
});
const data = await response.json();
console.log(data);
const response: Response = await fetch("https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d", {
method: "GET",
headers: {
"Authorization": "Bearer <token>"
},
});
const data = await response.json();
console.log(data);
import java.net.URI;
import java.net.http.*;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d"))
.header("Authorization", "Bearer <token>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
payload := nil
req, _ := http.NewRequest("GET", "https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d", payload)
req.Header.Set("Authorization", "Bearer <token>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
bodyBytes, _ := io.ReadAll(resp.Body)
fmt.Println(string(bodyBytes))
require "net/http"
require "json"
uri = URI("https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer <token>"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
puts response.body
<?php
$ch = curl_init("https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer <token>"],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
using System.Net.Http;
using System.Text;
using var client = new HttpClient();
using var request = new HttpRequestMessage(HttpMethod.Get, "https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d");
request.Headers.TryAddWithoutValidation("Authorization", "Bearer <token>");
using var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
{
"id": "normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d",
"status": "succeeded",
"mode": "first_frame_image_to_video",
"model": "bytedance/seedance-2.0-fast",
"created_at": 1784044800,
"updated_at": 1784044842,
"usage": {
"credits": 26
},
"output": {
"videos": [
{
"uuid": "7d1fa4bb-41e6-4a5d-88d8-1851f5342e87",
"url": "https://cdn.neural4d.com/results/video.mp4",
"format": "mp4",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"has_audio": true,
"mode": "first_frame_image_to_video",
"status": "succeeded",
"created_at": 1784044800,
"updated_at": 1784044842
}
]
}
}
{
"error": {
"code": "invalid_prompt",
"message": "prompt is required and must be a non-empty string"
}
}
{
"error": {
"code": "unsupported_model",
"message": "Unsupported modelKey: missing-model"
}
}
{
"error": {
"code": "model_unavailable",
"message": "Model is unavailable: veo-3.1"
}
}
{
"error": {
"code": "invalid_api_key",
"message": "The API key is invalid or expired"
}
}
{
"error": {
"code": "insufficient_credits",
"message": "Insufficient credits for video generation"
}
}
{
"error": {
"code": "task_not_found",
"message": "The requested task does not exist"
}
}
{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests. Retry after the indicated interval."
}
}
{
"error": {
"code": "internal_error",
"message": "An internal error occurred"
}
}
授权
string
默认值:"Bearer ${YOUR_API_KEY}"
必填
使用 Bearer 方式发送的 Neural4D API 密钥。
查询参数
string
生成请求返回的批次任务 ID。与 uuid 二选一,不能同时传入。示例:
"normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d"。string<uuid>
生成响应返回的视频子项 UUID。与 id 二选一,不能同时传入。示例:
"7d1fa4bb-41e6-4a5d-88d8-1851f5342e87"。curl --request GET \
--url 'https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d' \
--header 'Authorization: Bearer <token>'
import requests
response = requests.request(
"GET",
"https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d",
headers={
"Authorization": "Bearer <token>",
},
)
print(response.json())
const response = await fetch("https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d", {
method: "GET",
headers: {
"Authorization": "Bearer <token>"
},
});
const data = await response.json();
console.log(data);
const response: Response = await fetch("https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d", {
method: "GET",
headers: {
"Authorization": "Bearer <token>"
},
});
const data = await response.json();
console.log(data);
import java.net.URI;
import java.net.http.*;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d"))
.header("Authorization", "Bearer <token>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
payload := nil
req, _ := http.NewRequest("GET", "https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d", payload)
req.Header.Set("Authorization", "Bearer <token>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
bodyBytes, _ := io.ReadAll(resp.Body)
fmt.Println(string(bodyBytes))
require "net/http"
require "json"
uri = URI("https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer <token>"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
puts response.body
<?php
$ch = curl_init("https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer <token>"],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
using System.Net.Http;
using System.Text;
using var client = new HttpClient();
using var request = new HttpRequestMessage(HttpMethod.Get, "https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d");
request.Headers.TryAddWithoutValidation("Authorization", "Bearer <token>");
using var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
响应
- 200
- 400
- 401
- 403
- 404
- 429
- 500
任务详情
string
必填
生成请求返回的批次任务 ID。示例:
"normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d"。enum<string>
必填
标准化后的任务生命周期状态。可选值:
queued、processing、succeeded、failed。integer<int64>
必填
Unix 时间戳(秒)。
object
必填
当前子视频任务输出,包括仍在排队或处理中的条目。
显示 child attributes
显示 child attributes
所有子视频任务及其当前输出信息;结果文件可用前 url 和 format 为 null。
显示 child attributes
显示 child attributes
生成视频子项 UUID。示例:
"7d1fa4bb-41e6-4a5d-88d8-1851f5342e87"。生成视频可用时用于下载的临时签名 URL。
已知时返回视频文件格式,例如 mp4。示例:
"mp4"。可用时返回生成视频的时长,单位为秒。取值范围:
0 <= x <= infinity。可用时返回生成视频的分辨率,例如 720p。示例:
"720p"。可用时返回生成视频的宽高比,例如 16:9。示例:
"16:9"。此视频是否启用了原生音频生成。
此视频使用的生成模式。可选值:
text_to_video、first_frame_image_to_video、first_last_frame_image_to_video、reference_to_video。此生成视频的当前状态。可选值:
queued、processing、succeeded、failed。此生成视频的创建时间,Unix 时间戳,单位为秒。
此生成视频的最后更新时间,Unix 时间戳,单位为秒。
enum<string>
必填
任务使用的视频生成模式。可选值:
text_to_video、first_frame_image_to_video、first_last_frame_image_to_video、reference_to_video。enum<string> | null
任务使用的视频生成模型。可选值:
bytedance/seedance-2.0、bytedance/seedance-2.0-fast、google/veo-3.1、xai/grok-imagine。integer<int64>
Unix 时间戳(秒)。
object
可用时返回此任务扣除的点数。
显示 child attributes
显示 child attributes
该任务或请求扣除的点数。取值范围:
0 <= x <= infinity。示例:26。请求无效
认证失败
当前已认证用户无权访问该资源或点数不足
未找到请求的资源
已超过请求或配额限制
{
"id": "normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d",
"status": "succeeded",
"mode": "first_frame_image_to_video",
"model": "bytedance/seedance-2.0-fast",
"created_at": 1784044800,
"updated_at": 1784044842,
"usage": {
"credits": 26
},
"output": {
"videos": [
{
"uuid": "7d1fa4bb-41e6-4a5d-88d8-1851f5342e87",
"url": "https://cdn.neural4d.com/results/video.mp4",
"format": "mp4",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"has_audio": true,
"mode": "first_frame_image_to_video",
"status": "succeeded",
"created_at": 1784044800,
"updated_at": 1784044842
}
]
}
}
{
"error": {
"code": "invalid_prompt",
"message": "prompt is required and must be a non-empty string"
}
}
{
"error": {
"code": "unsupported_model",
"message": "Unsupported modelKey: missing-model"
}
}
{
"error": {
"code": "model_unavailable",
"message": "Model is unavailable: veo-3.1"
}
}
{
"error": {
"code": "invalid_api_key",
"message": "The API key is invalid or expired"
}
}
{
"error": {
"code": "insufficient_credits",
"message": "Insufficient credits for video generation"
}
}
{
"error": {
"code": "task_not_found",
"message": "The requested task does not exist"
}
}
{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests. Retry after the indicated interval."
}
}
{
"error": {
"code": "internal_error",
"message": "An internal error occurred"
}
}
⌘I
curl --request GET \
--url 'https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d' \
--header 'Authorization: Bearer <token>'
import requests
response = requests.request(
"GET",
"https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d",
headers={
"Authorization": "Bearer <token>",
},
)
print(response.json())
const response = await fetch("https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d", {
method: "GET",
headers: {
"Authorization": "Bearer <token>"
},
});
const data = await response.json();
console.log(data);
const response: Response = await fetch("https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d", {
method: "GET",
headers: {
"Authorization": "Bearer <token>"
},
});
const data = await response.json();
console.log(data);
import java.net.URI;
import java.net.http.*;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d"))
.header("Authorization", "Bearer <token>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
payload := nil
req, _ := http.NewRequest("GET", "https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d", payload)
req.Header.Set("Authorization", "Bearer <token>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
bodyBytes, _ := io.ReadAll(resp.Body)
fmt.Println(string(bodyBytes))
require "net/http"
require "json"
uri = URI("https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer <token>"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
puts response.body
<?php
$ch = curl_init("https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer <token>"],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
using System.Net.Http;
using System.Text;
using var client = new HttpClient();
using var request = new HttpRequestMessage(HttpMethod.Get, "https://api.neural4d.com/openapi/v1/tasks/task-info?id=normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d");
request.Headers.TryAddWithoutValidation("Authorization", "Bearer <token>");
using var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
{
"id": "normal-video-c50fe63e-699d-4d61-93f5-2099ab159d6d",
"status": "succeeded",
"mode": "first_frame_image_to_video",
"model": "bytedance/seedance-2.0-fast",
"created_at": 1784044800,
"updated_at": 1784044842,
"usage": {
"credits": 26
},
"output": {
"videos": [
{
"uuid": "7d1fa4bb-41e6-4a5d-88d8-1851f5342e87",
"url": "https://cdn.neural4d.com/results/video.mp4",
"format": "mp4",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"has_audio": true,
"mode": "first_frame_image_to_video",
"status": "succeeded",
"created_at": 1784044800,
"updated_at": 1784044842
}
]
}
}
{
"error": {
"code": "invalid_prompt",
"message": "prompt is required and must be a non-empty string"
}
}
{
"error": {
"code": "unsupported_model",
"message": "Unsupported modelKey: missing-model"
}
}
{
"error": {
"code": "model_unavailable",
"message": "Model is unavailable: veo-3.1"
}
}
{
"error": {
"code": "invalid_api_key",
"message": "The API key is invalid or expired"
}
}
{
"error": {
"code": "insufficient_credits",
"message": "Insufficient credits for video generation"
}
}
{
"error": {
"code": "task_not_found",
"message": "The requested task does not exist"
}
}
{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests. Retry after the indicated interval."
}
}
{
"error": {
"code": "internal_error",
"message": "An internal error occurred"
}
}

