MODEL PROMPTS

veo-3.1 Prompts — 7 curated examples

Examples for using veo-3.1 through RunAPI from agent tools or API calls. Copy a prompt, then use it in Claude Code, Codex, Cursor, Windsurf, or your backend.

MODELS

veo-3.1

Modality
Video
Provider
Google
Endpoint
Text To Video
View model details and pricing →
1. claude mcp add runapi -s user -- npx -y @runapi.ai/mcp
2. Restart Claude Code
3. Paste this prompt: Generate a video: "Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K."
1. codex plugin install runapi-mcp@agents
2. Restart Codex
3. Paste this prompt: Generate a video: "Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K."
1. npx @runapi.ai/mcp init cursor
2. Restart Cursor
3. Paste this prompt: Generate a video: "Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K."
1. npx @runapi.ai/mcp init windsurf
2. Restart Windsurf
3. Paste this prompt: Generate a video: "Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K."
curl -X POST https://runapi.ai/api/v1/veo_3_1/text_to_video \
  -H "Authorization: Bearer $RUNAPI_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "model": "veo-3.1",
  "prompt": "Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K."
}
JSON
import { Veo31Client } from "@runapi.ai/veo-3-1";

const client = new Veo31Client({
  apiKey: process.env.RUNAPI_API_KEY,
});

const result = await client.textToVideo.run({
  "model": "veo-3.1",
  "prompt": "Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K."
});
console.log(result.id);
require "runapi/veo_3_1"

client = RunApi::Veo31::Client.new
result = client.text_to_video.run(
  model: "veo-3.1",
  prompt: "Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K."
)
puts result.id
package main

import (
  "context"
  "fmt"
  "log"
  "net/http"
  "os"
  "strings"
)

func main() {
  body := strings.NewReader("{\"model\":\"veo-3.1\",\"prompt\":\"Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K.\"}")
  req, err := http.NewRequestWithContext(context.Background(), http.MethodPost, "https://runapi.ai/api/v1/veo_3_1/text_to_video", body)
  if err != nil {
    log.Fatal(err)
  }

  req.Header.Set("Authorization", "Bearer "+os.Getenv("RUNAPI_API_KEY"))
  req.Header.Set("Content-Type", "application/json")

  resp, err := http.DefaultClient.Do(req)
  if err != nil {
    log.Fatal(err)
  }
  defer resp.Body.Close()

  fmt.Println(resp.Status)
}
veo-3.1 /api/v1/veo_3_1/text_to_video Get API Key
VI
Video
product_demo veo-3.1

Artisanal coffee poured into clear glass, golden brown casca...

Artisanal coffee poured into clear glass, golden brown cascading into foam, dark background, warm rim lighting, macro close-up, premium aesthetic.

View API Code
curl -X POST https://runapi.ai/api/v1/veo_3_1/text_to_video \
  -H "Authorization: Bearer $RUNAPI_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "model": "veo-3.1",
  "prompt": "Artisanal coffee poured into clear glass, golden brown cascading into foam, dark background, warm rim lighting, macro close-up, premium aesthetic."
}
JSON
VI
Video
product_demo veo-3.1

A steaming pizza is pulled from a wood-fired oven on a long...

A steaming pizza is pulled from a wood-fired oven on a long wooden peel. Cheese stretches as a slice is lifted. Close-up details of the bubbling crust and charred edges. Warm, rustic Italian restaurant ambiance. Food photography lighting with warm tones.

View API Code
curl -X POST https://runapi.ai/api/v1/veo_3_1/text_to_video \
  -H "Authorization: Bearer $RUNAPI_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "model": "veo-3.1",
  "prompt": "A steaming pizza is pulled from a wood-fired oven on a long wooden peel. Cheese stretches as a slice is lifted. Close-up details of the bubbling crust and charred edges. Warm, rustic Italian restaurant ambiance. Food photography lighting with warm tones."
}
JSON
FAQ

Using veo-3.1 prompts

What is %{model}?

%{model} is available through RunAPI as part of the unified model catalog. These prompts show practical input patterns that agents and backend services can reuse.

How do I use these prompts?

Copy any prompt and paste it into Claude Code, Codex, Cursor, or Windsurf after installing the RunAPI MCP Server. Developers can also copy the API example and send the prompt directly.

Do these prompts cost money to browse?

Browsing and copying prompt examples is free. Generation requests only cost money when you call a RunAPI model with your API key.

Can I adapt the prompts for production?

Yes. Treat each prompt as a starting point, then add your brand rules, output dimensions, safety constraints, and application-specific context before using it in production.