Veo 3 API Python SDK for RunAPI
The Veo 3 Python SDK is the language-specific package for Veo 3 on RunAPI. Use this package for video generation, animation, and video editing workflows when your application needs request bodies, task status lookup, and consistent RunAPI errors in Python.
This README is the Python package guide inside the public veo-3.1-sdk repository. For the repository overview, start at ../README.md; for model details, use https://runapi.ai/models/veo-3.1; for API reference, use https://runapi.ai/docs/api/veo-3-1/text-to-video; for SDK docs, use https://runapi.ai/docs/resources/sdks.
Install
pip install runapi-veo-3-1
Quick start
from runapi.veo_3_1 import Veo31Client
client = Veo31Client() # reads RUNAPI_API_KEY, or pass api_key="sk-..."
task = client.text_to_video.create(
model="veo-3.1-fast",
prompt="A drone shot over mountains at sunset",
duration_seconds=8,
)
status = client.text_to_video.get(task.id)
extension = client.extend_video.create(
source_task_id=task.id,
prompt="Continue the flight toward the coastline",
)
upscale = client.upscale_video.create(
source_task_id=task.id,
output_resolution="4k",
)
Use create to submit a task and return quickly, get to fetch the latest task state, and run when a script should create and poll until completion:
result = client.text_to_video.run(
model="veo-3.1-fast",
prompt="A serene mountain lake at dawn",
)
print(result.videos[0].url)
In web request handlers, prefer create plus webhook or later get polling so a worker is not held open.
RunAPI-generated file URLs are temporary. Download and store generated images, videos, audio, or other files in your own durable storage within 7 days; do not treat returned URLs as long-term assets.
Language notes
Pass parameters as keyword arguments and catch the runapi.veo_3_1 error classes when building video jobs or scripts. Text-to-video request bodies can include duration with 4, 6, or 8 seconds. The available resources are text_to_video, extend_video, and upscale_video. Keep RUNAPI_API_KEY in the environment or your secret manager; never commit API keys or callback secrets.
Links
- Model page: https://runapi.ai/models/veo-3.1
- SDK docs: https://runapi.ai/docs/resources/sdks
- Product docs: https://runapi.ai/docs/api/veo-3-1/text-to-video
- Pricing and rate limits: https://runapi.ai/models/veo-3.1/veo-3.1
- Provider comparison: https://runapi.ai/providers/google
- Full catalog: https://runapi.ai/models
- Repository: https://github.com/runapi-ai/veo-3.1-sdk
License
Licensed under the Apache License, Version 2.0.
Release files for runapi-veo-3-1 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| runapi_veo_3_1-0.2.1.tar.gz | 6.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| runapi_veo_3_1-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:14.4 kB
Release files / runapi_veo_3_1-0.2.1.tar.gz
| Download URL | runapi_veo_3_1-0.2.1.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
71ffb83f04d2ec07e10dd37a3753d9bfebc6453e4c27bb67d375c28f82f14e6b
|
|
BLAKE2b-256 checksum How to use checksums |
0868adff37f55ab5afbcd7893bd772e32acd008b4667d38e3ddad91a1d4909d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / runapi_veo_3_1-0.2.1-py3-none-any.whl
| Download URL | runapi_veo_3_1-0.2.1-py3-none-any.whl |
|---|---|
| Size | 8.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5b2b9684291fbb2359509ded59a58147ea9acb36f5100d3919b2819b24489332
|
|
BLAKE2b-256 checksum How to use checksums |
6f83f7a84aa961760714c05da11edf726556e5031038f342c87b2a5df3b7dc5e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|