Wan 2.7 Text-to-Video

aliyun/wan2-7/text-to-video
OfficialText-to-Video

Tongyi Wanxiang Wan 2.7 Text-to-Video is Alibaba Cloud's next-generation text-to-video model. Supporting long Chinese and English prompts with smart expansion, it generates native 720P/1080P HD videos directly from text, up to 15 seconds per run. Featuring native audio-visual coordination and sound effect sync, it adaptively supports multiple aspect ratios like 16:9 and 9:16 with strong motion continuity, realistic physics simulation, and lighting rendering—ideal for commercial ads, short videos, and anime creation.

Read Me

Wan 2.7 Text-to-Video API

Overview

Wan 2.7 Text-to-Video is Alibaba's Wan-family text-to-video interface on iCreat: input a text prompt—optionally with a first-frame reference image and a negative prompt—to generate short video clips. Developers invoke aliyun/wan2-7/text-to-video-sp through an asynchronous task queue, with 720P / 1080P output, five aspect ratios, and 4-15 second durations.

aliyun/wan2-7/text-to-video-sp

Core Capabilities

Text-to-video generation. A text prompt alone drives video generation—no reference materials required—ideal for turning copy and creative descriptions into motion quickly.

First-frame image reference. Pass an image via media[].type: first_frame to anchor the opening frame (image-to-video style), while the prompt describes how the scene evolves.

Negative prompts. negative_prompt describes content that should not appear in the video, giving fine-grained control over what the model avoids.

Two resolutions. 720P for cost-effective iteration, 1080P for sharper final delivery.

Five aspect ratios. 1:1, 9:16, 16:9, 3:4, 4:3 cover square feeds, vertical short video, and landscape formats.

4-15 second durations. Short clips sized for teasers, loops, and social snippets.

Watermark control. watermark defaults to false; enable it when an AI-generated mark is required.

Asynchronous task design. Submit → poll → retrieve workflow that is batch-friendly and easy to integrate with fault tolerance.

Model Comparison

Wan 2.7 Text-to-Video vs Seedance 2.5 Text-to-Video vs Kling V3 Omni

Field Wan 2.7 T2V Seedance 2.5 T2V Kling V3 Omni
Developer Alibaba ByteDance Kuaishou
Max Duration 15s 30s (multi-round extension) 15s
Resolution 720P / 1080P 480P / 720P 720P / 1080P / 4K
Aspect Ratios 1:1, 9:16, 16:9, 3:4, 4:3 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive 16:9, 9:16, 1:1
Reference Input First-frame image Text-driven (reference images optional) Images, videos, characters
Negative Prompt Yes (negative_prompt)
5s Price $0.50 (720P) / $0.75 (1080P) $0.70 (480p) / $1.52 (720p) Std $0.42
Best For Budget short clips, first-frame control Copy/script to video Long-form narrative, multi-shot

Input

Text prompt is required. A negative prompt and a first-frame reference image are optional.

Input Type Quantity Format Notes
Text prompt 1 input.prompt Required; describes the video to generate
Negative prompt 1 input.negative_prompt Optional; content that should not appear
First-frame image 1 input.media[] Optional; type: first_frame + url

Input Examples

With a first-frame image and negative prompt

{
  "input": {
    "prompt": "A running kitten",
    "negative_prompt": "The kitten should not run in a straight line",
    "media": [
      {
        "type": "first_frame",
        "url": "https://example.com/cat.jpg"
      }
    ]
  },
  "parameters": {
    "resolution": "720P",
    "ratio": "1:1",
    "duration": 5,
    "watermark": false
  }
}

Without a negative prompt

{
  "input": {
    "prompt": "A kitten running across a grassy field",
    "media": [
      {
        "type": "first_frame",
        "url": "https://example.com/cat.jpg"
      }
    ]
  },
  "parameters": {
    "resolution": "1080P",
    "ratio": "16:9",
    "duration": 5,
    "watermark": false
  }
}

