获取任务状态

  • 查询异步任务的执行状态和结果
  • 实时状态更新和进度跟踪

  • 任务完成时获取生成结果

  • 支持多语言返回(zh/en/ko/ja)

    curl --request GET \
      --url 'https://aiboxapi.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=zh' \
      --header 'Authorization: Bearer <token>'
    
    import requests
    
    url = "https://aiboxapi.com/v1/tasks/task-unified-1757156493-imcg5zqt"
    
    headers = {
        "Authorization": "Bearer <token>"
    }
    
    params = {
        "language": "zh"
    }
    
    response = requests.get(url, headers=headers, params=params)
    
    print(response.json())
    
    const url = "https://aiboxapi.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=zh";
    
    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://aiboxapi.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=zh"
    
        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://aiboxapi.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=zh";
    
            HttpClient client = HttpClient.newHttpClient();
            HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(url))
                .header("Authorization", "Bearer <token>")
                .GET()
                .build();
    
            HttpResponse response = client.send(request,
                HttpResponse.BodyHandlers.ofString());
    
            System.out.println(response.body());
        }
    }
    
    <?php
    
    $url = "https://aiboxapi.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=zh";
    
    $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://aiboxapi.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=zh")
    
    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.body
    
    import Foundation
    
    let url = URL(string: "https://aiboxapi.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=zh")!
    
    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://aiboxapi.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=zh";
    
            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://aiboxapi.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=zh";
    
            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://aiboxapi.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=zh"];
            
            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://aiboxapi.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=zh"
    
    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 response
    
    import 'package:http/http.dart' as http;
    
    void main() async {
      final url = Uri.parse('https://aiboxapi.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=zh');
      
      final response = await http.get(
        url,
        headers: {
          'Authorization': 'Bearer <token>',
        },
      );
      
      print(response.body);
    }
    
    library(httr)
    
    url <- "https://aiboxapi.com/v1/tasks/task-unified-1757156493-imcg5zqt?language=zh"
    
    response <- GET(
      url,
      add_headers(
        Authorization = "Bearer <token>"
      )
    )
    
    cat(content(response, "text"))
    
    {
      "code": 200,
      "data": {
        "id": "task_01KA040M0HP1GJWBJYZMKX1XS1",
        "status": "completed",
        "cost": 0.15,
        "credits_cost": 1.5,
        "progress": 100,
        "result": {
          "images": [
            {
              "url": [
                "https://upload.aiboxapi.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": "无效的任务ID",
        "type": "invalid_request_error"
      }
    }
    
    {
      "error": {
        "code": 401,
        "message": "身份验证失败,请检查您的API密钥",
        "type": "authentication_error"
      }
    }
    
    {
      "error": {
        "code": 402,
        "message": "账户余额不足,请充值后再试",
        "type": "payment_required"
      }
    }
    
    {
      "error": {
        "code": 403,
        "message": "访问被禁止,您没有权限访问此资源",
        "type": "permission_error"
      }
    }
    
    {
      "error": {
        "code": 429,
        "message": "请求过于频繁,请稍后再试",
        "type": "rate_limit_error"
      }
    }
    
    {
      "error": {
        "code": 500,
        "message": "服务器内部错误,请稍后重试",
        "type": "server_error"
      }
    }
    
    {
      "error": {
        "code": 502,
        "message": "网关错误,服务器暂时不可用",
        "type": "bad_gateway"
      }
    }
    

Authorizations

string 必填

所有接口均需要使用Bearer Token进行认证

获取 API Key:

访问 API Key 管理页面 获取您的 API Key

使用时在请求头中添加:

Authorization: Bearer YOUR_API_KEY

Path parameters

task_id string 必填

生成API返回的任务ID

Query parameters

language string

返回内容的语言,支持以下值:

  • zh - 中文
  • en - 英文
  • ko - 韩文
  • ja - 日文

默认返回英文

Response

id string

任务唯一标识符

status string

任务状态值:

  • pending - 排队等待处理
  • processing - 处理中
  • completed - 成功完成
  • failed - 失败
  • cancelled - 用户取消
cost number

本次任务扣费金额

credits_cost number

本次任务扣费积分

progress integer

任务进度百分比(0–100)

result object

任务结果,仅在状态为 completed 时返回

属性
  生成的图像对象数组(图像生成任务)
videos array
  生成的视频对象数组(视频生成任务)
created integer

任务创建时间戳

completed integer

任务完成时间戳(仅在完成时存在)

estimated_time integer

预计完成时间(秒)

actual_time integer

实际完成时间(秒)(仅在完成时存在)

error object

错误详情(仅在状态为 failed 时存在)

属性
  错误代码
message string
  错误消息
type string
  错误类型