Inspiration

Music archives usually stop at playback, while generative tools often lose the context and provenance behind their outputs. Yaz Mari began as an archive connecting Ethiopian and Jamaican music. Studio extends that archive into a responsible creation workflow: listeners can learn from cultural lineages, describe an original direction, generate a complete media package, and inspect the models, hashes, and parent-run history behind it.

What it does

Creators choose an Ethiopian, reggae, Afro-Caribbean, or diaspora-fusion direction and describe a mood, place, or rhythm. Yaz Mari then:

  1. Generates an original music bed.
  2. Optionally generates a voice or lyric layer.
  3. Creates square cover artwork.
  4. Animates the artwork into a short visualizer.
  5. Streams progress to the browser.
  6. Stores outputs and operational companions in Backblaze B2.
  7. Verifies the canonical Genblaze manifest before marking the run complete.

Completed sessions appear in a searchable library with playable media, SHA-256 fingerprints, provider/model details, and replayable provenance.

How we built it

The frontend is a strict TypeScript Next.js 15 application deployed on Vercel. The orchestration service is an async FastAPI application deployed as a long-lived Docker web service with PostgreSQL for run state.

The frontend never calls a generative provider directly. Every media operation runs through Genblaze Pipeline().step(). Replicate generates music, artwork, and video with one provider token, and every step declares a model fallback. The pipeline supports an optional ElevenLabs voice layer when configured; the submitted production demo uses Replicate for music, artwork, and video.

The FastAPI worker accepts jobs, records state in PostgreSQL, publishes WebSocket progress, executes Genblaze, verifies manifest.verify(), and only then exposes a completed run.

Challenges we ran into

The hardest part was treating provenance and storage as completion requirements, not afterthoughts. Provider APIs return different result shapes and can fail asynchronously. Genblaze gave the project a consistent step, fallback, asset, and manifest contract. We also had to keep large media outside the web deployment bundle, preserve a pre-existing 585-track archive, and design a UI that communicates long-running multimodal progress clearly.

Accomplishments that we're proud of

  • One prompt produces a coordinated multimodal creator package.
  • Every provider call is routed through Genblaze.
  • Every step has an explicit fallback model.
  • B2 stores assets, manifests, metadata, and logs using content-addressed keys.
  • A run cannot report success until its manifest verifies.
  • Creators can inspect hashes, models, source lineage, and replay a session.
  • The original Ethiopian and Jamaican archive remains available alongside the generative workflow.

What we learned

Reliable generative media is primarily an orchestration and data-lifecycle problem. The model call is only one stage. Production workflows also need progress state, retries, durable asset transfer, integrity checks, lineage, and clear failure reporting. Storing the manifest beside the media makes provenance useful to both creators and future automation.

What's next for Yaz Mari Studio

Next steps include artist-controlled cultural reference packs, signed or C2PA provenance, team workspaces, B2 Event Notifications for downstream processing, semantic library search, rights-holder licensing workflows, and paid creator exports for social campaigns and album releases.

Built With

Share this project:

Updates

posted an update

Yaz Mari Studio is officially submitted to the Backblaze Generative Media Hackathon! The production workflow now generates original music, cover artwork, and motion through Genblaze and Replicate, stores the resulting assets and provenance in Backblaze B2, and presents completed sessions in a searchable creator library. Excited to keep developing it beyond the hackathon.

Log in or sign up for Devpost to join the conversation.