VARIANT · Google / Veo 3.1

Veo 3.1 veo-3.1 API

Same API, same SDK — switch variants by changing one parameter.

Operational · video · Commercial OK
# Works with Claude Code, Codex, Gemini CLI, Cursor, and 50+ agents
npx skills add runapi-ai/veo-3.1 -g
The -g flag installs globally so every project picks it up.
Or paste this prompt to your AI agent:
Install the Veo 3.1 skill for me:

1. Clone https://github.com/runapi-ai/veo-3.1
2. Copy the skills/veo-3.1/ directory into your
   user-level skills directory (e.g. ~/.claude/skills/
   for Claude Code, ~/.codex/skills/ for Codex).
3. Verify that SKILL.md is present.
4. Confirm the install path when done.
Switch variant
veo-3.1-fast
OVERVIEW

veo-3.1 targets the sweet spot of quality and cost within the Veo 3.1 family.

  • Pay-per-call pricing in USD
  • Failed generations not charged
  • Streaming when supported by the model
  • Schema-validated tool calls
PRICING

Pricing

Failed generations are not charged
Text to video
$2.50 / video
SPEC SHEET

Technical details

Model ID veo-3.1
Provider Google
Modality video
Task type asynchronous
Billing unit call
API endpoint /api/v1/veo_3_1/text_to_video
Commercial license Yes — included via API
Status Operational
QUICKSTART

Quickstart — veo-3.1

runapi.ai
curl -X POST https://runapi.ai/api/v1/veo_3_1/text_to_video \
  -H "Authorization: Bearer $RUNAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "veo-3.1",
  "prompt": "Generate a 10-second cinematic drone shot of a coastal highway at golden hour, with waves crashing below and ambient wind audio."
}'
import { Veo31Client } from "@runapi.ai/veo-3-1";

const client = new Veo31Client();
const result = await client.textToVideo.run({
    model: "veo-3.1",
    prompt: "Generate a 10-second cinematic drone shot of a coastal highway at golden hour, with waves crashing below and ambient wind audio.",
});
require "runapi/veo_3_1"

client = RunApi::Veo31::Client.new
result = client.text_to_video.run(
    model: "veo-3.1",
    prompt: "Generate a 10-second cinematic drone shot of a coastal highway at golden hour, with waves crashing below and ambient wind audio."
)
@runapi.ai/veo-3-1 v1
HOW IT WORKS

Use veo-3.1 in four steps

01

Install

Install the model SDK or agent skill for this model line.

02

Configure

Set the model field to the full model ID shown on this page.

03

Call

Send a typed request with your prompt, inputs, and callback settings.

04

Receive

Read the task response, webhook callback, or cached output URL from RunAPI.

DIFFERENCES

What's different about veo-3.1

VS VEO-3.1-FAST

Highest quality; sharpest motion, superior texture and lighting

5× cheaper, ~2× faster; near-indistinguishable quality for most use

USE CASES

Best for

Ad & social content

Generate product launch clips and short-form ads from a text brief, cutting production from weeks to hours.

E-learning

Convert lesson scripts into animated explainer videos at scale without a camera or crew.

Creator workflows

Produce viral short-form content for social platforms directly from a prompt.

FAQ

Frequently asked questions about veo-3.1

Is the model ID stable across versions?

RunAPI keeps the model ID stable and handles compatible version refreshes without changing your request shape.

What's the rate limit on this variant?

Per-key rate limits scale with usage tier. See pricing page for current limits.

Can I switch variants later?

Yes — variant is a flag. Switch by changing the model parameter.

Does it stream?

Where streaming is available, RunAPI streams end-to-end.

Where do I report quality issues?

Open an issue on the public GitHub repo or email support.

START NOW

Start building with Veo 3.1.