genblaze-openai
OpenAI provider adapters for genblaze — Sora text-to-video, DALL·E / gpt-image text-to-image, and TTS text-to-speech — with SHA-256 provenance manifests on every output.
genblaze-openai wraps OpenAI's generative media APIs (Sora video, DALL·E 3 and gpt-image-1 images, tts-1 / tts-1-hd / gpt-4o-mini-tts audio) as genblaze providers. Compose them 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-openai
- Three OpenAI modalities, one SDK — video (Sora), image (DALL·E, gpt-image), audio (TTS) — same
PipelineAPI. - Built-in provenance — Every Sora render / DALL·E image / TTS clip lands with a SHA-256-verified manifest.
- Swap models without rewrites — Same pipeline works with Runway, Luma, Flux, Veo, ElevenLabs, etc.
- Production-ready — Retries, timeouts, moderation hooks, step caching, streaming events.
- Durable storage — Plug
genblaze-s3in for B2 / AWS S3 / R2 / MinIO persistence.
Providers + models
| Provider class | Modality | Models |
|---|---|---|
SoraProvider |
video | sora-2, sora-2-pro |
DalleProvider |
image | gpt-image-1, dall-e-3, dall-e-2 (+ edits) |
OpenAITTSProvider |
audio | tts-1, tts-1-hd, gpt-4o-mini-tts |
Each is registered via entry points (openai-sora, openai-dalle, openai-tts).
Install
pip install genblaze-openai
Quickstart — Sora text-to-video
export OPENAI_API_KEY="sk-..."
from genblaze_core import Modality, Pipeline
from genblaze_openai import SoraProvider
run, manifest = (
Pipeline("sora-demo")
.step(SoraProvider(), model="sora-2",
prompt="A cinematic drone shot gliding over a misty mountain valley at sunrise",
modality=Modality.VIDEO, seconds=4, size="1280x720")
.run(timeout=300)
)
print(run.steps[0].assets[0].url, manifest.canonical_hash)
Quickstart — DALL·E text-to-image
from genblaze_openai import DalleProvider
run, manifest = (
Pipeline("dalle-demo")
.step(DalleProvider(), model="dall-e-3",
prompt="A watercolor painting of a cozy bookshop on a rainy evening",
modality=Modality.IMAGE, size="1024x1024", quality="hd")
.run(timeout=120)
)
Quickstart — OpenAI TTS
from genblaze_openai import OpenAITTSProvider
run, manifest = (
Pipeline("tts-demo")
.step(OpenAITTSProvider(output_dir="output/audio"),
model="tts-1-hd",
prompt="Welcome to Genblaze — generative media pipelines with provenance.",
modality=Modality.AUDIO, voice="nova", response_format="mp3")
.run(timeout=60)
)
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,
)
# …then pass sink=storage to .run(…)
See Backblaze B2 — the recommended default sink for genblaze.
Credentials
| Env var | Where to get it |
|---|---|
OPENAI_API_KEY |
https://platform.openai.com/api-keys |
Documentation
- Main repo: https://github.com/backblaze-labs/genblaze
- Examples:
sora_video_pipeline.py·dalle_image_pipeline.py·tts_audio_pipeline.py
Related packages
genblaze-core— the pipeline SDKgenblaze-s3— durable storage on Backblaze B2 and other S3-compatible backends
License
MIT
Metadata
Release files for genblaze-openai 0.3.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| genblaze_openai-0.3.4.tar.gz | 34.5 kB | With provenance | Details for genblaze_openai-0.3.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| genblaze_openai-0.3.4-py3-none-any.whl | Python 3 | none | any | Details for genblaze_openai-0.3.4-py3-none-any.whl |
Total release size: 59.9 kB
Release files / genblaze_openai-0.3.4.tar.gz
| Download URL | genblaze_openai-0.3.4.tar.gz |
|---|---|
| Size | 34.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
58271dbbe6eec60611a75c09894be481a23e68024a9d5e1954e7e38fe855b84c
|
|
BLAKE2b-256 checksum How to use checksums |
6022d52a2c4fced26f7c8d7125c1304a0defbc1b432a90bb969cfd2d988915e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.
Transparency logRelease files / genblaze_openai-0.3.4-py3-none-any.whl
| Download URL | genblaze_openai-0.3.4-py3-none-any.whl |
|---|---|
| Size | 25.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b4776d4e3c8d567aa7d7e71b1cb330539dccc4680a24e5b6f0b9d8f0cd113e56
|
|
BLAKE2b-256 checksum How to use checksums |
f4fe9a73b450aff92da4c21243109a20bd908a4ba44f3ebecc1fd90cc2c43b26
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.
Transparency logSecurity for genblaze-openai 0.3.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for genblaze_openai-0.3.4.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.