v2026.5.2: Video generation with Google Veo
Generate video through osmAPI. Six Google Veo models (3.1, 3.1 Fast, 3.1 Lite, 3, 3 Fast, 2) are live behind a new async /v1/videos API — text-to-video, image-to-video, first/last-frame interpolation, up to 3 reference images, and video extension. Per-second metered billing, plus a dedicated Video Studio in the Playground.
At a glance
| Category | What's new |
|---|---|
| New API | POST /v1/videos (async create → poll → download) |
| Models | veo-3.1-generate-preview, veo-3.1-fast-generate-preview, veo-3.1-lite-generate-preview, veo-3.0-generate-001, veo-3.0-fast-generate-001, veo-2.0-generate-001 |
| Inputs | Text-to-video, image-to-video, first/last-frame interpolation, reference images (×3), video extension |
| Playground | New Video Studio at /video |
| Billing | Per-second metering, priced per resolution tier |
Video generation API
Video generation is a long-running job. You create a job, poll it until it finishes, then download the MP4:
# 1. Createcurl https://api.osmapi.com/v1/videos \-H "Authorization: Bearer $OSM_KEY" \-H "Content-Type: application/json" \-d '{"model": "veo-3.0-fast-generate-001","prompt": "A cinematic shot of a mango tree swaying at dusk","aspect_ratio": "16:9","resolution": "720p","duration": 8}'# → 202 { "id": "vid_…", "status": "in_progress", "polling_url": "/v1/videos/vid_…" }# 2. Poll until status == "completed"curl https://api.osmapi.com/v1/videos/vid_… -H "Authorization: Bearer $OSM_KEY"# 3. Download the MP4curl -L https://api.osmapi.com/v1/videos/vid_…/content \-H "Authorization: Bearer $OSM_KEY" -o video.mp4
# 1. Createcurl https://api.osmapi.com/v1/videos \-H "Authorization: Bearer $OSM_KEY" \-H "Content-Type: application/json" \-d '{"model": "veo-3.0-fast-generate-001","prompt": "A cinematic shot of a mango tree swaying at dusk","aspect_ratio": "16:9","resolution": "720p","duration": 8}'# → 202 { "id": "vid_…", "status": "in_progress", "polling_url": "/v1/videos/vid_…" }# 2. Poll until status == "completed"curl https://api.osmapi.com/v1/videos/vid_… -H "Authorization: Bearer $OSM_KEY"# 3. Download the MP4curl -L https://api.osmapi.com/v1/videos/vid_…/content \-H "Authorization: Bearer $OSM_KEY" -o video.mp4
Capabilities
- Text-to-video — prompt only, with native audio on Veo 3/3.1.
- Image-to-video — pass an
image(data URL or{ data, mime_type }). - Interpolation — add a
last_frameto define the closing shot. - Reference images — up to 3
reference_imagesto keep a subject consistent (Veo 3.1 / 3.1 Fast). - Video extension — extend a prior clip by ~7s via
source_video_id(Veo 3.1 / 3.1 Fast, 720p). - Controls —
aspect_ratio(16:9 / 9:16),resolution(720p / 1080p / 4k),duration,negative_prompt,seed,person_generation.
Constraints are enforced for you: 1080p/4k and reference images require an 8s
clip, extension output is 720p, and person_generation is set automatically to
match the input mode.
Pricing
Veo is metered per second of generated video, by resolution tier:
| Model | 720p / sec | 1080p / sec | 4k / sec |
|---|---|---|---|
| Veo 3.1 | $0.40 | $0.40 | $0.60 |
| Veo 3.1 Fast | $0.10 | $0.12 | $0.30 |
| Veo 3.1 Lite | $0.05 | $0.08 | — |
| Veo 3 | $0.40 | $0.40 | — |
| Veo 3 Fast | $0.10 | $0.12 | $0.30 |
| Veo 2 | $0.35 | — | — |
Blocked or failed generations are not charged.
Playground
A dedicated Video Studio is live in the Playground — pick a Veo model, write a prompt, and the available options (resolutions, durations, reference images, extension) adapt to the model you choose. A live cost estimate is shown before you generate.