Skip to main content
POST
/
v1
/
images
/
generations
gpt-4o-image Interface
curl --request POST \
  --url https://api.evolink.ai/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "gpt-4o-image",
  "prompt": "A beautiful sunset over the ocean with vibrant colors"
}'
{
  "created": 1757156493,
  "id": "task-unified-1757156493-imcg5zqt",
  "model": "gpt-4o-image",
  "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"
  }
}

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 when using:

Authorization: Bearer YOUR_API_KEY

Body

application/json
model
enum<string>
default:gpt-4o-image
required

Image generation model name

Available options:
gpt-4o-image
Example:

"gpt-4o-image"

prompt
string
required

Prompt describing the desired image to generate, or describing how to edit the input image

Maximum length: 1000
Example:

"A beautiful sunset over the ocean with vibrant colors"

size
enum<string>

Size of the generated image, supports two formats:

Simplified ratio format:

  • Supports 1:1, 2:3, 3:2 values

Pixel format:

  • Supports 1024x1024, 1024x1536, 1536x1024 values
Available options:
1:1,
2:3,
3:2,
1024x1024,
1024x1536,
1536x1024
Example:

"1024x1024"

n
integer

Number of images to generate, currently only supports 1, 2, 4 values.

Note:

  • A single request will be pre-charged based on the value of n, and the actual charge will be based on the number of generated images
Example:

1

image_urls
string<uri>[]

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

Note:

  • Maximum number of input images per request: 5 images
  • Single image size: no more than 10MB
  • Supported file formats: .jpeg, .jpg, .png, .webp
  • Image URLs must be directly accessible by the server, or the image URL should directly download when accessed (typically these URLs end with image file extensions, such as .png, .jpg)
Example:
[
"https://example.com/image1.png",
"https://example.com/image2.png"
]
mask_url
string<uri>

Mask image URL

Note:

  • When using this parameter, the mask image and reference image must be in PNG format with the same dimensions
  • Mask image size cannot exceed 4MB
  • This parameter cannot be used when the image_urls parameter contains more than 1 image
Example:

"https://example.com/mask.png"

callback_url
string<uri>

HTTPS callback address after task completion

Callback Timing:

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

Security Restrictions:

  • Only HTTPS protocol is supported
  • Callback to internal IP addresses is 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 on failure (retries after 1 second/2 seconds/4 seconds)
  • Callback response body format is consistent with the task query API response format
  • Callback address returning 2xx status code is considered successful, other status codes will 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-4o-image"

object
enum<string>

Specific task 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

Asynchronous task information

type
enum<string>

Task output type

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

"image"

usage
object

Usage and billing information