Skip to main content
POST
/
v1
/
images
/
generations
doubao-seedream-4.0 Interface
curl --request POST \
  --url https://api.evolink.ai/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "doubao-seedream-4.0",
  "prompt": "A serene lake reflecting the beautiful sunset scenery"
}'
{
  "created": 1757165031,
  "id": "task-unified-1757165031-seedream4d",
  "model": "doubao-seedream-4.0",
  "object": "image.generation.task",
  "progress": 0,
  "status": "pending",
  "task_info": {
    "can_cancel": true,
    "estimated_time": 45
  },
  "type": "image",
  "usage": {
    "billing_rule": "per_call",
    "credits_reserved": 1.8,
    "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:doubao-seedream-4.0
required

Image generation model name

Available options:
doubao-seedream-4.0
Example:

"doubao-seedream-4.0"

prompt
string
required

Prompt describing the image to be generated, or describing how to edit the input image

Maximum length: 1000
Example:

"A serene lake reflecting the beautiful sunset scenery"

n
integer

Specifies the upper limit for the number of images to generate, supports any integer value between [1,15]

Note:

  • If you need to generate multiple images, please include in the prompt: " generate 2 different images " or similar instructions

  • Reference image count + final generated image count ≤ 15

  • If: reference image count + required images in prompt > 15, and required images in prompt ≤ parameter n value, then final generated image count = 15 - reference image count

  • Single request will pre-charge based on the value of n, actual billing is based on the number of images generated

Example:

1

size
string

Size of generated images, supports two formats:

Simplified format:

  • 1K, 2K, 4K

Pixel format:

  • Width x height, such as: 1280x720, 1024x1024, 4096x4096 and other values within the range
  • Total pixel range: [1280x720, 4096x4096]
  • Aspect ratio range: [1/16, 16]
Example:

"2048x2048"

image_urls
string<uri>[]

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

Note:

  • Maximum number of input images per request: 10
  • Image size: not exceeding 10MB
  • Supported image formats: .jpeg, .jpg, .png
  • Aspect ratio (width/height) range: [1/3, 3]
  • Total pixels: not exceeding 6000×6000
  • 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)
Maximum length: 10
Example:
[
"https://example.com/image1.png",
"https://example.com/image2.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 generation task created successfully

created
integer

Task creation timestamp

Example:

1757165031

id
string

Task ID

Example:

"task-unified-1757165031-seedream4d"

model
string

Actual model name used

Example:

"doubao-seedream-4.0"

object
enum<string>

Specific type of the task

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>

Output type of the task

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

"image"

usage
object

Usage and billing information