Skip to main content
POST
/
v1
/
ai
/
text-to-video
/
wan-v2-6-720p
Create a video from text - WAN 2.6 720p
curl --request POST \
  --url https://api.freepik.com/v1/ai/text-to-video/wan-v2-6-720p \
  --header 'Content-Type: application/json' \
  --header 'x-freepik-api-key: <api-key>' \
  --data '
{
  "prompt": "A serene mountain landscape at golden hour with mist rising from the valley",
  "webhook_url": "https://www.example.com/webhook",
  "size": "1280*720",
  "duration": "5",
  "negative_prompt": "blurry, low quality, watermark",
  "enable_prompt_expansion": false,
  "shot_type": "single",
  "seed": 12345
}
'
{
"data": {
"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 720p video from text prompt using WAN v2.6 model

prompt
string
required

Main description of the video - scene, characters, motion, camera moves, style.

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, camera slowly zooms in"
Maximum string length: 2000
Example:

"A serene mountain landscape at golden hour with mist rising from the valley"

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"

size
enum<string>

Video size/orientation:

  • 1280*720: HD landscape (1280x720)
  • 720*1280: HD portrait (720x1280)
  • 1920*1080: Full HD landscape (1920x1080)
  • 1080*1920: Full HD portrait (1080x1920)
Available options:
1280*720,
720*1280,
1920*1080,
1080*1920
Example:

"1280*720"

duration
enum<string>
default:5

Video duration in seconds:

  • 5: Short clip, faster generation
  • 10: Medium length, more developed action
  • 15: Longer video, most detailed scenes
Available options:
5,
10,
15
Example:

"5"

negative_prompt
string

Things to avoid in the generated video. Use this to prevent unwanted elements.

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

Maximum string length: 1000
Example:

"blurry, low quality, watermark"

enable_prompt_expansion
boolean
default:false

Enable AI prompt optimizer to expand shorter prompts into detailed scripts. Useful when you have a simple idea but want richer video output.

Example:

false

shot_type
enum<string>
default:single

Shot composition type:

  • single: Continuous single shot (default, recommended for most use cases)
  • multi: Multi-shot sequence with scene transitions (requires enable_prompt_expansion=true)
Available options:
single,
multi
Example:

"single"

seed
integer
default:-1

Random seed for reproducibility. Use the same seed with identical parameters to get similar results. Set to -1 for random seed.

Required range: -1 <= x <= 2147483647
Example:

12345

Response

OK - Task created successfully

data
object
required
Example:
{
"task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"status": "CREATED"
}