Veo 3.1 Image to Video

google/veo3.1/image-to-video

Veo 3.1 by Google - animate still images into dynamic videos with AI. Transform photos into cinematic clips with natural motion, camera movement, and optional audio generation.

Base price
$3.20USD / run
Execution
async
Model type
video
Input fields
8
Production route

Try the model

Playground

Open playground
Input
The text prompt describing the video you want to generate

PNG, JPEG, WebP, or GIF · 20 MiB maximum

First frame of the video. 720p or higher in 16:9 or 9:16 works best.
Duration of the generated video in seconds. Allowed values: 4, 6, 8.
Output resolution. Allowed values: 720p, 1080p, 4k.
Output aspect ratio. Omit to match the input image. Allowed values: 16:9, 9:16.
Generate synchronized audio. Videos without audio are cheaper.
What to avoid in the video.
Random seed for more reproducible results. Range: 0 to 4294967295.
OutputReady

Your output will appear here

Complete the inputs, then click Run.

Model card

Specifications

Pricing

Base price
$3.20 / run

Context & modalities

Input
Schema-defined
Output
video

Capabilities

Chat
Not supported
Vision
Not supported
Reasoning
Not supported
Structured output
Not supported
Function calling
Not supported
Audio input
Not supported

Access

Provider
Google
Model ID
google/veo3.1/image-to-video
Execution
async
Base URL
https://api.sandbase.ai
API
Unified Run API
Endpoint
/v1/run

Human preference

Arena

Elo ratings from blind side-by-side votes, compared with other image and video models.

Rankings sourced from Artificial Analysis Arena

Leaderboard
Image to Video
Rank
#17 of 29
Elo
955 ±19
Gap to #1
−175

Image-to-video arena (silent): people pick the better of two clips animated from the same image, without seeing the model names; audio is not judged.

  1. #12Kling 3.0 Omni 1080p (Pro)KlingAIOn SandBase1020±19
  2. #13HappyHorse-1.0Alibaba-ATHOn SandBase1014±19
  3. #14Grok Imagine Video 1.5 LiteSpaceXAI1003±19
  4. #15Kling 3.0 1080p (Pro)KlingAIOn SandBase1000
  5. #16PixVerse V6PixVerseOn SandBase966±19
  6. #17Veo 3.1GoogleThis model955±19
  7. #18Veo 3.1 FastGoogleOn SandBase938±19
  8. #19Vidu Q3 TurboViduOn SandBase928±19
  9. #20Veo 3.1 LiteGoogleOn SandBase924±19
  10. #21LTX-2.5 FastLightricks915±20

API README

Veo 3.1 Image to Video

Veo 3.1 image-to-video, Google's highest-quality video model. image becomes the first frame and the prompt directs motion, camera, and sound for a 4–8 second clip.

Fields

FieldTypeDefaultNotes
promptstring, required—Up to 20,000 characters.
imageimage URL, required—First frame. JPEG, PNG, or WebP URL.
duration4 / 6 / 88Output length in seconds.
resolution720p / 1080p / 4k720pSets the per-second rate.
aspect_ratio16:9 / 9:16—Output frame shape.
generate_audiobooleantrueNative dialogue, music, and effects; turning it off lowers the rate.
negative_promptstring—What to avoid.
seedinteger 0–4294967295randomFix it to compare prompt changes.

Billing

You pay for output seconds, Google's list price. With audio: $0.40 at 720p, $0.40 at 1080p, $0.60 at 4k. Without audio: $0.20 / $0.20 / $0.40 respectively.

Output720p1080p4k
4s with audio$1.60$1.60$2.40
6s with audio$2.40$2.40$3.60
8s with audio (default)$3.20$3.20$4.80
8s without audio$1.60$1.60$3.20

Failed runs are not charged.

Prompting

  • Describe what moves and what the audio should be, not what is already visible.
  • Match aspect_ratio to the input image.

Limits

  • One input image; use first-last-frame-to-video to control the ending.
  • Use Veo 3.1 Fast for cheaper drafts.

Also on SandBase

Other Veo 3.1 endpoints: google/veo3.1/text-to-video, google/veo3.1/first-last-frame-to-video, google/veo3.1/reference-to-video, google/veo3.1/video-extend, google/veo3.1/fast/text-to-video, google/veo3.1/lite/text-to-video.

Start building

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

Production API
Unified Run API endpoint
https://api.sandbase.ai/v1/run
Model ID
google/veo3.1/image-to-video
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
  -X POST "https://api.sandbase.ai/v1/run" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'SANDBASE_JSON'
{
  "model": "google/veo3.1/image-to-video",
  "prompt": "A monkey and polar bear host a casual podcast about AI inference, bringing their unique perspectives from different environments (tropical vs. arctic) to discuss how AI systems make decisions and process information.\nSample Dialogue:\nMonkey (Banana): \"Welcome back to Bananas & Ice! I am Banana\"\nPolar Bear (Ice): \"And I'm Ice!\"",
  "duration": 8,
  "resolution": "720p",
  "generate_audio": true
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
  status=$(printf '%s' "$result" | jq -r .status)
  case "$status" in completed|failed|timeout) break ;; esac
  sleep 2
  result=$(curl --fail-with-body --silent \
    -H "Authorization: Bearer $SANDBASE_API_KEY" \
    "https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"

Choose your model

Compare models

All image & video models
ModelTypeDefault priceReleased
GoogleVideo$3.20 / runOct 8, 2025
GoogleVideo$1.12 / runAug 27, 2026
GoogleVideo$0.80 / runAug 27, 2026
GoogleVideo$0.80 / runAug 27, 2026
GoogleVideo$0.80 / runAug 27, 2026
GoogleVideo$1.04 / runJun 30, 2026

Questions

FAQ

How do I call Google Veo 3.1 Image to Video through SandBase?

Create a SandBase API key, then send requests with the model ID "google/veo3.1/image-to-video" to Unified Run API (/v1/run) at https://api.sandbase.ai. The request examples on this page show the exact payload.

Do I need a separate Google account?

No. One SandBase API key and balance gives you access to Google Veo 3.1 Image to Video and the other models in the catalog; you do not need to sign up with Google separately.