OpenAI provider adapters for genblaze (Sora, DALL-E, TTS)
Project description
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
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_openai-0.2.1.tar.gz.
File metadata
- Download URL: genblaze_openai-0.2.1.tar.gz
- Upload date:
- Size: 21.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 |
fe07180203e2d45cdafa6ab185a518e6ad27c624bfa6a5fea8917f702bf13cec
|
|
| MD5 |
6088b9b7fc3ea6c10188ed0da872da33
|
|
| BLAKE2b-256 |
c61d24e3f8558997e6ccb5b3fc59d647f2a6844a0e3e36b0fecb9070066f4357
|
File details
Details for the file genblaze_openai-0.2.1-py3-none-any.whl.
File metadata
- Download URL: genblaze_openai-0.2.1-py3-none-any.whl
- Upload date:
- Size: 19.8 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 |
2419f206d4adbe977c0eab7417a23024c01d7b73563fb45ec94c28fd93e5cc26
|
|
| MD5 |
193b6bd7107775354b8264bea42223d0
|
|
| BLAKE2b-256 |
08f363c6135ce1d38dee941b6095c69dbf928ae16ddc71adf98bf6a1a1521e3b
|