Video guides

Use your character in Veo 3.1

Google. Verified 2026-10-19. Official docs.

Veo 3.1 produces 8 second clips with native audio and offers three different consistency tools: a first frame, a first plus last frame pair, and up to three reference images of a character. It is strong on realism and lip-synced dialogue, but its people policy is the strictest of the five, so photoreal character packs can be refused in some regions.

Capabilities

  • First frame (image-to-video)Yes
  • Last frameYes
  • Reference images3
  • Native extendYes
  • Max clip8 s at 720p, 1080p or 4K (1080p and 4K require the 8 second length)
  • AudioYes

Which files to use

  • hero.pngFirst frame (image-to-video). Expect the 2:3 still to be fitted into a 16:9 or 9:16 output.
  • closeup.pngReference image 1 (asset type). Face identity.
  • three_quarter.pngReference image 2 (asset type). Face at an angle plus outfit.
  • profile.pngReference image 3 (asset type). Side view; swap for back.png if the action turns away.
  • back.pngLast frame when the shot should end with the character turned away, or reference 3 instead of profile.png.
  • contact_sheet.pngNot recommended as a reference: Veo treats each reference as a whole image and a tiled sheet confuses it.
  • character.jsonBible text goes in every prompt. Put spoken lines in quotation marks for audio.

Steps

  1. Open Google AI Studio (aistudio.google.com) or the Gemini app and choose a Veo 3.1 video model; developers use the google-genai SDK with the same model IDs.
  2. Decide the mode first. Image-to-video: upload hero.png as the starting image. Reference mode: upload closeup.png, three_quarter.png and profile.png as asset references. The two modes are different request shapes; start with one of them, not both.
  3. Paste the bible text from character.json at the top of the prompt, then the action, camera and any dialogue in quotes.
  4. Set aspect ratio (16:9 or 9:16), resolution and the 8 second duration (1080p and 4K need the full 8 seconds).
  5. Leave person generation at allow_adult for image-to-video and reference requests; that is the only accepted value for those modes.
  6. Generate, then download within two days because generated videos are deleted from the server after that.
  7. For a longer scene, extend the finished clip by 7 seconds per step (up to 20 times) rather than re-uploading a frame grab; extension keeps audio and motion continuity.

Prompt template

{{bible}} This is the same character shown in the attached image; keep the face, hairstyle, skin tone, outfit and body proportions identical. {{action}} Cinematic realism, natural movement, consistent lighting, no additional people. Note: use either a starting image or reference images in one request, not both.

Replace {{bible}} with the bible text from character.json and {{action}} with what the character does in the shot.

Tips

Caveats

API notes

Use the google-genai SDK (client.models.generate_videos) or the REST predictLongRunning method with model veo-3.1-generate-preview. The starting image is sent inline as image bytes with a mime type; a last frame goes in the config as lastFrame (requires a starting image) and references go in referenceImages with referenceType set to asset. The call returns a long-running operation that you poll with operations.get until done, then download the video from the returned file reference.

Make a character for Veo 3.1

Other generators: Grok Imagine, Hailuo, Seedance 2.0, Nova Reel.