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
abstract veo-3.1

Abstract liquid metal shapes morphing and flowing in silver...

Abstract liquid metal shapes morphing and flowing in silver and gold tones, slow sphere-to-waves-to-geometric transformation, hypnotic meditative energy, rendered 3D quality.

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": "Abstract liquid metal shapes morphing and flowing in silver and gold tones, slow sphere-to-waves-to-geometric transformation, hypnotic meditative energy, rendered 3D quality."
}
JSON
VI
Video
abstract veo-3.1

Paint drops into clear water in extreme slow motion. Colors...

Paint drops into clear water in extreme slow motion. Colors bloom and swirl in organic patterns — deep blues mixing with golden yellows. Camera captures the moment from directly above. Studio lighting makes every droplet sparkle.

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": "Paint drops into clear water in extreme slow motion. Colors bloom and swirl in organic patterns — deep blues mixing with golden yellows. Camera captures the moment from directly above. Studio lighting makes every droplet sparkle."
}
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.