curl --request GET \
--url https://openapi.imini.ai/imini/router/v1/videos/tasks/{task_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://openapi.imini.ai/imini/router/v1/videos/tasks/{task_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://openapi.imini.ai/imini/router/v1/videos/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://openapi.imini.ai/imini/router/v1/videos/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 => [
"Authorization: Bearer <token>"
],
]);
$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://openapi.imini.ai/imini/router/v1/videos/tasks/{task_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://openapi.imini.ai/imini/router/v1/videos/tasks/{task_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://openapi.imini.ai/imini/router/v1/videos/tasks/{task_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"task_id": "task_2042864638838083584",
"status": "succeeded",
"model": "kling/kling-v3",
"created_at": "2026-04-11T07:17:39.146Z",
"completed_at": "2026-04-11T07:19:57.844Z",
"videos": [
{
"url": "https://file.iminicdn.com/file/2026/04/11/2042865212863942656.mp4",
"width": 1284,
"height": 716,
"duration": 5,
"cover_url": "https://file.iminicdn.com/file/2026/04/11/2042865212863942700.jpg"
}
],
"error": null,
"request_id": "req_abc123"
}Get Task
Query the status and result of an asynchronous video generation task.
curl --request GET \
--url https://openapi.imini.ai/imini/router/v1/videos/tasks/{task_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://openapi.imini.ai/imini/router/v1/videos/tasks/{task_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://openapi.imini.ai/imini/router/v1/videos/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://openapi.imini.ai/imini/router/v1/videos/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 => [
"Authorization: Bearer <token>"
],
]);
$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://openapi.imini.ai/imini/router/v1/videos/tasks/{task_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://openapi.imini.ai/imini/router/v1/videos/tasks/{task_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://openapi.imini.ai/imini/router/v1/videos/tasks/{task_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"task_id": "task_2042864638838083584",
"status": "succeeded",
"model": "kling/kling-v3",
"created_at": "2026-04-11T07:17:39.146Z",
"completed_at": "2026-04-11T07:19:57.844Z",
"videos": [
{
"url": "https://file.iminicdn.com/file/2026/04/11/2042865212863942656.mp4",
"width": 1284,
"height": 716,
"duration": 5,
"cover_url": "https://file.iminicdn.com/file/2026/04/11/2042865212863942700.jpg"
}
],
"error": null,
"request_id": "req_abc123"
}Authorizations
Pass Authorization: Bearer <YOUR_API_KEY> in the request header. Go to the API Keys management page to create and manage API Keys.
Path Parameters
Unique task ID, returned by the video generation endpoint.
"task_2042864638838083584"
Response
Query successful
Unique task ID
"task_2042864638838083584"
Task status:
queued— Submitted, waiting in queueprocessing— Model is generatingsucceeded— Generation succeededfailed— Generation failed, see theerrorfield
queued, processing, succeeded, failed "succeeded"
The model ID used for this task
"kling/kling-v3"
Task creation time (ISO 8601)
"2026-04-11T07:17:39.146Z"
Task completion time (ISO 8601); null while not yet completed
"2026-04-11T07:19:57.844Z"
Generation result list. Populated when status is succeeded, otherwise null.
Show child attributes
Show child attributes
Error information. Populated when status is failed, otherwise null.
Show child attributes
Show child attributes
Unique request ID
"req_abc123"

