Get Image Generation Task
Retrieve an async image generation task. Call this endpoint only when the image creation endpoint returns object: "image.generation.task".
Try It
GET
/v1/images/generations/{task_id}https://api-platform.ope.aiAuthentication
Uses Bearer Token authentication.
- Header:
Authorization: Bearer <token> - Example:
Authorization: Bearer sk-xxxxxx
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
task_id | string | Yes | Task ID returned by the image creation endpoint |
Task statuses
| Status | Description |
|---|---|
QUEUED | The task was created and is waiting to run |
IN_PROGRESS | The platform is requesting image generation from the upstream provider |
SUCCESS | The image was generated; read data[] |
FAILURE | Generation failed; inspect fail_reason |
For successful tasks, expires_at is finish_time + 24 hours. After the retention window, the endpoint returns image_task_expired.
Request examples
The domain below is an example:
https://api-platform.ope.ai.
- cURL
- JavaScript
- Go
- Python
curl -X GET "https://api-platform.ope.ai/v1/images/generations/image_2f9b9a3d8c1e4f5a6b7c8d9e" \
-H "Authorization: Bearer $OPEAI_API_KEY"
const apiKey = process.env.OPEAI_API_KEY;
const taskId = "image_2f9b9a3d8c1e4f5a6b7c8d9e";
const url = `https://api-platform.ope.ai/v1/images/generations/${taskId}`;
const res = await fetch(url, {
method: "GET",
headers: { Authorization: `Bearer ${apiKey}` },
});
console.log(await res.json());
package main
import (
"fmt"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://api-platform.ope.ai/v1/images/generations/image_2f9b9a3d8c1e4f5a6b7c8d9e", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("OPEAI_API_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println(resp.Status)
}
import os
import requests
resp = requests.get(
"https://api-platform.ope.ai/v1/images/generations/image_2f9b9a3d8c1e4f5a6b7c8d9e",
headers={"Authorization": f"Bearer {os.environ.get('OPEAI_API_KEY')}"},
timeout=60,
)
print(resp.json())
Response examples
- Queued
- Success
- Failure
- Expired / Not found
{
"id": "image_2f9b9a3d8c1e4f5a6b7c8d9e",
"task_id": "image_2f9b9a3d8c1e4f5a6b7c8d9e",
"object": "image.generation.task",
"status": "QUEUED",
"created_at": 1777440000,
"finish_time": 0,
"expires_at": 0,
"model": "gpt-image-2",
"prompt": "Generate an image showcasing AI image generation capabilities.",
"size": "1024x1024",
"quality": "auto",
"mode": "generation",
"fail_reason": ""
}
{
"id": "image_2f9b9a3d8c1e4f5a6b7c8d9e",
"task_id": "image_2f9b9a3d8c1e4f5a6b7c8d9e",
"object": "image.generation.task",
"status": "SUCCESS",
"created_at": 1777440000,
"finish_time": 1777440180,
"expires_at": 1777526580,
"model": "gpt-image-2",
"prompt": "Generate an image showcasing AI image generation capabilities.",
"size": "1024x1024",
"quality": "auto",
"mode": "generation",
"fail_reason": "",
"data": [
{
"url": "https://example.com/generated-image.png",
"b64_json": ""
}
],
"usage": {
"generated_images": 1,
"total_tokens": 100
}
}
{
"id": "image_2f9b9a3d8c1e4f5a6b7c8d9e",
"task_id": "image_2f9b9a3d8c1e4f5a6b7c8d9e",
"object": "image.generation.task",
"status": "FAILURE",
"created_at": 1777440000,
"finish_time": 1777440180,
"expires_at": 0,
"model": "gpt-image-2",
"prompt": "Generate an image showcasing AI image generation capabilities.",
"size": "1024x1024",
"quality": "auto",
"mode": "generation",
"fail_reason": "upstream timeout"
}
{
"error": {
"message": "image task result expired",
"type": "not_found",
"code": "image_task_expired"
}
}