PopNowAPI Docs
Main content

Wan 2.1 LoRA API reference

Wan 2.1 video and edits with your own LoRAs, camera moves included

Call Wan 2.1 LoRA from your own code with one PopNow API key. Below are the exact model IDs to send, every input field the model accepts, what each request costs in credits, and a request you can paste into a terminal.

At a glance

Made by
Alibaba
Output
Video
From
36 credits per request ($0.36)

1 credit = $0.01. A task holds the highest possible charge when it is accepted and settles the real amount when it finishes, rounded up to whole credits; failed tasks are not charged. Ask POST /api/v1/jobs/quote for the exact figure before you run.

Create Video

alibaba/wan-2.1-lora/text-to-video

Price

OptionCredits (per request)US dollars
duration_seconds = 5, resolution = 480p36$0.36
duration_seconds = 10, resolution = 480p54$0.54
duration_seconds = 5, resolution = 720p54$0.54
duration_seconds = 10, resolution = 720p81$0.81

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring——Describe the scene, the action and the camera. If a LoRA has trigger words, put them first.
negative_promptOptionalstring——What must stay out of the clip.
aspect_ratioOptionalstring16:916:9, 9:16Output aspect ratio.
resolutionOptionalstring480p480p, 720pOutput resolution.
duration_secondsOptionalinteger55, 10Clip length: 5 or 10 seconds.
lorasOptionalarray<object>[]up to 3 itemsUp to three LoRA weight files trained for Wan 2.1 14B, each with its own strength.
guidance_scaleOptionalnumber50 to 20How closely the clip follows the prompt, from 0 to 20.
flow_shiftOptionalnumber—1 to 10Flow-matching timestep shift, from 1 to 10. Leave it out for the default (3 at 480p, 5 at 720p).
stepsOptionalinteger301 to 40Denoising steps, from 1 to 40. Fewer steps return faster and softer.
seedOptionalinteger—0 to 2147483647Random seed for controlled comparisons, not a frame-identical guarantee.

Example request

This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.

POST /api/v1/jobs/createTask
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "model": "alibaba/wan-2.1-lora/text-to-video",
  "input": {
    "prompt": "A paper boat drifts down a rain-soaked street at dusk, neon signs reflecting in the water, slow tracking shot at ground level",
    "duration_seconds": 5,
    "resolution": "480p"
  }
}'

The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.

GET /api/v1/jobs/recordInfo
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Image to Video

alibaba/wan-2.1-lora/image-to-video

Price

OptionCredits (per request)US dollars
duration_seconds = 5, resolution = 480p36$0.36
duration_seconds = 10, resolution = 480p54$0.54
duration_seconds = 5, resolution = 720p54$0.54
duration_seconds = 10, resolution = 720p81$0.81

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring——Describe what happens after the opening frame and how the camera moves.
image_urlRequiredstring (uri)——Opening frame. The clip keeps its aspect ratio.
negative_promptOptionalstring——What must stay out of the clip.
resolutionOptionalstring480p480p, 720pOutput resolution.
duration_secondsOptionalinteger55, 10Clip length: 5 or 10 seconds.
lorasOptionalarray<object>[]up to 3 itemsUp to three LoRA weight files trained for Wan 2.1 14B, each with its own strength.
guidance_scaleOptionalnumber50 to 20How closely the clip follows the prompt, from 0 to 20.
flow_shiftOptionalnumber—1 to 10Flow-matching timestep shift, from 1 to 10. Leave it out for the default (3 at 480p, 5 at 720p).
stepsOptionalinteger301 to 40Denoising steps, from 1 to 40. Fewer steps return faster and softer.
seedOptionalinteger—0 to 2147483647Random seed for controlled comparisons, not a frame-identical guarantee.

Example request

This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.

The example uses PopNow sample files in image_url. Replace them with your own public HTTPS links, uploads or saved assets.

POST /api/v1/jobs/createTask
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "model": "alibaba/wan-2.1-lora/image-to-video",
  "input": {
    "prompt": "He lands softly on the rooftop, laughs and turns toward the camera while the balloons sway in the evening breeze; slow push-in",
    "image_url": "https://media.popnow.ai/influencer/examples/marco.webp",
    "duration_seconds": 5,
    "resolution": "480p"
  }
}'

The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.

GET /api/v1/jobs/recordInfo
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Edit Video

alibaba/wan-2.1-lora/video-edit

Price

OptionCredits (per request)US dollars
duration_seconds = 5, resolution = 480p36$0.36
duration_seconds = 10, resolution = 480p54$0.54
duration_seconds = 5, resolution = 720p54$0.54
duration_seconds = 10, resolution = 720p81$0.81

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring——Describe how the whole clip should look after the restyle: subject, wardrobe, setting, style.
video_urlRequiredstring (uri)——Source clip. Its motion and timing carry over to the result.
negative_promptOptionalstring——What must stay out of the clip.
resolutionOptionalstring480p480p, 720pOutput resolution.
strengthOptionalnumber0.90.1 to 1How far to move away from the source, from 0.1 to 1.
duration_secondsOptionalinteger55, 10Clip length: 5 or 10 seconds.
lorasOptionalarray<object>[]up to 3 itemsUp to three LoRA weight files trained for Wan 2.1 14B, each with its own strength.
guidance_scaleOptionalnumber50 to 20How closely the clip follows the prompt, from 0 to 20.
flow_shiftOptionalnumber—1 to 10Flow-matching timestep shift, from 1 to 10. Leave it out for the default (3 at 480p, 5 at 720p).
stepsOptionalinteger301 to 40Denoising steps, from 1 to 40. Fewer steps return faster and softer.
seedOptionalinteger—0 to 2147483647Random seed for controlled comparisons, not a frame-identical guarantee.

Example request

This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.

The example uses PopNow sample files in video_url. Replace them with your own public HTTPS links, uploads or saved assets.

POST /api/v1/jobs/createTask
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "model": "alibaba/wan-2.1-lora/video-edit",
  "input": {
    "prompt": "Recolor the flowers in soft pastel blue; keep the face and the motion unchanged",
    "video_url": "https://media.popnow.ai/effects/flower-bloom-1abd6efb.mp4",
    "duration_seconds": 5,
    "resolution": "480p"
  }
}'

The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.

GET /api/v1/jobs/recordInfo
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Next steps

On this page