veo3-1-quality Full Guide (Markdown)

Back to model guide

veo3-1-quality API Model Guide

TL;DR

  • veo3-1-quality supports Text-to-Video, Image-to-Video, R2V, and Video Edit in one workflow.
  • Use this model guide page to validate parameters with minimal request/response examples.
  • Stabilize prompts here first, then move to production API integration.

Core Capabilities

  • Unified multi-mode testing:Switch across Text-to-Video, Image-to-Video, R2V, and Video Edit in one place.
  • Parameter-first validation:Iterate quickly on prompts, durations, and references before production rollout.
  • Production-ready handoff:Minimal request/response structure helps you move stable configs into API workflows.

When to Use

  • When you need fast iteration across multiple generation modes.
  • When you need to validate parameters and error handling before integration.

When Not to Use

  • For large-scale async batch production, use the server-side API pipeline directly.
  • For strict auth/audit requirements, prioritize backend orchestration.

Runtime Behavior

  • This model guide page is optimized for interaction and parameter rehearsal.
  • The output panel demonstrates task result structure for integration guidance.

Minimal Request

{
  "model": "veo3-1-quality",
  "mode": "text-to-video",
  "input": {
    "prompt": "A cinematic city sunrise with soft fog and moving traffic.",
    "duration": 5
  }
}

Minimal Response

{
  "task_id": "task_xxxxxxxx",
  "model": "veo3-1-quality",
  "mode": "text-to-video",
  "status": "queued",
  "created_at": "2026-04-15T00:00:00.000Z"
}

Key Parameters

ParameterTypeRequiredDefaultRangeDescription
modelstringYesgemini_omni-Model identifier. Use the fixed value gemini_omni.
promptstringYes--Main instruction describing the subject, action, scene, and style.
aspect_ratiostringNo16:916:99:16
durationintegerNo6610
resolutionstringNo720P720POutput resolution. Currently only 720P is supported; if omitted, the default value is used.

Common Errors

HTTPCodeTriggerFix ActionRetry Policy
400invalid_request_errorRequest payload misses required fields or has invalid field types.Validate model, mode, and input schema before request.Retry only after fixing payload; avoid blind retries.
401authentication_errorMissing Authorization header or invalid API key.Verify Bearer token format and API key scope.Retry after auth fix; rotate key if repeated failures continue.
429rate_limit_exceededRequest rate, concurrency, or current quota hits upstream rate limiting.Apply exponential backoff first, then review request rate, concurrency, and quota usage.Use exponential backoff (e.g., 1s/2s/4s) with jitter; if it persists, reduce submission pressure.
500internal_errorTransient upstream error or internal processing failure.Capture request id and trigger retry workflow.Retry 2-3 times with short delays; escalate if persistent.

FAQ

  1. When should I use veo3-1-quality?
    Use it to validate video concepts quickly, compare mode behavior, and converge prompts before API rollout.
  2. How do I choose Text-to-Video vs Image-to-Video?
    Use Text-to-Video when you only have instructions; use Image-to-Video when you already have key frames or composition.
  3. What is the difference between R2V and Video Edit?
    R2V focuses on reference-guided generation, while Video Edit focuses on modifying existing video assets.
  4. Image or video model error: invalid apitype: -1
    This usually means the request was sent to the wrong endpoint. Image and video models typically do not use the chat endpoint. Instead, submit the documented HTTP task request and poll the task status endpoint for results. Check the actual request code, URL, and payload first.
  5. An image or video task failed, but the user was still charged
    Ask the user for the task log or screenshot first and check whether input or output token usage appears. If token accounting shows up, the request was likely sent through a chat endpoint instead of the proper media workflow. Image and video models usually run as async HTTP task APIs: submit the task first, then poll by task id according to the relevant docs.

Related APIs