← All research
Qweek Engineering

Relational Generative Previs

How Qweek Studio maintains character and world consistency across shots using a relational production graph, debounced orchestration, and dual STATIC/MOTION rendering pipelines.

Abstract

Stateless text-to-video systems break serialized storytelling because each generation lacks persistent identity. Qweek Studio treats the screenplay as source of truth and routes every shot through a relational generative graph — Character Bank, World Ledger, and story nodes linked by foreign keys and vector namespaces.

Problem

When @Maya appears in shot 1 and shot 47, a prompt-only pipeline must re-infer appearance every time. Production teams need a bible that compounds over time.

Architecture

  1. Relational layer — PostgreSQL stores workspaces, projects, characters, locations, story nodes, and timeline shots.
  2. Vector layer — Pinecone namespaces per project (characters, locations) enrich generation context via OpenAI embeddings.
  3. Orchestration — Script edits debounce into Redis queue jobs; workers call Replicate (STATIC/MOTION) with bible context.
  4. Sync — WebSocket broadcasts visual block updates to the split canvas in real time.

Dual rendering modes

  • STATIC — Fast iteration (~2–5s) for storyboard frames (Flux-class models).
  • MOTION — Lip-synced loops when blocks are mastered; higher cost, quota-gated.

Consistency mechanism

Generation prompts assemble from:

  • Character visual_dna_prompt + turnaround pack URLs
  • Location base_environment_prompt
  • Parsed @character references in script lines
  • Vector retrieval top-k from Pinecone namespace

Conclusion

The moat is not a better single-shot model — it is production state: a bible-linked timeline where line-level edits regenerate consistent frames.