Feed it an article, a press release, a spec sheet, or a one-line brief. It returns publish-ready short-form videos and comic-style posts where a persistent cast of characters — human hosts or talking car mascots — explain, argue about, and react to the content. Any aspect ratio, AI narration and music included, pushed straight to every social platform.
01 · Vision
The raw idea — "feed content, get character videos and comics, post them" — is good. The enhancement is to recognize what the durable asset is. It is not any single video. It is the cast.
Thesis: automotive brands don't need another text-to-video tool; they need a content franchise. Torque Studio turns a brand's content stream into an ongoing show starring recurring characters the audience recognizes — the same two hosts bickering about EV range in every reel, the same grumpy V8 mascot in every comic. Recognition compounds; one-off AI videos don't.
Three deliberate positioning choices:
"A virtual content studio for the automotive industry: a persistent AI cast that turns your articles and announcements into short-form video and comic posts, and publishes them everywhere."
02 · Users
| Segment | Input they have | Output they want | Willingness to pay |
|---|---|---|---|
| OEM / brand marketing | Press releases, launch decks, spec sheets | Launch-day reels in 6 languages, consistent brand cast | High (enterprise) |
| Dealership groups | Inventory feed (DMS/CSV), promos, service offers | Daily inventory reels, promo comics, localized posts | Mid (per rooftop) |
| Auto media & blogs | Long-form articles, reviews, news wires | Article → 45s duo-debate video + comic recap, at volume | Mid |
| Parts / accessory / oil brands | Product pages, how-to docs | Explainer skits ("mascot explains synthetic oil") | Mid |
| Motorsport teams & clubs | Race reports, standings | Post-race recap banter videos, meme-adjacent comics | Low–mid |
Beachhead recommendation: auto media + dealership groups. Both have a relentless content cadence, thin creative teams, and measurable ROI (traffic, leads). OEMs come later via agencies once the character system proves brand-safe.
03 · Characters
A character is not an avatar picked from a dropdown. It is a versioned, structured entity the whole pipeline conditions on:
Name, role, personality sliders (skeptic ↔ fanboy, technical ↔ casual), verbal tics, catchphrases, forbidden topics. Stored as structured JSON the script agent receives verbatim.
3–6 canonical reference images per character (turnaround sheet), authored once with Nano Banana Pro. Downstream, Nano Banana 2 accepts up to 14 reference images per prompt, and Omni Flash's reference_to_video binds them with <IMAGE_REF_n> tags — one anchor set drives every panel and every shot.
Each character pins one Gemini TTS prebuilt voice (30 options — e.g. Kore, Puck) plus a stored directorial profile: style, accent, pacing. Screenplay emotion tags compile to inline audio tags ([sarcastically], [laughs], [very fast]). Voice never drifts between episodes — same rule as the face.
Pairings are first-class: "Rev & Dee" ship with a defined dynamic (petrolhead vs. EV pragmatist). The script agent writes to the relationship, not to two isolated bios — that's what makes dialogue watchable.
Comic and video share the same visual anchors, so the Tuesday reel and the Thursday comic star recognizably the same characters — that cross-format consistency is the product.
04 · Outputs
Every project renders to one or more renditions — format × aspect × duration × platform. One script, many crops and cuts.
| Format | Description | Aspects | Duration | Best for |
|---|---|---|---|---|
| Duo dialogue reel | Two characters discuss/debate the content, cutaway b-roll, captions burned in | 9:16 · 1:1 · 4:5 · 16:9 · 4:3 | 20–90 s | Reels, TikTok, Shorts |
| Comic strip post | 3–8 panels, characters talking in speech bubbles, brand-styled panel frame | 1:1 · 4:5 · 4:3 (carousel per panel) | static | Instagram carousel, LinkedIn, X |
| Narrated explainer | Single narrator VO over generated/stock b-roll and animated spec cards | 9:16 · 16:9 | 30–120 s | Shorts, YouTube, site embeds |
| Animated comic ("motion comic") | Comic panels with parallax, VO per bubble, music — cheap video from the comic pipeline | 9:16 · 1:1 | 15–45 s | Low-cost daily cadence |
| Quote/spec card | Static post: key stat or quote, character reaction sticker | 1:1 · 16:9 | static | X, LinkedIn, community posts |
Aspect handling is compose-once, reframe-per-rendition: the scene layout engine keeps a declared safe-region per shot, so 9:16 → 4:3 is a deterministic re-layout (characters reflow, captions reposition), not a dumb center-crop. Platform safe zones (TikTok UI chrome, Reels CTA band) are part of each rendition's template. Model-level constraints feed this design: Omni Flash generates video natively in 16:9 and 9:16 only, and Nano Banana covers the full static range (1:1, 4:5, 4:3, 3:2, 21:9 …) — so intermediate video aspects come from the Remotion canvas re-layout, never from asking the video model for exotic ratios.
05 · Architecture
The core is a directed acyclic graph per project, executed by a durable workflow engine (Temporal). Every node is idempotent, retryable, and cached — regenerate one line of dialogue without re-rendering the whole video. Agentic stages (script writing, QA judging) run as LangGraph-style state graphs inside workflow nodes; the outer DAG stays deterministic.
flowchart LR
subgraph IN["Ingestion"]
A1[Article / URL] --> B
A2[Press release / PDF] --> B
A3[Inventory feed] --> B
A4[One-line brief] --> B
B[Normalize + extract\nfacts, entities, angle]
end
B --> C[Content brief\nstructured JSON]
C --> D{{Script Agent\nLLM + character bible}}
D --> E[Screenplay JSON\nbeats · lines · shots · bubbles]
E --> F{Human approval gate\noptional per tenant}
F --> G1[Visual gen\ncharacter shots / panels]
F --> G2[TTS dialogue\nper-character voices]
F --> G3[Music gen\nbrief-conditioned]
G1 --> H[Composer / Renderer\nper rendition: aspect · duration]
G2 --> H
G3 --> H
H --> I{{QA Judge\nbrand + fact + safety}}
I -- fail: targeted regen --> D
I -- pass --> J[Publisher\nschedule · captions · hashtags]
J --> K[(Analytics store)]
K -. engagement priors .-> D
stateDiagram-v2
[*] --> Drafting : source ingested
Drafting --> ScriptReview : screenplay ready
ScriptReview --> Drafting : edits requested
ScriptReview --> Generating : approved / auto-approve
Generating --> QA : all assets rendered
QA --> Generating : judge fail (targeted regen, max 2)
QA --> FinalReview : judge pass
FinalReview --> Scheduled : user approves
FinalReview --> Drafting : major rework
Scheduled --> Published : platform confirms
Published --> Measured : metrics T+72h
Measured --> [*]
06 · Pipeline
URL scrape / PDF parse / RSS & inventory-feed connectors → LLM extraction into a content brief: claims with source spans, entities (make/model/trim/price/specs against the automotive ontology), the newsworthy angle, audience, and a "so what" line. Every claim keeps its provenance — the QA judge later verifies the script only asserts facts present in the brief (hallucination containment at the boundary).
Input: content brief + character bible + duo dynamic + format target + platform priors (learned hook styles). Output: a screenplay JSON — the single source of truth downstream:
beats[] — hook, setup, turns, punchline/CTA with target timestampslines[] — speaker, text, emotion tag, pacing hintsshots[] (video) — who's on screen, framing, b-roll refs / panels[] (comic) — composition, bubble ordermusic — genre, energy curve, duck pointsFormats are projections: the same beats render as a 45 s reel or a 6-panel comic. Hook discipline is enforced structurally — beat 1 must land inside 2 s / panel 1.
reference_to_video per shot — character anchors bound via <IMAGE_REF_n>, shot continuity via <FIRST_FRAME> (last frame of shot N seeds shot N+1), "single continuous shot" phrasing to suppress unwanted cuts. Strategy mix per §07; clips >4 MB come back through the Files API URI flow (poll until ACTIVE, then download).gemini-3.1-flash-image) with the character reference set per panel. Panel-to-panel coherence uses multi-turn editing — previous_interaction_id chains "same scene, next beat" so backgrounds and outfits persist. image_search grounding keeps real vehicles accurate to model year and trim — a correctness feature generic comic tools can't offer. Speech bubbles are never AI-rendered — panels generate with clean negative space; bubbles and text are typeset as an SVG overlay. AI text is still the #1 comic-quality killer; typesetting sidesteps it and keeps text editable post-hoc.gemini-3.1-flash-tts-preview) multi-speaker mode — one request voices the whole duo (the 2-speaker cap matches the format exactly). Screenplay emotion tags compile to inline audio tags; scripts chunk per scene to avoid long-transcript drift; transcripts are prefixed ("TTS the following script:") so director notes are never read aloud. Captions come from a forced-alignment pass over the rendered audio — TTS returns no word timestamps, so alignment is its own pipeline node.lyria-3-clip-preview, fixed 30 s) covers most reels; Pro (lyria-3-pro-preview) for longer cuts. The screenplay's music brief compiles to a timestamped arrangement ([0:00–0:03] hook sting · [0:03–0:40] driving bed · [0:40–0:45] outro), instrumental by default. SynthID-watermarked like every other generated asset.Deterministic compositing in Remotion (React-defined scenes → server render): character clips + b-roll + captions (from TTS timestamps) + spec-card motion graphics + brand kit (logo, colors, lower-thirds) + mixed audio. Per-rendition re-layout for each aspect ratio. Output H.264/H.265 per platform spec.
A multi-check LLM/VLM pass, per rendition: factual consistency against brief claims; brand-kit compliance; character on-model check (VLM vs. reference sheet); caption/audio sync sampling; platform policy screen (no unsubstantiated performance claims, disclosure rules). Fail → targeted regen with the failure reason injected; two strikes → human escalation.
Caption/hashtag/title variants per platform, scheduling with slot optimization, then post via the publishing layer (§09). Metrics (views, watch-through, saves, comments) collected at T+24/72h and rolled into per-tenant priors: format × pairing × hook-style performance feeds S2. This flywheel is the retention story.
07 · Rendering
| A — Template compositing | B — Full generative video | |
|---|---|---|
| How | Nano Banana pose/expression sheets per character, rigged as 2D cutouts in Remotion — audio-amplitude mouth flaps, blinks, camera pushes — over Gemini TTS dialogue and a Lyria bed | Whole shots generated end-to-end by Omni Flash (reference_to_video / image_to_video), native synchronized dialogue, SFX and music |
| Cost / 45 s | Lowest — a handful of image gens + TTS + music + render (≈ $1–4 indicative) | Highest — per-second video generation (≈ $10–30 indicative) |
| Latency | Minutes, predictable | Longer, variable; URI polling for large files |
| Consistency | Very high (same rig every episode) | Strong via <IMAGE_REF_n> binding; occasional cross-shot drift |
| Editability | Line-level (re-TTS one line, recomposite) | Conversational edit mode — "make X, keep everything else the same" — targeted shot fixes without full regen |
| Ceiling | Animated-podcast look — charming for mascots, flat for human hosts | Cinematic, scroll-stopping |
Decision: hybrid, weighted to A. Dialogue segments (most screen time) render via strategy A — cheap, consistent, line-editable. Strategy B is spent where it pays: the 2-second hook shot, hero b-roll of the actual car, one showpiece transition. A per-tenant "generative budget" slider sets the mix, which also makes COGS a product knob rather than a surprise.
Audio authority rule: Omni Flash synthesizes its own dialogue/SFX/music. In a composed timeline that native audio is muted — the Gemini TTS + Lyria master track is the single audio authority, so character voices stay identical across A and B segments. Native Omni Flash audio is used only for one-shot, fully-generative renditions rendered end-to-end in B. And Omni Flash's conversational edit mode plugs straight into the §06 QA loop: a judge failure on one shot becomes an edit-task interaction ("fix X, keep everything else the same"), not a re-roll. The RenderProvider interface stays even with a single-vendor stack — several of these models are -preview, and golden-output evals re-run on every model-version bump.
08 · Audio
gemini-3.1-flash-tts-preview primary (multi-speaker, streaming), gemini-2.5-pro-preview-tts as the high-fidelity fallback. Multi-speaker config maps screenplay speakers to pinned voices ([{"speaker":"Rev","voice":"Puck"},{"speaker":"Dee","voice":"Kore"}]); each character's stored directorial profile (archetype, scene, style/accent/pacing notes) prepends the transcript; emotion tags render inline ([sighs], [excitedly]). Streaming mode powers instant line previews in the script editor. Per-scene chunking, retry on transient 500s, 32k-token context respected.09 · Publishing
Buy first, build later. Direct platform APIs (Meta Graph, TikTok Content Posting, YouTube Data, X, LinkedIn) mean five app reviews, five OAuth flows, and permanent churn. Launch on a unified posting API — Ayrshare, Post for Me, or Blotato; self-hosted Postiz if data residency demands it — and revisit direct integrations only when volume makes the per-post economics matter.
10 · Data
erDiagram
ORG ||--o{ BRAND_KIT : owns
ORG ||--o{ CHARACTER : owns
ORG ||--o{ SOURCE : connects
ORG ||--o{ SERIES : runs
CHARACTER ||--o{ CHARACTER_VERSION : versions
CHARACTER }o--|| VOICE_PROFILE : binds
SERIES ||--o{ PROJECT : contains
SERIES }o--o{ CHARACTER : casts
SOURCE ||--o{ CONTENT_ITEM : yields
CONTENT_ITEM ||--o{ PROJECT : seeds
PROJECT ||--|| SCREENPLAY : produces
PROJECT ||--o{ RENDITION : "fans out"
RENDITION ||--o{ ASSET : composed_of
RENDITION ||--o{ POST : published_as
POST ||--o{ METRIC_SNAPSHOT : measured_by
Notable choices: characters are versioned (a redesign must not silently change back-catalog regens); screenplay is stored as structured JSON and is diffable/editable in the UI; every asset records its generator, model version, prompt, and cost for provenance and COGS accounting.
11 · Stack
| Capability | Model | Model ID | Role in pipeline |
|---|---|---|---|
| Image — scale/drafts | Nano Banana 2 Lite | gemini-3.1-flash-lite-image | Ideation boards, thumbnails at volume (1K, 1 ref) |
| Image — workhorse | Nano Banana 2 | gemini-3.1-flash-image | Comic panels, pose/expression sheets: up to 14 refs, 4K, web+image search grounding, multi-turn editing, thinking_level control |
| Image — key art | Nano Banana Pro | gemini-3-pro-image | Character turnaround sheets, brand key art, interleaved text+image drafts |
| Video | Gemini Omni Flash | gemini-omni-flash-preview | Text/image/reference-to-video + conversational edit task; 16:9 & 9:16; URI delivery via Files API >4 MB |
| Music — reels | Lyria 3 Clip | lyria-3-clip-preview | Fixed 30 s MP3 beds — the default for short-form |
| Music — long-form | Lyria 3 Pro | lyria-3-pro-preview | Multi-minute WAV, structured/timestamped arrangements |
| Speech | Gemini 3.1 Flash TTS | gemini-3.1-flash-tts-preview | Multi-speaker duo dialogue, inline audio tags, streaming previews; gemini-2.5-pro-preview-tts fallback |
Docs: image-generation · omni · music-generation · speech-generation · interactions · files · pricing
| Layer | Choice | Notes |
|---|---|---|
| Frontend | Next.js + TypeScript | Script editor (screenplay JSON ⇄ readable script view), character studio, calendar, review queues |
| API | Node (NestJS/tRPC) or FastAPI | Multi-tenant, RBAC (creator / reviewer / admin) |
| Orchestration | Temporal | Durable DAG execution, suspend/resume for approval gates, retries, per-node idempotency |
| Agent runtime | LangGraph (or hand-rolled state graph) | Script agent + QA judge as bounded state machines inside workflow activities |
| LLM | Gemini 3 Pro / Flash | Extraction, screenwriting, judging — same vendor, same Interactions API and billing as the generation stack; prompts+schemas versioned per tenant |
| Video gen | Gemini Omni Flash (matrix above) | Behind RenderProvider interface; conversational edit wired into the QA loop |
| Image gen | Nano Banana family (matrix above) | Comic panels, pose sheets, thumbnails; SynthID on every output |
| TTS / Music | Gemini TTS + Lyria 3 (matrix above) | Duo-native multi-speaker; forced-alignment node supplies caption timings |
| Render farm | Remotion on Lambda/containers + FFmpeg | Deterministic compositing, per-rendition parallel renders |
| Publishing | Ayrshare / Post for Me / Postiz | Unified posting + metrics webhooks |
| Data | Postgres + S3/R2 + Redis | Assets content-addressed (hash = cache key for partial regen) |
| Observability | OTel + Langfuse-class LLM tracing | Per-project cost ledger; eval suite on golden screenplays |
12 · Roadmap
One hardcoded duo, article URL in → 30 s 9:16 dialogue reel out (strategy A only). No auth, no publishing. Goal: does the output make an auto-marketer say "post that"? Kill or commit on this.
13 · Economics
| Output | Main cost drivers | Est. COGS | Plausible price signal |
|---|---|---|---|
| 45 s duo reel (hybrid) | 1–2 Omni Flash hero shots (per-second video), Nano Banana pose stills, TTS chars, Lyria clip, render | $3 – $10 | bundled in $99–499/mo tiers |
| 45 s duo reel (template-only) | Nano Banana pose stills, TTS, Lyria clip, render | $1 – $4 | — |
| 6-panel comic post | 6–12 Nano Banana 2 gens (incl. rejects + multi-turn edits), LLM | $0.30 – $1 | near-free in bundles |
| Motion comic 30 s | Comic COGS + TTS + Lyria clip + render | $0.80 – $2 | the cadence filler |
Gross margin is protected by three levers: the generative-budget slider (§07), aggressive node-level caching (edits don't re-bill generation), and pushing daily-cadence customers toward comics/motion comics — the cheap formats — while reels carry the wow. Several stack models are -preview; figures are indicative — track Gemini API pricing and keep the per-project cost ledger authoritative.
14 · Competition
Every ingredient exists; the assembled dish does not. Adjacent products, verified July 2026:
| Product | What it does | Overlap | What it lacks vs. this |
|---|---|---|---|
| Synthesia / HeyGen | Realistic AI avatar videos from script; 240+/450+ avatars | avatar tech | Corporate-training DNA; no persistent cast writing, no comics, weak social publishing, zero automotive context |
| Pictory / VEED / InVideo | Article → stock-footage video with VO | article→video | No characters at all — faceless slideshow output |
| JoggAI / Revid.ai / DreamFace | Two-avatar "AI podcast" videos from text/URL | duo format | Closest on format. Generic hosts, no character bible/continuity, no comic sibling format, no analytics loop, no vertical ontology |
| Predis.ai / Simplified | Full social posts (visual+caption+hashtags) from a one-liner; scheduling | post automation | Template graphics, not characters; no narrative video |
| ArcStory / LlamaGen / PixelCut | Text → comic with character consistency | comic gen | Consumer storytelling tools; no brand system, no video, no publishing |
| Dealer Creative AI / Phyron / Glo3D / CARVID | Auto-dealer inventory → social videos, auto-posted | auto vertical | Inventory slideshows only — no characters, no editorial content, no comics; validates the vertical's demand |
| Opus Clip / vidyo.ai | Long video → shorts clipping | short-form | Requires existing video; different input class entirely |
| Torque Studio | Persistent cast + article/feed ingestion + video and comic + publish + learn, automotive-native | whitespace | — |
Read on the market: the "AI podcast duo" tools prove format demand; the dealer-video tools prove the vertical pays; the comic tools prove consistency tech works. Nobody owns recurring branded characters across video + comic with a closed publish–measure loop, and nobody owns it for automotive. That intersection is the wedge — and the character/series data accumulates into switching costs a horizontal tool can't chase.
15 · Risk
EU AI Act Art. 50 transparency obligations apply from Aug 2026; TikTok/Meta/YouTube require AI labels on synthetic media. Every Gemini-generated image, video, and audio track carries an invisible SynthID watermark — machine-detectable provenance that complements, not replaces, explicit platform disclosure flags in the publisher.
Auto marketing is regulated (fuel economy, range, pricing, financing disclosures vary by country). The QA judge screens performance/price claims against the source brief; enterprise tier adds mandatory human legal review gates.
Music generated by Lyria 3 under Gemini API commercial terms — no stock-library licensing chain, and SynthID audio watermarks double as provenance. Voices: Gemini TTS prebuilt voices only; no cloning of real people, ever.
Mascot designs must clear trademark conflicts (a grinning car character invites Pixar/"Cars" comparisons — keep designs distinct; legal review of preset cast). Tenant-custom characters: tenant owns the IP, we license the pipeline.
Entire generation stack sits on one vendor, and several models are -preview (deprecation and behavior shifts expected). Mitigation: thin RenderProvider / SpeechProvider / MusicProvider interfaces so a second family can slot in, plus a golden-output eval suite re-run on every model-version bump.
Posting via official APIs (or aggregators built on them) only; respect rate limits and per-account caps. No engagement automation — publishing only.
16 · Next