Skip to main content
POST
/
v1
/
videos
curl --request POST \
  --url https://api.powertokens.ai/v1/videos \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "wan2.1-kf2v-plus",
  "images": [
    "https://example.com/first-frame.png",
    "https://example.com/last-frame.png"
  ],
  "prompt": "Realistic style, a black kitten curiously looks up at the sky, the camera gradually rises from eye level, ending with a top-down shot of its curious eyes.",
  "seconds": "5",
  "size": "720P",
  "prompt_extend": true
}
'
{
  "id": "<string>",
  "task_id": "<string>",
  "object": "video",
  "model": "<string>",
  "progress": 123,
  "created_at": 123
}

Authorizations

Authorization
string
header
required

Pass Authorization: Bearer <token> in the request header.

Body

application/json
model
enum<string>
required

Wan first-last-frame image-to-video model.

Available options:
wan2.1-kf2v-plus
images
string[]
required

First-last-frame image URL array. Must contain exactly 2 images in order: images[0] is the first frame, images[1] is the last frame. The output video aspect ratio matches the first frame image; the last frame is cropped to fit the first frame aspect ratio.

Required array length: 2 elements
prompt
string
required

Text prompt describing the transition from first frame to last frame. Supports Chinese and English, up to 800 characters.

seconds
enum<string>
default:5

Video duration (seconds) as a string. Currently fixed at "5".

Available options:
5
size
enum<string>
default:720P

Output video resolution tier. wan2.2-kf2v-flash supports 480P/720P/1080P, wan2.1-kf2v-plus supports 720P.

Available options:
480P,
720P,
1080P
prompt_extend
boolean
default:true

Whether to enable intelligent prompt rewriting.

watermark
boolean
default:false

Whether to add a watermark to the video.

seed
integer

Random seed, range [0, 2147483647].

negative_prompt
string

Negative prompt describing content you do not want in the video. Up to 500 characters.

Response

Submitted successfully. Returns a video task object.

id
string
task_id
string
object
string
Example:

"video"

model
string
status
enum<string>
Available options:
pending,
queued,
running,
succeeded,
failed,
cancelled
progress
integer
created_at
integer<int64>