Skip to content

Veo 3.1 Image to Video

Integrate

Model id veo3.1/image-to-video
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://vit.doitong.com/api/v1/run/veo3.1/image-to-video?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
    "duration": "4s",
    "resolution": "720p",
    "generate_audio": false,
    "image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
  }'

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

This request: $0.80 800 API credits Run it on this page

Get API key
Google Image to Video Native audio4K output4–8 sup to 4k #dialogue

Animates an image into a 4 to 8 second Veo 3.1 clip with dialogue and sound, up to 4K.

Examples

Input
Output · ~76 s

PromptThe camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)

4s720pgenerate_audio: false$0.80 · 800 API credits

Prompt from @fofrAI on X

Build a request

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

•required 94 / 20000

Text description of the desired video for generation.

•required image_url
Drop a file, or

Animation source image URL, with automatic cropping whenever its proportions differ from 16:9 or 9:16. The recommended source is at least 720p and already uses one of those aspect ratios.

duration 4 s

Length of the output video.

aspect_ratio default auto

Output video's aspect ratio, restricted to 16:9 or 9:16.

resolution

Resolution used for the output video.

Advanced negative_prompt · safety_tolerance · seed · auto_fix

Negative prompt used to steer video generation.

safety_tolerance default 4

Set content-moderation tolerance between the least restrictive level, 6, and the strictest level, 1, which blocks most content.

Seed value that initializes random-number generation.

POST /run/veo3.1/image-to-video?wait=20 quote → $0.80
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://vit.doitong.com/api/v1/run/veo3.1/image-to-video?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
    "duration": "4s",
    "resolution": "720p",
    "generate_audio": false,
    "image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://vit.doitong.com/api/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 Veo 3.1 Image to Video

Veo 3.1 turns a still into realistic footage that keeps the subject and framing of the image, with speech, sound effects and music generated together with the picture. 4, 6 or 8 seconds at 720p, 1080p or 4K; the frame follows the image or is forced to 16:9 or 9:16. Audio can be switched off for a lower price.

Parameters

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

NameType DefaultAllowed Description
promptrequired
Typestring
≤ 20,000 characters
Text description of the desired video for generation.
aspect_ratiooptional
Typeenum
Defaultauto
auto16:99:16
Output video's aspect ratio, restricted to 16:9 or 9:16.
durationoptional
Typeenum
Default8s
4s6s8s
Length of the output video.
negative_promptoptional
Typestring | null
Negative prompt used to steer video generation.
resolutionoptional
Typeenum
Default720p
720p1080p4k
Resolution used for the output video.
generate_audiooptional
Typeboolean
Defaulttrue
Controls whether the video includes generated audio.
seedoptional
Typeinteger | null
Seed value that initializes random-number generation.
auto_fixoptional
Typeboolean
Defaultfalse
Automatic rewriting of prompts to try to resolve failures in content-policy checks or other validation.
safety_toleranceoptional
Typeenum
Default4
123456
Set content-moderation tolerance between the least restrictive level, 6, and the strictest level, 1, which blocks most content.
image_urlrequired image
Typeurl · image
Animation source image URL, with automatic cropping whenever its proportions differ from 16:9 or 9:16. The recommended source is at least 720p and already uses one of those aspect ratios.
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": "veo3.1/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": 800,
    "usd": "0.80",
    "charged": 800,
    "refunded": 0
  },
  "input": {
    "prompt": "The fox turns toward the camera and says \"Have you seen my friends?\" in a soft voice, fireflies drift by",
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
    "duration": 6,
    "resolution": "720p"
  },
  "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://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://vit.doitong.com/api/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/veo3.1/image-to-video.md. All models and guides: https://doitong.com/developers/llms.txt