Wan 2.7 I2V
Model ID alibaba/wan-2.7-i2v
Overview
Image-to-video generation with optional end-frame control. Resolution adapts to the input image, so aspect_ratio is not configurable.
Endpoint
POST /v1/video/generations
Authentication
Authorization: Bearer <AIAPIAIAPI_API_KEY>
Request Body
| Parameter | Type | Required | Nullable | Default | Constraints | Description |
|---|---|---|---|---|---|---|
model | string | Yes | No | - | values: alibaba/wan-2.7-i2v | Model ID used to route the request. |
prompt | string | Yes | No | - | - | Text prompt describing the desired video. |
image | string | Yes | No | - | accepts: HTTPS URL, Base64 data URL | Primary input or first-frame image; accepts an HTTPS URL or Base64 data URL. |
end_image | string | No | No | - | accepts: HTTPS URL, Base64 data URL | Optional end-frame image; accepts an HTTPS URL or Base64 data URL. |
duration | integer | No | No | `5` | range: 2-15 | Generated video duration in seconds. |
resolution | string | No | No | `720p` | values: 480p, 720p, 1080p | Output video resolution. |
seed | integer | No | No | - | min: -1 | Random seed; use -1 for a random result. |
prompt_extend | boolean | No | No | - | - | Whether the upstream model should expand or enhance the prompt. |
model
Type: string · Required: Yes · Nullable: No
Model ID used to route the request.
prompt
Type: string · Required: Yes · Nullable: No
Text prompt describing the desired video.
image
Type: string · Required: Yes · Nullable: No
Primary input or first-frame image; accepts an HTTPS URL or Base64 data URL.
end_image
Type: string · Required: No · Nullable: No
Optional end-frame image; accepts an HTTPS URL or Base64 data URL.
duration
Type: integer · Required: No · Nullable: No
Generated video duration in seconds.
resolution
Type: string · Required: No · Nullable: No
Output video resolution.
seed
Type: integer · Required: No · Nullable: No
Random seed; use -1 for a random result.
prompt_extend
Type: boolean · Required: No · Nullable: No
Whether the upstream model should expand or enhance the prompt.
Request Example
curl --request POST \
--url https://aiapiaiapi.com/v1/video/generations \
--header 'Authorization: Bearer $AIAPIAIAPI_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "alibaba/wan-2.7-i2v",
"prompt": "A cinematic camera movement through a forest",
"image": "https://example.com/reference.jpg",
"duration": 5,
"resolution": "720p"
}'JSON
{
"model": "alibaba/wan-2.7-i2v",
"prompt": "A cinematic camera movement through a forest",
"image": "https://example.com/reference.jpg",
"duration": 5,
"resolution": "720p"
}Response
{
"id": "vid_01K2ABC123",
"object": "video.generation",
"model": "alibaba/wan-2.7-i2v",
"status": "queued",
"progress": null,
"outputs": [],
"created_at": 1786960800,
"started_at": null,
"completed_at": null,
"error": null
}Task Status
Use the id from the create response as task_id:
GET /v1/video/generations/{task_id}
{
"id": "vid_01K2ABC123",
"object": "video.generation",
"model": "alibaba/wan-2.7-i2v",
"status": "completed",
"progress": 100,
"outputs": [
{ "type": "video", "url": "https://cdn.example.com/videos/vid_01K2ABC123.mp4" }
],
"created_at": 1786960800,
"started_at": 1786960805,
"completed_at": 1786960900,
"error": null
}Error Responses
Validation errors return HTTP 400 with a stable error code.
{
"error": {
"type": "invalid_request_error",
"code": "unsupported_value",
"message": "The parameter value is not supported by this model.",
"param": "duration"
}
}Documentation Index
Fetch the complete documentation index at:
https://aiapiaiapi.com/llms.txt
Use this file to discover all available API documentation.