Wan2.5 Text to Image
- WAN2.5 (wan2.5-text-to-image) model supports text-to-image generation mode
- Asynchronous processing mode, use the returned task ID to query
- Generated image links are valid for 24 hours, please save them promptly
OpenAPI
````yaml en/api-manual/image-series/wan2.5/wan2.5-text-to-image.json post /v1/images/generations openapi: 3.1.0 info: title: wan2.5-text-to-image Interface description: >- Use WAN2.5 model for text-to-image generation with simplified model parameter configuration license: name: MIT version: 1.0.0 servers: - url: https://ai.odkkk.com/apiv1 description: Production environment security: - bearerAuth: [] tags: - name: Image Generation description: AI image generation related APIs paths: /v1/images/generations: post: tags: - Image Generation summary: wan2.5-text-to-image Interface description: >- - WAN2.5 (wan2.5-text-to-image) model supports text-to-image generation mode
- Asynchronous processing mode, use the returned task ID to
[query](/en/api-manual/task-management/get-task-detail)
- Generated image links are valid for 24 hours, please save them
promptly
operationId: createWan25TextToImageGeneration
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Wan25TextToImageRequest'
examples:
text_to_image:
summary: Text to Image
value:
model: wan2.5-text-to-image
prompt: A serene lake reflecting the beautiful sunset scenery
responses:
'200':
description: Image task created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ImageGenerationResponse'
'400':
description: Invalid request parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 400
message: Invalid request format
type: invalid_request_error
param: model
'401':
description: Authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 401
message: Invalid authentication credentials
type: authentication_error
'403':
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 403
message: Access denied for this model
type: permission_error
param: model
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 404
message: Specified model not found
type: not_found_error
param: model
fallback_suggestion: wan2.5-text-to-image
'429':
description: Rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 429
message: Rate limit exceeded
type: rate_limit_error
fallback_suggestion: retry after 60 seconds
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 500
message: Internal server error
type: internal_server_error
fallback_suggestion: try again later
'502':
description: Upstream service error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 502
message: Bad gateway
type: upstream_error
fallback_suggestion: try again later
'503':
description: Service temporarily unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 503
message: Service temporarily unavailable
type: service_unavailable_error
fallback_suggestion: retry after 30 seconds
components: schemas: Wan25TextToImageRequest: type: object required: - model - prompt properties: model: type: string description: Model name enum: - wan2.5-text-to-image default: wan2.5-text-to-image example: wan2.5-text-to-image prompt: type: string description: Prompt describing the image to generate, limited to 2000 tokens example: A peaceful lake reflecting the beautiful sunset maxLength: 2000 size: type: string description: >- Size of the generated image, currently only supports pixel format:
- Width x Height, such as: `768x768`, `1280x1280`, `1440x1440` and
other values within the range
- Total pixel range: `[768x768, 1440x1440]`
- Aspect ratio range: `[1/4, 4]`
example: 1280x1280
'n':
type: integer
description: >-
Number of images to generate, supports any integer value between
`[1,4]`
**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
prompt_extend:
type: boolean
description: >-
Whether to enable intelligent prompt rewriting. When enabled, a
large language model will optimize the prompt. This is particularly
effective for prompts that lack detail or are too simple. Default
value is `true`
default: true
example: true
callback_url:
type: string
description: >-
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
format: uri
example: https://your-domain.com/webhooks/image-task-completed
ImageGenerationResponse:
type: object
properties:
created:
type: integer
description: Task creation timestamp
example: 1757156493
id:
type: string
description: Task ID
example: task-unified-1757156493-imcg5zqt
model:
type: string
description: Actual model name used
example: wan2.5-text-to-image
object:
type: string
enum:
- image.generation.task
description: Specific task type
progress:
type: integer
description: Task progress percentage (0-100)
minimum: 0
maximum: 100
example: 0
status:
type: string
description: Task status
enum:
- pending
- processing
- completed
- failed
example: pending
task_info:
$ref: '#/components/schemas/TaskInfo'
description: Asynchronous task information
type:
type: string
enum:
- text
- image
- audio
- video
description: Task output type
example: image
usage:
$ref: '#/components/schemas/Usage'
description: Usage and billing information
ErrorResponse:
type: object
properties:
error:
type: object
properties:
code:
type: integer
description: Error code
message:
type: string
description: Error message
type:
type: string
description: Error type
param:
type: string
description: Parameter name that caused the error
fallback_suggestion:
type: string
description: Suggested solution
TaskInfo:
type: object
properties:
can_cancel:
type: boolean
description: Whether the task can be cancelled
example: true
estimated_time:
type: integer
description: Estimated completion time (seconds)
minimum: 0
example: 30
Usage:
type: object
description: Usage and billing information
properties:
billing_rule:
type: string
description: Billing rule
enum:
- per_call
- per_token
- per_second
example: per_call
credits_reserved:
type: number
description: Estimated credits consumed
minimum: 0
example: 1
user_group:
type: string
description: User group category
enum:
- default
- vip
example: default
securitySchemes: bearerAuth: type: http scheme: bearer description: >- ##All APIs require Bearer Token authentication##
**Get API Key:**
Visit [API Key Management Page](https://ai.odkkk.com/apiv1/dashboard/keys) to
get your API Key
**Add to request header when using:**
```
Authorization: Bearer YOUR_API_KEY
```
````
To find navigation and other pages in this documentation, fetch the llms.txt file at: https://ai.odkkk.com/apiv1/docs/llms.txt