Skip to main content
POST
  1. After submission, a task_id will be returned. If you provided a callback_url, when the task status becomes finished or failed, a POST request will be sent to the callback_url.
  2. Regardless of whether callback_url is provided, you can retrieve the result through the unified Query Task Status endpoint.
Generate high-quality images using the Z-Image model. Supports both text-to-image and image editing with a unified request shape. z-image uses a unified request format:
  • If input.image_urls is omitted, the request is handled as text-to-image
  • If input.image_urls is provided, the request is handled as image editing automatically

Models

  • z-image - Unified text-to-image and image editing model

Required parameters

  • prompt - Required prompt, max 1000 characters

Optional parameters

  • size - Required for text-to-image, optional for image editing. Supported values: 1:1, 4:3, 3:4, 16:9, 9:16
  • image_urls - Optional reference image array for editing, must contain exactly 1 image URL
  • enable_safety_checker - Optional boolean safety checker switch, defaults to true

Examples

Use the unified submit endpoint: POST /api/generate/submit Text-to-image example:
Image editing example:

Notes

  • input.image_urls[0] is used as the edit reference image
  • When image_urls is present, size can be omitted

Authorizations

Authorization
string
header
required

All API endpoints require Bearer Token authentication.

Create an API key: sign in to PoYo, open Dashboard → API Key at poyo.ai/dashboard/api-key, and click to create a key.

Add it to the request header:

Body

application/json
model
enum<string>
required

Z-Image model identifier

Available options:
z-image
input
object
required

Input parameters for generation. size is required for text-to-image. When image_urls is present, the request is routed to image editing automatically and size becomes optional.

callback_url
string<uri>

Webhook callback URL for result notifications

Example:

"https://your-domain.com/callback"

Response

Task submitted successfully

code
enum<integer>
required

Business status code. 200 means success; any other value means the request failed. Always check this field: some validation errors return HTTP 200 with code: 400 in the body.

  • 200: Success
  • 400: Invalid request parameters
  • 401: Missing or invalid API key
  • 402: Insufficient credits
  • 403: Permission denied
  • 404: Resource not found
  • 408: Request timeout
  • 429: Rate limit exceeded
  • 500: Internal server error
  • 502: Upstream service error
  • 503: Service unavailable

See Error Codes for details.

Available options:
200,
400,
401,
402,
403,
404,
408,
429,
500,
502,
503
Example:

200

data
object
required