Video Task Status
Interface description: Query the execution status and results of the video generation task based on taskId.
curl --request GET \
--url https://aitoearn.cn/api/ai/video/generations/{taskId} \
--header 'X-Api-Key: <api-key>'import requests
url = "https://aitoearn.cn/api/ai/video/generations/{taskId}"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://aitoearn.cn/api/ai/video/generations/{taskId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://aitoearn.cn/api/ai/video/generations/{taskId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"code": 0,
"message": "Request succeeded",
"data": {
"id": "string",
"model": "string",
"status": "string",
"input": {
"prompt": "string",
"groupId": "string",
"image": "string",
"images": [
"string"
],
"audios": [
"string"
],
"duration": 1,
"aspectRatio": "string",
"resolution": "string",
"videoUrl": "string",
"videos": [
"string"
]
},
"submittedAt": "2026-07-02T12:00:00.000Z",
"startedAt": "2026-07-02T12:00:00.000Z",
"videoUrl": "string",
"coverUrl": "string",
"mediaId": "string",
"groupId": "string",
"error": {
"message": "string"
},
"finishedAt": "2026-07-02T12:00:00.000Z"
}
}Authorizations
Need to get API Key from AiToEarn. Click to go to "API Key Obtaining Tutorial".
Path Parameters
Task ID, returned by the video generation interface, used for task status or generation result query.
Response
The request has been processed by the service. Business success is determined by whether the response body has code === 0.
Business status code. 0 means success; non-zero means a business error.
Response message.
Hide child attributes
Hide child attributes
Task ID
Model name
Task status
input parameters
Hide child attributes
Hide child attributes
prompt word
Material group ID
Image URL
Reference image URL list
Reference audio URL list
Duration (seconds)
aspect ratio
resolution
First reference video URL
Reference video URL list
Submission time
start time
Generated video URL
Generate the cover URL of the video
Saved material ID
Asset group ID saved to
completion time
Request ID.
Error response timestamp in Unix milliseconds.
curl --request GET \
--url https://aitoearn.cn/api/ai/video/generations/{taskId} \
--header 'X-Api-Key: <api-key>'import requests
url = "https://aitoearn.cn/api/ai/video/generations/{taskId}"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://aitoearn.cn/api/ai/video/generations/{taskId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://aitoearn.cn/api/ai/video/generations/{taskId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"code": 0,
"message": "Request succeeded",
"data": {
"id": "string",
"model": "string",
"status": "string",
"input": {
"prompt": "string",
"groupId": "string",
"image": "string",
"images": [
"string"
],
"audios": [
"string"
],
"duration": 1,
"aspectRatio": "string",
"resolution": "string",
"videoUrl": "string",
"videos": [
"string"
]
},
"submittedAt": "2026-07-02T12:00:00.000Z",
"startedAt": "2026-07-02T12:00:00.000Z",
"videoUrl": "string",
"coverUrl": "string",
"mediaId": "string",
"groupId": "string",
"error": {
"message": "string"
},
"finishedAt": "2026-07-02T12:00:00.000Z"
}
}
