- Real-time status updates and progress tracking
- Retrieve generation results when tasks are completed
- Error messages available in 10 languages (en/zh/ja/ko/ru/fr/de/id/pt/es)
Request example
curl --request GET \
--url https://api.openveer.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=en \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.openveer.com/v1/tasks/task-unified-1757156493-imcg5zqt"
headers = {
"Authorization": "Bearer <token>"
}
params = {
"language": "en"
}
response = requests.get(url, headers=headers, params=params)
print(response.json())const url = "https://api.openveer.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=en";
const headers = {
"Authorization": "Bearer <token>"
};
fetch(url, {
method: "GET",
headers: headers
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://api.openveer.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=en"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer <token>")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://api.openveer.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=en";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}<?php
$url = "https://api.openveer.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=en";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>require 'net/http'
require 'json'
require 'uri'
url = URI("https://api.openveer.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=en")
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.bodyimport Foundation
let url = URL(string: "https://api.openveer.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=en")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
task.resume()using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://api.openveer.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=en";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var response = await client.GetAsync(url);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
const char *url = "https://api.openveer.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=en";
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://api.openveer.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=en"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
NSURLSessionDataTask *task = [[NSURLSession sharedSession]
dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
return;
}
NSString *result = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
[[NSRunLoop mainRunLoop] run];
}
return 0;
}(* Requires cohttp and yojson libraries *)
open Lwt
open Cohttp
open Cohttp_lwt_unix
let url = "https://api.openveer.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=en"
let () =
let headers = Header.init ()
|> fun h -> Header.add h "Authorization" "Bearer <token>"
in
let response = Client.get ~headers (Uri.of_string url) >>= fun (resp, body) ->
body |> Cohttp_lwt.Body.to_string >|= fun body_str ->
print_endline body_str
in
Lwt_main.run responseimport 'package:http/http.dart' as http;
void main() async {
final url = Uri.parse('https://api.openveer.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=en');
final response = await http.get(
url,
headers: {
'Authorization': 'Bearer <token>',
},
);
print(response.body);
}library(httr)
url <- "https://api.openveer.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=en"
response <- GET(
url,
add_headers(
Authorization = "Bearer <token>"
)
)
cat(content(response, "text"))Response example
{
"code": 200,
"data": {
"id": "task_01KA040M0HP1GJWBJYZMKX1XS1",
"status": "completed",
"cost": 0.15,
"credits_cost": 1.5,
"progress": 100,
"result": {
"images": [
{
"url": [
"https://upload.openveer.com/f/image/9998236911693428-e8d7441f-f7b4-4130-97ad-9ef8a0dde2ce-image_task_01KA0413RT2GGNZJ9GWQ4PXF2F_0.png"
],
"expires_at": 1763174708
}
]
},
"created": 1763088289,
"completed": 1763088308,
"estimated_time": 60,
"actual_time": 19
}
}{
"error": {
"code": 400,
"message": "Invalid task ID",
"type": "invalid_request_error"
}
}{
"error": {
"code": 401,
"message": "Invalid authentication credentials",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Insufficient balance. Please top up your account",
"type": "payment_required"
}
}{
"error": {
"code": 403,
"message": "Access forbidden. You don't have permission to access this resource",
"type": "permission_error"
}
}{
"error": {
"code": 429,
"message": "Rate limit exceeded. Please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": 500,
"message": "Internal server error. Please try again later",
"type": "server_error"
}
}{
"error": {
"code": 502,
"message": "Bad gateway. The server is temporarily unavailable",
"type": "bad_gateway"
}
}Authorizations
Authorization stringAll API endpoints require Bearer Token authentication
Get your API Key:
Visit the API Key Management Page to get your API Key
Add it to the request header:
Authorization: Bearer YOUR_API_KEYPath parameters
task_id stringTask ID returned by the generation API
Query parameters
language stringLanguage of error.message for failed tasks. Supported values:
en- Englishzh- Simplified Chineseja- Japaneseko- Koreanru- Russianfr- Frenchde- Germanid- Indonesianpt- Portuguesees- Spanish
Values are case-insensitive, and surrounding whitespace is trimmed. Use the two-letter codes above; regional tags such as zh-CN, en-US, and pt-BR are not recognized.
This parameter only affects error.message. If omitted or set to an unsupported value, the original error message is returned.
Response
id stringUnique task identifier
status stringTask status values:
pending- Queued for processingprocessing- In progresscompleted- Finished successfullyfailed- Failedcancelled- Cancelled by user
cost numberCost charged for this task
credits_cost numberCredits charged for this task
progress integerTask progress percentage (0–100)
result objectcompleted
images arrayArray of generated image objects (for image generation tasks)
videos arrayArray of generated video objects (for video generation tasks)
created integerTask creation timestamp
completed integerTask completion timestamp (only present when completed)
estimated_time integerEstimated completion time in seconds
actual_time integerActual completion time in seconds (only present when completed)
error objectfailed)
code integerError code
message stringError message
type stringError type
This documentation is built and hosted on Mintlify, a developer documentation platform.