cURL
curl --request GET \
--url https://api.ttapi.io/wan/api/v1/tasks/{task_id} \
--header 'TT-API-KEY: <api-key>'import requests
url = "https://api.ttapi.io/wan/api/v1/tasks/{task_id}"
headers = {"TT-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'TT-API-KEY': '<api-key>'}};
fetch('https://api.ttapi.io/wan/api/v1/tasks/{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.ttapi.io/wan/api/v1/tasks/{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 => [
"TT-API-KEY: <api-key>"
],
]);
$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.ttapi.io/wan/api/v1/tasks/{task_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("TT-API-KEY", "<api-key>")
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.ttapi.io/wan/api/v1/tasks/{task_id}")
.header("TT-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ttapi.io/wan/api/v1/tasks/{task_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["TT-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"request_id": "78c9b768-0285-996c-b682-xxxxxx",
"output": {
"task_id": "17ed7e50-00cf-4509-aea1-xxxxxx",
"task_status": "SUCCEEDED",
"submit_time": "2026-08-06 10:01:35.452",
"scheduled_time": "2026-08-06 10:01:35.507",
"end_time": "2026-08-06 10:13:33.838",
"orig_prompt": "A golden retriever running on a sunny beach, waves crashing in the background.",
"video_url": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxx.mp4"
},
"usage": {
"video_count": 1,
"duration": 5,
"input_video_duration": 0,
"output_video_duration": 5,
"fps": 30,
"SR": 720,
"ratio": "16:9"
}
}Wan 3.0
Query Task Result
Query task result by task ID
GET
/
wan
/
api
/
v1
/
tasks
/
{task_id}
cURL
curl --request GET \
--url https://api.ttapi.io/wan/api/v1/tasks/{task_id} \
--header 'TT-API-KEY: <api-key>'import requests
url = "https://api.ttapi.io/wan/api/v1/tasks/{task_id}"
headers = {"TT-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'TT-API-KEY': '<api-key>'}};
fetch('https://api.ttapi.io/wan/api/v1/tasks/{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.ttapi.io/wan/api/v1/tasks/{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 => [
"TT-API-KEY: <api-key>"
],
]);
$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.ttapi.io/wan/api/v1/tasks/{task_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("TT-API-KEY", "<api-key>")
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.ttapi.io/wan/api/v1/tasks/{task_id}")
.header("TT-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ttapi.io/wan/api/v1/tasks/{task_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["TT-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"request_id": "78c9b768-0285-996c-b682-xxxxxx",
"output": {
"task_id": "17ed7e50-00cf-4509-aea1-xxxxxx",
"task_status": "SUCCEEDED",
"submit_time": "2026-08-06 10:01:35.452",
"scheduled_time": "2026-08-06 10:01:35.507",
"end_time": "2026-08-06 10:13:33.838",
"orig_prompt": "A golden retriever running on a sunny beach, waves crashing in the background.",
"video_url": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxx.mp4"
},
"usage": {
"video_count": 1,
"duration": 5,
"input_video_duration": 0,
"output_video_duration": 5,
"fps": 30,
"SR": 720,
"ratio": "16:9"
}
}This is the Wan 3.0 Video Generation API query task result endpoint. Query video generation status and results by task ID.
Authorizations
Please visit TTAPI Dashboard to get your API key.
Path Parameters
Task ID
Response
200 - application/json
Query task result successful
Last modified on August 25, 2026
⌘I