Skip to main content
POST
/
v1
/
images
/
generations
curl --request POST \
  --url https://api.evolink.ai/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "gpt-image-2-beta",
  "prompt": "A beautiful colorful sunset over the ocean"
}
'
{
  "created": 1757156493,
  "id": "task-unified-1757156493-imcg5zqt",
  "model": "gpt-image-2-beta",
  "object": "image.generation.task",
  "progress": 0,
  "status": "pending",
  "task_info": {
    "can_cancel": true,
    "estimated_time": 100
  },
  "type": "image",
  "usage": {
    "billing_rule": "per_call",
    "credits_reserved": 2.5,
    "user_group": "default"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.evolink.ai/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

All APIs require Bearer Token authentication

Get API Key:

Visit API Key Management Page to get your API Key

Add to request header:

Authorization: Bearer YOUR_API_KEY

Body

application/json
model
enum<string>
default:gpt-image-2-beta
required

Image generation model name

Available options:
gpt-image-2-beta
Example:

"gpt-image-2-beta"

prompt
string
required

Prompt describing the image you want to generate, or describing how to edit the input image. Limited to 2000 tokens

Maximum string length: 2000
Example:

"A beautiful colorful sunset over the ocean"

size
string
default:auto

Aspect ratio of the generated image. Choose one of the supported ratios, or use auto to let the model decide:

  • auto: Determined automatically by the model (default), billed at the 1K tier
  • 1:1: Square
  • 3:2 / 2:3: Landscape / Portrait
  • 4:3 / 3:4: Landscape / Portrait
  • 5:4 / 4:5: Common social media
  • 16:9 / 9:16: Widescreen landscape / portrait
  • 21:9 / 9:21: Ultra-wide landscape / portrait
  • 2:1 / 1:2: Landscape / Portrait
  • 3:1 / 1:3: Panorama landscape / portrait

Explicit pixels WxH are also supported (e.g. 1024x1024 / 1920x1080 / 3840x2160). When using explicit pixels, the resolution field is ignored, and the billing tier is auto-bucketed by total pixels:

  • Total pixels ≤ 1.7 MP → 1K
  • Total pixels > 1.7 MP and ≤ 4.4 MP → 2K
  • Total pixels > 4.4 MP → 4K

Hard pixel limits:

  • Both width and height must be multiples of 16
  • Total pixels: 655,360 (≈ 0.65 MP) ~ 8,294,400 (≈ 8.29 MP)
  • Each side ≤ 3840
  • Aspect ratio ≤ 3:1
Example:

"16:9"

resolution
enum<string>
default:1K

Resolution tier, only effective when size is a ratio.

When ignored:

  • size=auto: billed at the 1K tier (no need to pass this parameter)
  • size is explicit WxH pixels: this field is ignored, and the tier is auto-bucketed by total pixels (see size description)

Pricing multiplier:

  • 1K: 1× base (default)
  • 2K: 1.7× base
  • 4K: 2.6× base

Landscape / square output dimensions (portrait dimensions are the landscape width/height swapped):

Ratio1K2K4K
1:11024×10242048×20482880×2880
2:11456×7202896×14563840×1920 *
3:11776×5923552×11843840×1280 *
3:21248×8322512×16803520×2352
4:31184×8802368×17763312×2480 *
5:41152×9122288×18243216×2576
16:91360×7682736×15363840×2160 (UHD)
21:91568×6723136×13443840×1632 *

* Marks combinations that are auto-downscaled to fit the pixel budget.

Available options:
1K,
2K,
4K
Example:

"1K"

image_urls
string<uri>[]

Reference image URL list for image-to-image and image editing features

Notes:

  • Up to 16 reference images per request
  • Supported formats: .jpeg, .jpg, .png, .webp
  • Image URLs must be directly accessible by the server, or URLs that trigger direct download (typically URLs ending with image extensions like .png, .jpg)
Maximum array length: 16
Example:
[
"https://example.com/image1.png",
"https://example.com/image2.png"
]
callback_url
string<uri>

HTTPS callback URL for task completion

Callback Timing:

  • Triggered when task is completed, failed, or cancelled
  • Sent after billing confirmation

Security Restrictions:

  • HTTPS protocol only
  • Internal IP addresses are prohibited (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
  • URL length must not exceed 2048 characters

Callback Mechanism:

  • Timeout: 10 seconds
  • Maximum 3 retries after failure (at 1/2/4 seconds after failure)
  • Callback response format is consistent with task query API
  • 2xx status code is considered successful, other codes trigger retry
Example:

"https://your-domain.com/webhooks/image-task-completed"

Response

Image task created successfully

created
integer

Task creation timestamp

Example:

1757156493

id
string

Task ID

Example:

"task-unified-1757156493-imcg5zqt"

model
string

Actual model name used

Example:

"gpt-image-2-beta"

object
enum<string>

Task object type

Available options:
image.generation.task
progress
integer

Task progress percentage (0-100)

Required range: 0 <= x <= 100
Example:

0

status
enum<string>

Task status

Available options:
pending,
processing,
completed,
failed
Example:

"pending"

task_info
object

Async task information

type
enum<string>

Task output type

Available options:
text,
image,
audio,
video
Example:

"image"

usage
object

Usage and billing information