Skip to main content

OpenAI provider adapters for genblaze (Sora, DALL-E, TTS)

Project description

genblaze-openai

OpenAI provider adapters for genblazeSora 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 Pipeline API.
  • 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-s3 in 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

Related packages

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

genblaze_openai-0.2.1.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

genblaze_openai-0.2.1-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

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

Hashes for genblaze_openai-0.2.1.tar.gz
Algorithm Hash digest
SHA256 fe07180203e2d45cdafa6ab185a518e6ad27c624bfa6a5fea8917f702bf13cec
MD5 6088b9b7fc3ea6c10188ed0da872da33
BLAKE2b-256 c61d24e3f8558997e6ccb5b3fc59d647f2a6844a0e3e36b0fecb9070066f4357

See more details on using hashes here.

File details

Details for the file genblaze_openai-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for genblaze_openai-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2419f206d4adbe977c0eab7417a23024c01d7b73563fb45ec94c28fd93e5cc26
MD5 193b6bd7107775354b8264bea42223d0
BLAKE2b-256 08f363c6135ce1d38dee941b6095c69dbf928ae16ddc71adf98bf6a1a1521e3b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page