CineFIBO — Project Story

Inspiration

CineFIBO was inspired by two very real perspectives.

As a beginner content creator, I found it difficult to understand cinematography concepts such as camera placement, lens choice, lighting, and shot coverage. These ideas are often learned through experience on set, but for someone starting out, that learning curve is steep and expensive.

At the same time, my brother works in the film industry as a director and assistant director. Through conversations with him, I saw how much time and cost goes into pre-production — planning shots, designing coverage, aligning creative intent across teams, and iterating before cameras ever roll.

CineFIBO was born from the idea that structured, controllable visual AI could help bridge this gap — making pre-production more accessible, more iterative, and more efficient without replacing creative decision-making.


What it does

CineFIBO is a JSON-native shot planning and storyboarding tool designed for real production workflows.

It allows creators and film teams to:

  • Turn scene descriptions into cinematic shots
  • Inspect and edit structured JSON parameters such as:
    • camera angle
    • lens choice
    • lighting
    • mood
    • color palette
  • Generate multi-shot coverage plans using agentic reasoning
  • Save selected shots into persistent storyboards
  • Iteratively refine shots while keeping creative context intact

Rather than relying on brittle prompt engineering, CineFIBO treats structured visual parameters as first-class artifacts.


How I built it

CineFIBO is built as a modular, production-oriented system:

  • Next.js (React + TypeScript + Tailwind) for the frontend UI
  • FastAPI (Python) as the orchestration backend
  • OpenAI for scene understanding and coverage planning
  • Bria FIBO for JSON-native image generation

The backend uses an agentic workflow:

  1. Scene text is analyzed to plan coverage
  2. Each planned shot is translated into structured parameters
  3. Bria FIBO generates images using deterministic JSON control
  4. Structured prompts are preserved and reused for iteration

Storyboards and shots are persisted client-side to enable fast iteration without external storage dependencies.


Challenges I ran into

  • Balancing creativity and structure
    Designing a system that enables creativity while remaining deterministic required careful prompt and JSON handling.

  • Async image generation workflows
    Handling job submission, polling, and failure cases with external APIs added complexity.

  • Content moderation constraints
    Some prompts were blocked by moderation, which required improving prompt sanitization and error handling.

  • UX clarity
    Making a powerful system understandable to beginners while still useful for professionals took multiple UI iterations.


Accomplishments that I'm proud of

  • Building a true JSON-native visual workflow, not just a prompt wrapper
  • Designing an agentic coverage planner that mirrors real production thinking
  • Creating a clean, production-oriented UI for shot iteration
  • Delivering a system that feels useful beyond a hackathon demo
  • Producing clear architecture and sequence diagrams to document the system

What I learned

  • Structured control dramatically improves creative iteration
  • Treating AI outputs as editable artifacts unlocks new workflows
  • Production tools need clarity and restraint, not just power
  • Good UX is just as important as model capability
  • Agentic orchestration makes complex creative tasks scalable

What's next for CineFIBO

Future development could include:

  • Support for long-form scripts and PDFs
  • More granular camera movement and lighting controls
  • HDR and 16-bit color workflows
  • Exportable storyboards for production teams
  • Integration with additional visual generation backends
  • Collaboration and versioning features for real teams

CineFIBO represents a step toward production-ready visual AI systems — tools that support creative thinking instead of replacing it.

Built With

Share this project:

Updates