Skip to main content
GET
/
image
/
status
/
{id}
Poll image generation status
curl --request GET \
  --url https://mvp.tryunsora.com/api/v1/image/status/{id} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://mvp.tryunsora.com/api/v1/image/status/{id}"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://mvp.tryunsora.com/api/v1/image/status/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://mvp.tryunsora.com/api/v1/image/status/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://mvp.tryunsora.com/api/v1/image/status/{id}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://mvp.tryunsora.com/api/v1/image/status/{id}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://mvp.tryunsora.com/api/v1/image/status/{id}")

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.read_body
{
  "success": true,
  "data": {
    "id": "<string>",
    "outputUrl": "<string>",
    "thumbnailUrl": "<string>",
    "error": "<string>",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "completedAt": "2023-11-07T05:31:56Z"
  }
}
Unified polling endpoint for image generator, AI influencer, and thumbnail jobs. Use the id returned from any create response. Poll every few seconds until status is COMPLETED or FAILED.
curl "https://mvp2.tryunsora.com/api/v1/image/status/GENERATION_ID" \
  -H "Authorization: Bearer uns_live_YOUR_API_KEY"
Example response:
{
  "success": true,
  "data": {
    "id": "cm123...",
    "status": "COMPLETED",
    "outputUrl": "https://...",
    "error": null,
    "createdAt": "2026-06-02T12:00:00.000Z",
    "updatedAt": "2026-06-02T12:01:30.000Z",
    "completedAt": "2026-06-02T12:01:30.000Z"
  }
}
type values: BASIC (image generator), INFLUENCER, THUMBNAIL.

Authorizations

Authorization
string
header
required

Clerk session JWT or Unsora API key (uns_live_*)

Path Parameters

id
string
required

Generation id returned from any image create endpoint

Response

Current job status

success
boolean
required
data
object
required