跳转到主要内容
查询生成任务的状态和结果。

接口

GET https://api.apixo.ai/api/v1/statusTask/{model}?taskId={taskId}

参数

model
string
必填
提交任务时使用的模型 ID(如 nano-bananaflux-2)。
taskId
string
必填
生成任务接口返回的任务 ID。

请求头

Authorization
string
必填
Bearer token 用于 API 认证。格式:Bearer YOUR_API_KEY

响应

{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_abc123xyz789",
    "state": "success",
    "resultJson": "{\"resultUrls\":[\"https://cdn.apixo.ai/output/abc123.jpg\"]}",
    "costTime": 12500,
    "createTime": 1704067200000,
    "completeTime": 1704067212500
  }
}

任务状态

StateDescription
pending任务已接收,等待处理
processingAI 模型正在处理任务
success生成成功完成
failed生成失败(查看错误详情)

响应字段

taskId
string
任务唯一标识。
state
string
当前任务状态:pendingprocessingsuccessfailed
resultJson
string
包含 resultUrls 数组的 JSON 字符串。仅当 statesuccess 时存在。使用 JSON.parse() 解析。
costTime
integer
处理耗时(毫秒)。仅在完成时存在。
createTime
integer
任务创建时间戳(Unix 毫秒)。
completeTime
integer
任务完成时间戳(Unix 毫秒)。仅在完成时存在。
failCode
string
错误码。仅当 statefailed 时存在。
failMsg
string
可读的错误信息。仅当 statefailed 时存在。

各状态响应示例

Pending / Processing

{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_abc123xyz789",
    "state": "processing",
    "createTime": 1704067200000
  }
}

Success

{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_abc123xyz789",
    "state": "success",
    "resultJson": "{\"resultUrls\":[\"https://cdn.apixo.ai/output/abc123.jpg\"]}",
    "costTime": 12500,
    "createTime": 1704067200000,
    "completeTime": 1704067212500
  }
}
解析 resultJson:
const result = JSON.parse(data.resultJson);
const urls = result.resultUrls; // Array of generated content URLs

Failed

{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "task_abc123xyz789",
    "state": "failed",
    "failCode": "CONTENT_VIOLATION",
    "failMsg": "Content violates usage policy",
    "createTime": 1704067200000,
    "completeTime": 1704067205000
  }
}
HTTP 返回 200state: "failed" 表示 API 请求成功,但任务本身失败。请查看 failCodefailMsg 了解原因。所有失败码见错误码

结果 URL

resultUrls 数组包含生成内容的直接链接:
{
  "resultUrls": [
    "https://cdn.apixo.ai/output/abc123.jpg",
    "https://cdn.apixo.ai/output/abc124.jpg"
  ]
}
结果 URL 24 小时后失效。请及时下载并保存重要输出。

示例

curl "https://api.apixo.ai/api/v1/statusTask/nano-banana?taskId=task_abc123" \
  -H "Authorization: Bearer YOUR_API_KEY"

轮询示例

async function waitForResult(model, taskId, apiKey) {
  const maxAttempts = 60;
  const pollInterval = 3000; // 3 seconds
  
  for (let i = 0; i < maxAttempts; i++) {
    const response = await fetch(
      `https://api.apixo.ai/api/v1/statusTask/${model}?taskId=${taskId}`,
      { headers: { 'Authorization': `Bearer ${apiKey}` } }
    );
    
    const { data } = await response.json();
    
    switch (data.state) {
      case 'success':
        return JSON.parse(data.resultJson).resultUrls;
      case 'failed':
        throw new Error(`${data.failCode}: ${data.failMsg}`);
      default:
        await new Promise(r => setTimeout(r, pollInterval));
    }
  }
  
  throw new Error('Timeout waiting for result');
}

错误响应

CodeDescription
401API 密钥无效或缺失
404任务不存在
429超过速率限制
详见错误码的错误处理说明。