Inspiration
Creative teams spend countless hours going back and forth with designers to produce visual assets. A single product photoshoot can take days of planning, expensive studio time, and multiple reshoots when parameters need tweaking. We asked: What if AI could transform a simple creative brief into a complete, brand-consistent visual asset library in minutes?
The release of Bria's FIBO model—with its revolutionary JSON-native image generation—gave us the perfect foundation. Unlike traditional text-to-image models, FIBO accepts structured prompts that enable precise, reproducible control over every aspect of an image.
What it does
PromptVision transforms creative briefs into complete visual asset libraries through a multi-agent AI pipeline:
You describe your vision → "Create brand assets for EcoBean, a sustainable coffee company targeting eco-conscious millennials"
Four AI agents collaborate:
- 🎨 Brand Analyst extracts brand essence and target audience
- 🎬 Visual Strategist defines color palettes and lighting styles
- 📸 Shot Planner creates 6-12 shots with camera specs
- ✅ Quality Reviewer validates consistency
FIBO generates deterministic, reproducible images with full JSON control
You refine & export → Disentangled editing lets you change ONE attribute (lighting) without affecting others (composition)
Key Features
- Seed Variations - Generate 4-8 alternatives for A/B testing
- HDR/16-bit Output - Professional color depth with Display P3 support
- ControlNet - Guide generation with depth maps, canny edges, or color grids
- Style Locking - Set a reference shot and maintain visual coherence
- Real-time Collaboration - Live cursors and presence via Liveblocks
- Persistent Storage - Projects saved to Turso (serverless SQLite)
How we built it
Frontend: Next.js 16 with React 19, TailwindCSS, shadcn/ui, and Zustand for state management. Real-time collaboration powered by Liveblocks.
Backend: FastAPI with a multi-agent pipeline built on LangChain. Each agent is specialized—the Shot Planner doesn't just describe images, it outputs precise camera angles, focal lengths, and lighting setups that map directly to FIBO's JSON schema.
Image Generation: Bria FIBO API for JSON-native generation. Every image is reproducible—same JSON + same seed = identical output.
Infrastructure:
- Backend deployed on Google Cloud Run
- Frontend on Vercel
- Database on Turso (serverless SQLite with edge replication)
Challenges we ran into
Mapping natural language to FIBO's JSON schema - We had to design prompts that make LLMs output valid, precise FIBO parameters (camera angles, lighting types, color palettes) rather than vague descriptions.
Turso tuple handling - Turso's libsql returns tuples instead of dict-like rows, causing 500 errors. We built a conversion layer to handle both SQLite and Turso response formats.
Disentangled refinement - Making "change the lighting" actually change ONLY the lighting while preserving composition, colors, and subject required careful prompt engineering.
Accomplishments that we're proud of
- End-to-end automation - From brief to exportable assets in under 5 minutes
- True reproducibility - Every image can be recreated exactly with its JSON prompt + seed
- Professional-grade output - HDR, ControlNet, and style consistency features rival expensive production tools
- Real-time collaboration - Teams can work together with live cursors
What we learned
- FIBO's JSON-native approach is a game-changer for production workflows—deterministic generation enables version control for images
- Multi-agent systems excel when each agent has a narrow, well-defined role
- Edge databases like Turso make serverless persistence surprisingly easy
What's next for PromptVision
- Figma/Canva export - Direct integration with design tools
- Custom agent training - Fine-tune agents on specific brand guidelines
- Video generation - Extend the pipeline to FIBO's video capabilities
- Batch processing - Generate hundreds of variations for e-commerce catalogs
Built With
- bria-fibo-api
- fastapi
- google-cloud-run
- langchain
- liveblocks
- next.js
- openrouter
- python
- react
- shadcn/ui
- tailwindcss
- turso
- typescript
- vercel
- zustand
Log in or sign up for Devpost to join the conversation.