Google provider adapters for genblaze (Veo video, Imagen image)
Project description
genblaze-google
Google provider adapters for genblaze — Veo text-to-video and Imagen text-to-image — with SHA-256 provenance manifests on every output.
genblaze-google wraps Google's generative media models (Veo 2, Veo 3, Imagen 3) as genblaze providers via the unified google-genai SDK. Works with both Gemini API keys and Google Cloud Vertex AI authentication. Compose Veo/Imagen calls into multi-step AI pipelines, persist outputs to Backblaze B2 or any S3-compatible store, and emit a tamper-evident provenance manifest for every run.
Why genblaze-google
- Veo 3 with synchronized audio — text-to-video + native audio, wrapped in a provenance manifest.
- Imagen 3 high-fidelity images — photorealistic stills with full parameter tracking.
- Two auth modes — Gemini API (
GEMINI_API_KEY) for quick start, Vertex AI for enterprise / GCP orgs. - Same SDK, any provider — swap to Sora, Runway, Luma, Flux without rewriting pipeline logic.
- Provenance by default — SHA-256 hash + canonical manifest on every generation.
- Durable storage — plug
genblaze-s3in for Backblaze B2 / AWS S3 / Cloudflare R2 / MinIO.
Providers + models
| Provider class | Modality | Models |
|---|---|---|
VeoProvider |
video | veo-3.0-generate-001 (with audio), veo-3.0-fast-generate-001, veo-2.0-generate-001 |
ImagenProvider |
image | imagen-3.0-generate-002, imagen-3.0-fast-generate-001 |
Each is registered via entry points (google-veo, google-imagen).
Install
pip install genblaze-google
Quickstart — Veo 3 text-to-video (with audio)
export GEMINI_API_KEY="..." # or use Vertex AI auth
from genblaze_core import Modality, Pipeline
from genblaze_google import VeoProvider
run, manifest = (
Pipeline("veo-demo")
.step(VeoProvider(), model="veo-3.0-generate-001",
prompt="A time-lapse of a coral reef coming to life, colorful fish "
"swimming through vibrant coral, natural ocean lighting",
modality=Modality.VIDEO,
aspect_ratio="16:9", duration_seconds="8", resolution="720p",
enhance_prompt=True)
.run(timeout=600)
)
print(run.steps[0].assets[0].url, manifest.canonical_hash)
Vertex AI auth instead:
provider = VeoProvider(project="my-gcp-project", location="us-central1")
Quickstart — Imagen 3 text-to-image
from genblaze_google import ImagenProvider
run, manifest = (
Pipeline("imagen-demo")
.step(ImagenProvider(output_dir="output/images"),
model="imagen-3.0-generate-002",
prompt="A photorealistic aerial view of a coral reef teeming with tropical fish",
modality=Modality.IMAGE, aspect_ratio="16:9")
.run(timeout=120)
)
Persist to Backblaze B2
from genblaze_core import KeyStrategy, ObjectStorageSink
from genblaze_s3 import S3StorageBackend
storage = ObjectStorageSink(
S3StorageBackend.for_backblaze("my-bucket"),
key_strategy=KeyStrategy.HIERARCHICAL,
)
# pass sink=storage to .run(…) to push assets + manifest to B2
Backblaze B2 is the recommended default sink for genblaze — cost-efficient, S3-compatible, with Object Lock for tamper-evident manifests.
Credentials
| Auth mode | Env var / config |
|---|---|
| Gemini API (quickest) | GEMINI_API_KEY — https://aistudio.google.com/apikey |
| Vertex AI | VeoProvider(project=..., location=...) + gcloud auth application-default login |
Documentation
- Main repo: https://github.com/backblaze-labs/genblaze
- Examples:
veo_video_pipeline.py·imagen_pipeline.py
Related packages
genblaze-core— the pipeline SDKgenblaze-s3— durable storage on Backblaze B2 and other S3-compatible backends
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file genblaze_google-0.1.0.tar.gz.
File metadata
- Download URL: genblaze_google-0.1.0.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f548a25f2fd9b59c576c534a6cabee8aba1cf9d18b5ac6d25f46644e9c6a1a9b
|
|
| MD5 |
23301a55f9021a69e5b3833004824668
|
|
| BLAKE2b-256 |
0c7e4a70b1f574d07da8a8bbf772b57ed4eb9cea2dbe976d2dc3c0c3c191d005
|
File details
Details for the file genblaze_google-0.1.0-py3-none-any.whl.
File metadata
- Download URL: genblaze_google-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c442122b04bd42612d699c892ebe5cc36a4dc6b2264b46bcf7d083cd93f35d53
|
|
| MD5 |
8e6cb3e5392540506ee03032a97c34c8
|
|
| BLAKE2b-256 |
8e8ed5844afd2f5471080ca6d19ce6071248d23c0b604ca6eb0ca15546771a14
|