Parameters

input fields

Field Type Required Description
prompt string Yes Prompt describing the video to generate
negative_prompt string No Describes content that should not appear in the video
media object[] No List of reference media
media[].type string Yes Media type. Use first_frame for the first-frame image
media[].url string Yes URL of the reference image

parameters fields

Field Type Required Description
resolution string Yes Video resolution. Available values: 720P, 1080P
ratio string Yes Video aspect ratio. Available values: 1:1, 9:16, 16:9, 3:4, 4:3
duration integer Yes Video duration in seconds. Range: 415
watermark boolean No Whether to add a watermark. Defaults to false

Pricing

Resolution Unit Price (USD/second) Cost for 5 Seconds Cost for 15 Seconds
720P 0.1 0.50 1.50
1080P 0.15 0.75 2.25
Total Cost = Unit Price × Output Video Duration

Quick Start

This API uses an API Key for authentication. Get your API Key from https://icreat.ai/hub/keys.

Submit a request:

curl --fail-with-body --connect-timeout 10 --max-time 60 \
  -X POST https://api.icreat.ai/v1/task/submit/aliyun/wan2-7/text-to-video-sp \
  -H "Authorization: Bearer ${ICREAT_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "input": {
      "prompt": "A running kitten",
      "negative_prompt": "The kitten should not run in a straight line",
      "media": [
        {
          "type": "first_frame",
          "url": "https://icreat.ai/xxx.jpg"
        }
      ]
    },
    "parameters": {
      "resolution": "720P",
      "ratio": "1:1",
      "duration": 5,
      "watermark": false
    }
  }'

The server returns:

{
  "task_id": "task-xxx"
}

Poll task status:

curl --connect-timeout 10 --max-time 60 \
  -X POST "https://api.icreat.ai/v1/task/query-status" \
  -H "Authorization: Bearer ${ICREAT_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
  "task_id": "task-xxx"
}'

When the status is SUCCEEDED, get the result:

curl --connect-timeout 10 --max-time 60 \
  -X POST "https://api.icreat.ai/v1/task/get-result" \
  -H "Authorization: Bearer ${ICREAT_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
  "task_id": "task-xxx"
}'

Output

submit → task_id → query-status (SUCCEEDED) → get-result

After submitting, poll query-status with the task_id until the status is SUCCEEDED, then call get-result with the same task_id to retrieve the generated video.

Use Cases

Short social clips. 4-15 second teasers, loops, and snippets sized for feeds and stories, with the right aspect ratio for each platform.

E-commerce product motion. Use a product photo as the first frame and let the prompt drive camera or product motion—static shots become moving showcases.

Cost-effective iteration. At $0.50 for a 5-second 720P clip, draft and test multiple creative directions cheaply before committing to premium rendering.

Negative prompt control. Exclude unwanted elements—straight-line motion, background clutter, specific objects—without rewording the main prompt.

Limitations

Duration is capped at 4-15 seconds; longer narratives require multiple requests and post-stitching.

Only 720P and 1080P resolutions are available.

The current interface exposes a single reference media type (first_frame); other reference inputs are not supported.

resolution, ratio, and duration are required fields and must be included in every request.

FAQ

How do I get an API Key?

Create one at https://icreat.ai/hub/keys and pass it via the Authorization: Bearer header.

Can I generate video starting from an image?

Yes. Pass the image through input.media with "type": "first_frame" and its URL; the video starts from that frame. The text prompt is still required to describe the motion.

What does negative_prompt do?

It describes content that should not appear in the video—for example, "The kitten should not run in a straight line"—without altering the main prompt.

Is the watermark enabled by default?

No. watermark defaults to false; set it to true if you need an AI-generated watermark.

How is billing calculated?

Total Cost = Unit Price × Output Video Duration. For example, a 10-second 1080P video costs 0.15 × 10 = $1.50.

720P or 1080P?

Use 720P for fast, low-cost iteration and 1080P for final delivery when sharper detail matters.