GTMage-2.5

Generate one or more AI images from a text prompt, with optional reference images. Returns immediately with 202 Accepted and the task object.

  • gtmage-2.5 (default when model is omitted): when one or more reference_images are supplied the request is treated as an image edit; otherwise it is a plain generation. 1 credit per request, regardless of n.
  • gtmage-2.5-sunburst / gtmage-2.5-flare: add quality and resolution; up to 16 reference images.

Credits — Sunburst / Flare

Billed per request: credits = max(1, floor(points / 30)), with points = (base + number of reference images) × n. points must not exceed 150, otherwise 400.

qualitybase @ 1kbase @ 2kbase @ 4k
low2510
medium51122
high (default)82040
xhigh174284
max35100—

Without reference images, credits for n = 1 / 2 / 3 / 4 (current prices, subject to change; — = not available):

quality1k2k4k
low1 / 1 / 1 / 11 / 1 / 1 / 11 / 1 / 1 / 1
medium1 / 1 / 1 / 11 / 1 / 1 / 11 / 1 / 2 / 2
high1 / 1 / 1 / 11 / 1 / 2 / 21 / 2 / 4 / —
xhigh1 / 1 / 1 / 21 / 2 / 4 / —2 / — / — / —
max1 / 2 / 3 / 43 / — / — / ——

Limits

  • gtmage-2.5: 0–3 reference images, each max 50 MB.
  • Sunburst / Flare: 0–16 reference images, each JPEG/PNG/WebP, max 20 MB, short side ≥ 300 px, long side ≤ 5760 px, aspect ratio 2:5–5:2.
  • Whole request (all files and fields together): at most 100 MiB (104,857,600 bytes) — e.g. three 50 MB images do not fit. Larger requests are rejected by the CDN in front of the API with an HTML 413 Payload Too Large page, not a JSON error.

Example

curl -X POST https://genaipro.io/api/v2/gt-mage/create-image \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -F "prompt=A futuristic city at night" \
  -F "size=16:9" \
  -F "n=2"

Example — with reference images (edit)

curl -X POST https://genaipro.io/api/v2/gt-mage/create-image \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -F "prompt=Turn this into a watercolor painting" \
  -F "reference_images=@photo.jpg"

Example — Sunburst

curl -X POST https://genaipro.io/api/v2/gt-mage/create-image \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -F "model=gtmage-2.5-sunburst" \
  -F "prompt=A futuristic city at night, neon reflections on wet streets" \
  -F "quality=high" \
  -F "resolution=2k" \
  -F "size=21:9" \
  -F "n=2"

Rate limit: 30 requests/minute (Sunburst / Flare also count toward the H3 Video creation budget)

post/v2/gt-mage/create-image

Request

Request body multipart/form-data

promptstring required

Text description of the image to generate

model'gtmage-2.5' | 'gtmage-2.5-sunburst' | 'gtmage-2.5-flare'

Image model (case-insensitive). Unknown values → 400.

reference_imagesstring[]

Optional reference image files — gtmage-2.5: 0–3, each max 50 MB (runs as an image edit); Sunburst / Flare: 0–16, each max 20 MB (each adds 1 point per generated image to the price).

size'1:1' | '2:3' | '3:2' | '3:4' | '4:3' | '9:16' | '16:9' | '21:9' | '5:4' | '4:5'

Image aspect ratio. gtmage-2.5: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9. Sunburst / Flare additionally: 21:9, 5:4, 4:5.

quality'low' | 'medium' | 'high' | 'xhigh' | 'max'

Sunburst / Flare only — quality tier (affects price)

resolution'1k' | '2k' | '4k'

Sunburst / Flare only — output resolution tier (affects price)

nstring

Number of images to generate (1–4). Sent as string in form data.

callback_urlstring

Optional webhook URL. When the task reaches a terminal state (completed or failed), GenAIPro POSTs the task object to this URL.

Example request

{
  "prompt": "A futuristic city at night, neon reflections on wet streets",
  "model": "gtmage-2.5-sunburst",
  "size": "16:9",
  "n": "2",
  "callback_url": "https://your-server.example.com/genaipro-webhook"
}

Response

Task accepted for processing

idstring

Task ID

promptstring

The prompt used for generation

file_urlsstring[]

URLs of the generated files (empty while processing). Public; deleted about 90 days after creation (then 404) — download them yourself.

status'processing' | 'completed' | 'failed'

Task status

errorstring

Error message — present when status is failed, or when status is completed but some videos failed (see failed_slots)

modelstring

GTMage-2.5 tasks: gtmage-2.5, or <model>-<quality>-<resolution> for Sunburst / Flare (e.g. gtmage-2.5-sunburst-high-2k)

aspect_ratiostring

GTMage-2.5 tasks: the requested size

created_atstring date-time

Timestamp when the task was created

Example response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "prompt": "A cat walking on the beach at sunset",
  "file_urls": []
}

Changes

    • breaking

      removed the media type application/json for the response with the status

    • info

      added the media type text/html for the response with the status

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new 21:9 enum value to the request property

    • info

      added the new 4:5 enum value to the request property

    • info

      added the new 5:4 enum value to the request property

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status