● nureta
Docs

Image

Create and poll adult image tasks at 2K or 4K, text-only or with up to 9 reference images. Flat $0.05 per image, callbacks and automatic refunds.

Image generation shares the authentication, task routes, uploads, callbacks and errors documented in the Overview.

Create an image task

Create a flat-priced image task. The price is reserved from your balance.

POST /api/v3/images/generations/tasks

The content shape is the same as for video: exactly one text prompt, plus up to nine optional image_url reference images. A text-only prompt is allowed.

curl -s -X POST "$NURETA_URL/api/v3/images/generations/tasks" \
  -H "Authorization: Bearer sk-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seahorse-image",
    "content": [
      {"type": "text", "text": "a clean studio product shot of the sneaker on marble"},
      {"type": "image_url", "image_url": {"url": "https://example.com/ref.jpg"}}
    ],
    "size": "2K",
    "callback_url": "https://example.com/webhooks/nureta-developer"
  }'
# => HTTP 201 with the task view (see Retrieve an image task)

Fields

FieldRequiredNotes
modelyesseahorse-image (see Image models & pricing).
contentyesNon-empty array. Include exactly one text item (the prompt).
content[].typeyestext or image_url.
image_url.urlfor image_urlHTTPS/HTTP reference image URL. Use your own hosted URL, or the assetUrl returned by Upload a reference image. Up to 9 image items, all optional (a text-only prompt is allowed).
sizenoDefault 2K (omitted or null gives the default). Allowed: 2K, 4K.
callback_urlnoHTTPS endpoint to POST the terminal task view to. See Callback webhook.
callback_secretno8–256 character shared secret used to sign the callback body. Requires callback_url.

Reference images use the same Upload a reference image flow as video.

Response

201 with the task view. On success the task carries content.image_url.

Errors

CodeHTTPWhen
InvalidParameter400A field is missing or invalid.
AccountOverdueError403Your balance cannot cover the task.
MediaNotOwned403A reference image URL was uploaded or generated by another account.
media_expired410A reference image is an upload of yours that was deleted (see Media links are private). Upload it again.
ModelNotFound404Unknown model id.

All codes are in Errors.

Retrieve an image task

Poll one image task until status is succeeded or failed.

GET /api/v3/images/generations/tasks/:id

curl -s "$NURETA_URL/api/v3/images/generations/tasks/cgt-..." \
  -H "Authorization: Bearer sk-..."
# => {"id": "cgt-...", "model": "seahorse-image", "status": "succeeded", "size": "2K",
#     "created_at": 1781220000, "updated_at": 1781220060,
#     "prompt": "a clean studio product shot of the sneaker on marble",
#     "media": [{"url": "https://example.com/ref.jpg", "type": "Image"}],
#     "usage": {"price_usd": 0.05, "refunded": false},
#     "step": {"code": "done"},
#     "content": {"image_url": "https://...signed.../out.png"}}

Response

The task view. On success it carries content.image_url. On failure it carries an error, and a refund is issued automatically.

FieldNotes
id, model, statusTask id, model id and status (queued, running, succeeded or failed).
sizeThe image size.
prompt, mediaYour inputs: the text prompt and the reference images as [{url, type}].
created_at, updated_atUnix timestamps in seconds.
usageprice_usd charged and whether it was refunded.
stepThe current phase, e.g. {"code": "queued"}. It is {"code": "done"} on success and {"code": "failed"} on failure.
content.image_urlOnly on success: a signed link to the image. It is valid for 7 days, but the service reuses one signed link for up to 24 hours. So a link you receive can have about 6 days left, and a re-fetch within 24 hours can return the same link.
errorOnly on failure: {"code", "message"} (see task errors).

Errors

CodeHTTPWhen
NotFound404Unknown task id, or a task of another kind.

List image tasks

List your image tasks, newest first.

GET /api/v3/images/generations/tasks?limit=20&offset=0

curl -s "$NURETA_URL/api/v3/images/generations/tasks?limit=20&offset=0" \
  -H "Authorization: Bearer sk-..."
# => {"items": [task, ...], "total": N}
Query parameterNotes
limit1–100 (default 20).
offsetThe number of tasks to skip.

Response

{"items": [task, ...], "total": N}. Each item has the task view shape.

Errors

The shared codes in Errors.

Delete an image task

Delete a finished task (succeeded or failed).

DELETE /api/v3/images/generations/tasks/:id

curl -s -X DELETE "$NURETA_URL/api/v3/images/generations/tasks/cgt-..." \
  -H "Authorization: Bearer sk-..."
# => {}

Response

200 {}.

Errors

CodeHTTPWhen
NotFound404Unknown task id, or a task of another kind.
Conflict409The task is not finished.
RateLimitExceeded429Your account already deleted 10 tasks in the last 60 seconds. Deletions on the website count too.

Image models & pricing

GET /api/v3/images/models (public) returns the image model with its per-image price and allowed sizes. Images are flat-priced: one image, one charge, no duration.

ModelSizesUSD / image
seahorse-image2K, 4K$0.05

Guides