Skip to content

PixVerse V4 Image To Video

Integrate

Model id pixverse/v4/image-to-video
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/pixverse/v4/image-to-video?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Files like the example: $0.20 200 API credits your files are measured before the run Run it on this page

Get API key
PixVerse · Video

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required

Video-generation prompt with a byte-based size cap: even visually brief text can exceed it when emoji, accented letters, or non-Latin characters take multiple bytes per character. The maximum encoded length is 2048 bytes using UTF-8; character count does not determine whether it fits.

•required image_url
Drop a file, or

Image URL supplying the initial frame.

duration 5 s

Video duration, subject to a 5-second maximum for 1080p output; specify the length in seconds.

resolution default 720p

Resolution for the output video.

Advanced negative_prompt · style · camera_movement · seed · enable_safety_checker
default

Negative generation prompt with a byte-based length limit: even visually brief text may exceed the cap because emoji, accented letters, and non-Latin characters occupy multiple bytes. The maximum is 2048 bytes measured in UTF-8, not a character count.

style

Style applied to the generated video.

Camera movement type applied to the video.

Seed for repeatable video generation. Exact reproduction on every run requires an unchanged model version, prompt, and seed.

POST /run/pixverse/v4/image-to-video?wait=20 quote → $0.20
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/pixverse/v4/image-to-video?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About PixVerse V4 Image To Video

Animates `image_url`, used as the first frame, following a `prompt`. Unlike V3.5, it accepts `camera_movement` with options such as zoom_in, crane_up, whip_pan, robo_arm and hitchcock. Output is 360p to 1080p and 5 or 8 seconds, with 1080p limited to 5. A `style` preset, `negative_prompt` and `seed` are also available.

Parameters

Send either the canonical name or the native name, not both. Canonical names

NameType DefaultAllowed Description
promptrequired
Typestring
Video-generation prompt with a byte-based size cap: even visually brief text can exceed it when emoji, accented letters, or non-Latin characters take multiple bytes per character. The maximum encoded length is 2048 bytes using UTF-8; character count does not determine whether it fits.
resolutionoptional
Typeenum
Default720p
360p540p720p1080p
Resolution for the output video.
durationoptional
Typeenum
Default5
58
Video duration, subject to a 5-second maximum for 1080p output; specify the length in seconds.
negative_promptoptional
Typestring
Default
Negative generation prompt with a byte-based length limit: even visually brief text may exceed the cap because emoji, accented letters, and non-Latin characters occupy multiple bytes. The maximum is 2048 bytes measured in UTF-8, not a character count.
styleoptional
Typeenum
anime3d_animationclaycomiccyberpunk
Style applied to the generated video.
seedoptional
Typeinteger | null
Seed for repeatable video generation. Exact reproduction on every run requires an unchanged model version, prompt, and seed.
image_urlrequired image
Typeurl · image
Image URL supplying the initial frame.
camera_movementoptional
Typeenum
horizontal_lefthorizontal_rightvertical_upvertical_downzoom_inzoom_outcrane_upquickly_zoom_inquickly_zoom_outsmooth_zoom_incamera_rotationrobo_armsuper_dolly_outwhip_panhitchcockleft_follow
+4 moreright_followpan_leftpan_rightfix_bg
Camera movement type applied to the video.
enable_safety_checkeroptional
Typeboolean
Defaulttrue
Screening can be relaxed by setting false, provided the caller is authorized.
required Canonical name, also accepted

File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "pixverse/v4/image-to-video",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 200,
    "usd": "0.20",
    "charged": 200,
    "refunded": 0
  },
  "input": {
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  },
  "output": {
    "video": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    }
  },
  "outputs": [
    {
      "type": "video",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_size": 1843200,
      "width": 1280,
      "height": 720,
      "duration": 5,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
video
object {url, content_type, file_name, file_size}Video produced by the model.

More models: Image to Video

For AI agents: this page as Markdown is at https://doitong.com/developers/models/pixverse/v4/image-to-video.md. All models and guides: https://doitong.com/developers/llms.txt