curl "https://dev-backend-ai.truefans.in/api/external/v1/image-bulk-jobs/{bulk_job_id}/generations/{external_id}/status/" \
-H "Authorization: Bearer $TRUEFAN_API_KEY"
{
"generation_id": "f339beb9-305d-4a01-89ef-669b7ec70de3",
"row_index": 0,
"external_id": "usr_9182",
"output_type": "image",
"status": "processing",
"result_image_url": null,
"created": "2026-08-21T10:02:00Z",
"modified": "2026-08-21T10:02:05Z"
}
{
"generation_id": "f339beb9-305d-4a01-89ef-669b7ec70de3",
"row_index": 0,
"external_id": "usr_9182",
"output_type": "image",
"status": "success",
"result_image_url": "https://assets-studio.truefans.in/editor/.../a.png",
"created": "2026-08-21T10:02:00Z",
"modified": "2026-08-21T10:02:40Z"
}
{ "error": "API key required" }
{ "error": "Image bulk job not found" }
{ "error": "No row with this external_id in this bulk job" }
{ "error": "external_id is not unique within this bulk job — multiple rows match" }
Image Generation
Get single image status
Check one image’s status by bulk_job_id + your own external_id
GET
/
api
/
external
/
v1
/
image-bulk-jobs
/
{bulk_job_id}
/
generations
/
{external_id}
/
status
/
curl "https://dev-backend-ai.truefans.in/api/external/v1/image-bulk-jobs/{bulk_job_id}/generations/{external_id}/status/" \
-H "Authorization: Bearer $TRUEFAN_API_KEY"
{
"generation_id": "f339beb9-305d-4a01-89ef-669b7ec70de3",
"row_index": 0,
"external_id": "usr_9182",
"output_type": "image",
"status": "processing",
"result_image_url": null,
"created": "2026-08-21T10:02:00Z",
"modified": "2026-08-21T10:02:05Z"
}
{
"generation_id": "f339beb9-305d-4a01-89ef-669b7ec70de3",
"row_index": 0,
"external_id": "usr_9182",
"output_type": "image",
"status": "success",
"result_image_url": "https://assets-studio.truefans.in/editor/.../a.png",
"created": "2026-08-21T10:02:00Z",
"modified": "2026-08-21T10:02:40Z"
}
{ "error": "API key required" }
{ "error": "Image bulk job not found" }
{ "error": "No row with this external_id in this bulk job" }
{ "error": "external_id is not unique within this bulk job — multiple rows match" }
Send the
bulk_job_id from Generate images and the external_id you set on that row to get that one image’s status — the only per-row lookup in this API. Use this while a batch is still processing; once the whole batch is done, the same information (plus every other row’s) is in the CSV export instead.
string
required
Returned from Generate images.
string
required
Whatever you sent for this row’s
external_id.string
required
Bearer {api_key}curl "https://dev-backend-ai.truefans.in/api/external/v1/image-bulk-jobs/{bulk_job_id}/generations/{external_id}/status/" \
-H "Authorization: Bearer $TRUEFAN_API_KEY"
{
"generation_id": "f339beb9-305d-4a01-89ef-669b7ec70de3",
"row_index": 0,
"external_id": "usr_9182",
"output_type": "image",
"status": "processing",
"result_image_url": null,
"created": "2026-08-21T10:02:00Z",
"modified": "2026-08-21T10:02:05Z"
}
{
"generation_id": "f339beb9-305d-4a01-89ef-669b7ec70de3",
"row_index": 0,
"external_id": "usr_9182",
"output_type": "image",
"status": "success",
"result_image_url": "https://assets-studio.truefans.in/editor/.../a.png",
"created": "2026-08-21T10:02:00Z",
"modified": "2026-08-21T10:02:40Z"
}
{ "error": "API key required" }
{ "error": "Image bulk job not found" }
{ "error": "No row with this external_id in this bulk job" }
{ "error": "external_id is not unique within this bulk job — multiple rows match" }
external_id only needs to be unique within the batch that defined it — nothing stops you from reusing the same value across different batches (that’s fine, since lookups are always scoped to one bulk_job_id), but reusing it for two rows in the same batch makes this endpoint ambiguous and returns 409.Response fields
string
image for rows from an image template. Branch on this before reading a result URL.string
pending → processing → success or failed. Terminal states are success/failed — stop polling once you reach one.integer
This row’s position in the
rows list it was submitted with — 0 for a single-image (one-row) request.string | null
Populated only once
status is success. Image rows carry no result_video_url — the field is absent, not null.