Skip to main content
POST
/
v1
/
ai
/
text-to-video
/
wan-2-7
WAN 2.7 - Create video from text
curl --request POST \
  --url https://api.freepik.com/v1/ai/text-to-video/wan-2-7 \
  --header 'Content-Type: application/json' \
  --header 'x-freepik-api-key: <api-key>' \
  --data '
{
  "prompt": "A serene mountain landscape at golden hour with mist rising through the valley, cinematic slow camera pan",
  "webhook_url": "https://www.example.com/webhook",
  "negative_prompt": "watermark, text, distortion, blurry, extra limbs",
  "audio_url": "<string>",
  "aspect_ratio": "16:9",
  "resolution": "1080P",
  "duration": 5,
  "seed": 12345,
  "additional_settings": {
    "prompt_extend": true
  }
}
'
{
  "data": {
    "generated": [],
    "task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
    "status": "CREATED"
  }
}

Authorizations

x-freepik-api-key
string
header
required

Your Freepik API key. Required for authentication. Learn how to obtain an API key

Body

application/json

Generate video from a text prompt using WAN 2.7. Supports configurable aspect ratios (16:9, 9:16, 1:1, 4:3, 3:4), resolutions (720P, 1080P), optional audio input, and duration from 2 to 15 seconds.

prompt
string
required

Text description of the video to generate. Describe the scene, characters, motion, camera movements, lighting, and style in detail for best results.

Tips:

  • Be specific about scenes and visual details
  • Describe camera movements (zoom, pan, tilt)
  • Mention lighting and atmosphere

Examples:

  • Simple: "a cat sitting on a windowsill"
  • Detailed: "fluffy orange cat on wooden windowsill, looking at snow falling outside, soft warm lighting, cinematic slow camera pan"
Maximum string length: 5000
Example:

"A serene mountain landscape at golden hour with mist rising through the valley, cinematic slow camera pan"

webhook_url
string<uri>

Optional callback URL that will receive asynchronous notifications whenever the task changes status. The payload sent to this URL is the same as the corresponding GET endpoint response, but without the data field.

Example:

"https://www.example.com/webhook"

negative_prompt
string

Elements to avoid in the generated video. Use this to prevent unwanted artifacts or styles.

Examples: "blurry, low quality, watermark, text, distortion, extra limbs"

Maximum string length: 500
Example:

"watermark, text, distortion, blurry, extra limbs"

audio_url
string<uri>

URL of an audio file to guide the video generation. If not provided, the model may auto-generate audio.

Supported formats: WAV, MP3 Duration: 2-30 seconds Maximum file size: 15MB

aspect_ratio
enum<string>
default:16:9

Output video aspect ratio:

  • 16:9: Landscape (widescreen)
  • 9:16: Portrait (vertical, mobile-optimized)
  • 1:1: Square
  • 4:3: Standard landscape
  • 3:4: Standard portrait
Available options:
16:9,
9:16,
1:1,
4:3,
3:4
resolution
enum<string>
default:1080P

Output video resolution:

  • 720P: 720p HD (1280x720)
  • 1080P: 1080p Full HD (1920x1080)
Available options:
720P,
1080P
duration
integer
default:5

Duration of the output video in seconds.

Required range: 2 <= x <= 15
Example:

5

seed
integer

Random seed for reproducible generation. Use the same seed with identical parameters to reproduce results. Leave unset for random seed.

Required range: 0 <= x <= 2147483647
Example:

12345

additional_settings
object

Additional generation settings.

Response

OK - The task exists and the status is returned

data
object
required
Example:
{
"task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"status": "CREATED",
"generated": [
"https://openapi-generator.tech",
"https://openapi-generator.tech"
]
}