Inspiration

Small businesses and solo creators spend hundreds of dollars and days of work just to produce a single promotional video. They need a copywriter, a voice actor, a graphic designer, and a video editor — all for one piece of content. We wanted to collapse that entire workflow into a single sentence. The idea was simple: what if anyone could type a product description and get back a fully produced promo video in under 30 seconds? That's what inspired PromoBlaze.

What it does

PromoBlaze is a generative AI media platform that transforms a single text prompt into a complete promotional video. You type a description of your product or idea, and PromoBlaze automatically writes a marketing script using a large language model, converts it into a realistic voiceover using Edge-TTS, generates a cinematic visual using Stable Diffusion XL, and stitches everything together into a finished MP4 video with a smooth Ken Burns zoom effect. Every generated asset — the video, audio, thumbnail, and a provenance metadata JSON — is automatically uploaded and stored on Backblaze B2 cloud storage, giving every campaign a permanent, traceable record in the cloud.

How we built it

PromoBlaze is built on a multi-step generative pipeline orchestrated by the Genblaze SDK. The backend is a FastAPI Python server deployed on Render. When a user submits a prompt, the Genblaze pipeline fires sequentially: first, DeepSeek running on Fireworks AI generates a JSON script with a voiceover and visual description. Then Edge-TTS converts the voiceover text into an MP3 audio file. Simultaneously, Stable Diffusion XL on Fireworks AI generates a 16:9 cinematic image. MoviePy then stitches the audio and image into an MP4 video with a Ken Burns zoom animation. Finally, the Backblaze B2 SDK uploads all four assets — video, audio, thumbnail, and a provenance JSON file — to B2 cloud storage and returns permanent download URLs to the frontend. The frontend is a React and Vite application deployed as a static site on Render, displaying the generated video and B2 provenance links instantly.

Challenges we ran into

The biggest challenge was getting video files to stream properly in the browser. MP4 files generated programmatically by MoviePy place the metadata index at the end of the file by default, which forces the browser to download the entire file before playing it. We solved this by adding the -movflags faststart FFmpeg parameter, which moves the index to the beginning and enables instant streaming. We also ran into CORS issues when the browser tried to load video assets from Backblaze B2's domain — we resolved this by programmatically setting CORS rules on the B2 bucket via the B2 SDK on every upload. Getting the Genblaze SDK pipeline to correctly pass stateful context between steps required understanding how the SDK strips unrecognized keyword arguments, which we worked around by passing all shared data through a state dictionary.

Accomplishments that we're proud of

We are most proud of the end-to-end provenance tracking system. Every campaign generated by PromoBlaze produces a JSON metadata file stored on Backblaze B2 that records the original prompt, the timestamp, every AI model used at each step, and direct links to every generated asset. In an era of AI-generated media, being able to prove the origin and chain of custody of content is genuinely valuable — and PromoBlaze does this automatically on every generation. We are also proud of delivering a fully deployed, production-ready app with a live URL rather than just a local demo.

What we learned

We learned how powerful the Genblaze SDK is for building modular, swappable AI pipelines. Switching between AI providers for any step — whether it's the language model, the image generator, or the voice engine — requires minimal code changes, which makes the architecture incredibly flexible. We also deepened our understanding of Backblaze B2's SDK for programmatic file management, CORS configuration, and generating download URLs. Most importantly, we learned that deploying a generative AI app to production surfaces a completely different class of problems than local development — from streaming video formats to cloud environment variables — and solving those problems is what separates a demo from a real product.

What's next for PromoBlaze

The next step is adding support for actual AI-generated video models like Runway ML or Luma AI, replacing the static image with true motion video. We also plan to add a campaign history dashboard where users can browse, replay, and download all their previously generated campaigns stored on B2. On the business side, we want to add brand kit support — letting users upload a logo, brand colors, and a preferred voice — so every generated campaign stays on-brand automatically. Long term, PromoBlaze could power an entire self-serve marketing platform where small businesses generate weeks of social media content in minutes.

Built With

  • ai
  • b2
  • backblaze
  • deepseek
  • diffusion
  • edge-tts
  • fastapi
  • fireworks
  • genblaze
  • moviepy
  • python
  • react
  • render
  • stable
  • typescript
  • vite
  • xl
Share this project:

Updates

Submission history