The Build Log
e studios remix — Full Status Report
2026-07-08, session 2 (post-founding). Companion to NEXT_SESSION.md (runbook), E_CASTING.md (routing), LAUNCH_THREAD.md (transmission).
The project
The e studios remix: the anonymous 40-second NYSE elegy, fractured into 38 jump-cut segments and re-rendered so each segment wears a different era's visual style — a memory palace of the 2015–2022 mania, every style predating 2008. One filter is a filter; thirty-eight are an argument. Three finished cuts exist (v1 "the 2023 print," v1.1 fade coda, v1.2 combustion coda). The standing priority over everything below is releasing v1.
State inherited from the founding session
- Three complete cuts with original audio; 56-part library in ComfyUI output; full archive at
iCloudDrive\e_studios_remix(270 files, 571MB). - Pipeline: ComfyUI portable (
C:\AI\ComfyUI_windows_portable) driven headless via API by scripts inC:\AI—render_shots.py(68-shot manifest + content prompts, canonical),render_38.py(full v1 runner + 38-style bible in media-history escalation order),coda_travel*.py(prompt travel + CN decay),ipa_recrank.py. - Doctrines (NEXT_SESSION.md §Doctrines): CN strength by style family; line styles need lineart CN; IPA transfers flatness+palette, never pen line; drift accidents canonized; 6GB VRAM rules.
- Docs: spec, finished artist statement, shot bible (
..\e_shots\INVENTORY.md), THE_POINT.md, 473-entry dossier.
Done this session (2026-07-08)
- Ligne claire SOLVED —
ligneclaire_lineart_v4.mp4, stripprogress_ligne_5gen.png. v4 = v3 + named colors in POS ("flat printed color fields in flat pale blue, cream, and muted brick red"). Palette arrived (~85%), stable across frames, line intact. Recipe closed: ref = pen, prompt = palette, lineart CN = permission (C:\AI\lignev4.py). Serves 7 pen-line segments incl. Palantir post-swap. - LTX-Video 2B taste test —
ltx2b_s24_taste.mp4(partLTX2B_S24). 97f in ~1 min. Won't hold composition (drifts from conditioning frame into invented shots — by frame 96 it hallucinated the exchange facade unprompted). Drift is filmic melt, not boil. Cast: transition tissue + coda texture, not a segment renderer. - CogVideoX-2B taste test —
cog2b_s24_taste.mp4(partCOG2B_S24). From text alone: rock-stable NYSE balcony ceremony, green confetti, white banner with illegible logo, glossolalia lettering on the frieze. The Chinese model has the American ceremony memorized as an archetype; it renders the lost corporate referent by default. Chinese-print thesis confirmed. 14 min/clip — parts oven, not iteration tool. - E_CASTING.md — 38 segments × text-stakes tier (T1 edges / T2 mask-composite / T3 decay-is-content) × punctum/thesis flags × engine route. seg09↔seg21 swap DECIDED & applied (also in
render_38.py): ligne-claire Palantir per proto #33; constructivist bass macros. Found: seg26/27 boundary overlap (19.18–19.81 vs 19.39–19.81) — fix before Levi's punctum re-render. - LAUNCH_THREAD.md — 9 posts selected from the dossier (verbatim receipts, dated). Open decisions listed at bottom; recommendation: v1 on POST 1, v1.2 burn as second beat.
- LoRA "e-studios-remix style" — training on the 57 prototypes (512² center-crops,
C:\AI\lora_train\img), 2000 steps, rank 16, seed 20221118, ~15 min on the 4050. LauncherC:\AI\train_lora.cmd; auditionC:\AI\lora_audition.py(2 prompts × 3 weights grid →lora_audition_grid.png). LoRA+canny on real shot (lora_canny_compare.png): composes cleanly; glue 0.35 works; house style softens under canny → route via lineart if it ever carries a segment. - Librarian + assemble.py DONE (runbook step 7).
C:\AI\librarian.pyreads ComfyUI's embedded workflow metadata out of each part →catalog.json(63 parts, all workflow-recovered; 56 segment-mapped, 61 style-mapped).C:\AI\assemble.pybuilds finished mp4s from JSON EDLs incuts\. Verified: rebuilds shipped master exactly (40.099002s), and regenerates the v1 EDL from metadata alone → concat.txt files now redundant. Docs:LIBRARIAN.md. - seg26/27 boundary bug FIXED.
render_shots.pyshot 53 t1 was mistyped 19.81 (=54's t1), making shot 54 a subset of 53 (overlapping Levi's-denim frame extraction). Corrected to 19.39 (=54's t0): now contiguous non-overlap. Propagated toE_CASTING.md(seg26 → 19.18–19.39).
The new stack — what each download is and does
| Thing | What it is | Job |
|---|---|---|
| LTX-Video 2B distilled (6.3GB, in ComfyUI checkpoints) | Native video DiT, 8-step distilled sampling, VAE included | Transitions, coda dissolves, near-free iteration (C:\AI\ltx_taste.py) |
| T5-XXL fp8 (5.2GB, text_encoders) | LLM-class text encoder | LTX's language half — reads prose paragraphs, not keyword soup |
| CogVideoX-2B (~13GB, HF cache) | Open Chinese t2v DiT (Apache), own 3D VAE + T5 | Chinese-print parts (C:\AI\cog_taste.py, diffusers + CPU offload) |
| SD1.5 diffusers layout (2GB, HF cache) | Base model unpacked into components | LoRA training substrate only |
| diffusers 0.39 / peft / accelerate (embedded python) | Training + pipeline stack | Runs LoRA training; avoids separate kohya env |
Routing doctrine (who renders what — full table in E_CASTING.md)
- canny (v1 stack): 24 segments — photographic/painterly/graphic at moderate distance.
- lineart (v4 recipe): pen-line segments 09, 16–20, 34 (+21 pre-swap history).
- lowCN (0.5–0.65, early end): console block 28–33.
- Qwen-Image-Edit, cloud (~$10 RunPod): cubist seg08 (impossible under edge-lock), geometry-breakers (bayeux/stained-glass fallback), T2 mask-source frames for MAX-text shots (Palantir seg09, ICE seg10).
- GPT/Grok keyframes via OpenRouter (~$5): one-to-one famous styles only — Peanuts seg17, sitcom seg20. OpenRouter = right for these API keyframes; wrong for cloud batch/v2v (use RunPod raw GPU).
- Wan 2.2 (cloud weekend): the restoration pass, all segments.
- CogVideoX + Qwen + Wan + Kolors: "the Chinese print" — full alternate version, end-to-end Chinese engines (runbook step 6).
- LoRA: cross-segment house-style glue at low weight; consistency booster.
Cost intelligence gathered (July 2026 rates)
- Full 960-frame API pass: Grok Imagine ~$19 · GPT Image medium ~$40–50 · GPT Image 2 high ~$200. Identity flicker makes every-frame API passes a style of their own, not a default.
- Keyframes-only hybrid (~100 frames GPT-high + local propagation): ~$20.
- Qwen-Image-Edit full pass on rented 4090: ~$4–12. The Chinese print is also the cheap print.
- Laptop read: 4050/6GB = drafting studio + parts factory (AnimateDiff 512², LTX 1 min/clip, Cog via offload, LoRA training). Hard wall: 720²+, SDXL/FLUX comfort, Qwen-20B, Wan-14B → cloud. 32GB RAM is the hidden asset. NPU irrelevant to this stack.
Transmission status (the thing that matters)
- Ready: three cuts, finished statement, dossier, launch thread draft.
- Blocking: only the author's decisions — cut on POST 1; premiere sequencing vs Contain episode (thread should not gate on it); ICE treatment (decision #3 — matters for re-renders, not for shipping v1).
- Nothing technical blocks release. The monthly-artifact rule is satisfied the moment POST 1 is live.
Session-2 continuation (casting made real + tooling + cloud prep)
- seg09 ligne-claire Palantir RENDERED (
seg09_ligne_palantir.mp4, partLIGNE_S09_00001, 33f lineart+IPA). The decided casting, real. Wordmark held ("Palantir" legible, logo mark survived, FOUNDRY reads) — MAX-text thesis confirmed via lineart. Palette drifted warm/gold (IPA ref warmth overrode named cool palette — tunable). Scriptrender_seg09_ligne.py. - seg21 constructivist RENDERED (
seg21_constructivist.mp4, partCONSTRUCT_S21_00001, 18f canny). Completes the seg09↔seg21 swap. Bass macro as red/black graphic planes, strings-as-cables. Scriptrender_seg21_construct.py. cuts/v1_castASSEMBLED — first casting-accurate cut, both swaps real (seg09=ligne, seg21=constructivist), exact 40.099s. This is the base for cloud upgrades → the maximal version.- Librarian gained
--swap(clone+swap cuts by seg/part),--query(filter catalog),--gaps(re-render queue: 34/38 segments still v1-only). SeeLIBRARIAN.md. - Cloud bootstrap WRITTEN —
cloud/bootstrap.sh(turnkey RunPod 4090 setup; Wan 2.2 14B + Qwen-Image-Edit 2511, model files verified July 2026) +cloud/CLOUD_SESSION.md(render plan → maximal version, parts flow back through the librarian).
- Seedream 4.5 text-fidelity SOLVED the MAX-text problem (2026-07-09). OpenRouter test (
cloud/seedream_test.py, ~$0.08) then full seg09 pass (cloud/seedream_segment.py, $1.32, 33 frames →seg09_seedream.mp4): every wordmark legible through ligne-claire edit (Palantir/PLTR/NYSE/GOTHAM/FOUNDRY/APOLLO, WARBY, NU, ICE, DOORDASH). Coherence: macro elements lock (composition/palette/wordmarks steady), only fine linework boils — on-doctrine ("flicker is period"). Decisions: seg09/seg10 → Seedream edit; tier-2 wordmark-mask tool CANCELLED; Qwen no longer needed for MAX-text (only geometry-breakers). Seedream beat GPT-image-1 on price (4–6×) and source fidelity. Note: Seedream returns JPEG — segment script sniffs format now (was a .png-extension assembly bug, frames were fine).
- THE SEEDREAM PRINT RENDERED & ASSEMBLED (2026-07-09). Full-film pass minus coda via
cloud/seedream_print.py(~$25.60 total incl. probes): 46 runs, 2048² masters inseedream_print/, 512 conforms + sidecars auto-cataloged (112 parts total now). Cut:cuts/seedream_print_v1.json/.mp4(46 Seedream slots + CODA_V12 combustion coda). Cubism SOLVED (s08 Unity as true fractured planes, wordmark intact — the locally-impossible segment fell for $0.92). Kick=perfect clay; VHS/PS1 strong. Misses: bayeux kept subject photoreal (hybrid), some styles conservative under comp-lock. Prompt lesson recorded: artifact-genre styles need 'in the style of' + composition rule (seg10 deco test). Coda decision still open; curation pass (per-segment A/B vs v1) is next. the ligne claire Palantir prototype is staged asComfyUI/input/ligne_ref.png(used as seg09's IPA ref — it IS the segment's own style bible entry, banner reads PALANTIR/PLTR/NYSE + GOTHAM/FOUNDRY/APOLLO). The iCloud folder's 33rd file is a different image (a painterly oil of the kick) — filesystem order ≠proto_index.pngnumbering, so don't grab prototypes by nth filename.
- MAXIMAL_V1 CURATED & ASSEMBLED (2026-07-09). Interactive curation page (
CURATION.html+curation/gen_curation.py): 46 A/B rows, live swap-command export (base: v1_full). the author's picks: 44/46 Seedream (kept v1 for seg17-r0 comic strip, seg25-r0 storybook; coda = v1 nitrate pending decision). Cut:cuts/maximal_v1.json/.mp4. Watch file:compare_v1_vs_seedream.mp4. - BOUNDARY TRUTH ESTABLISHED (2026-07-09) —
BOUNDARY_REPORT.md+boundary_sheet.png+C:\AI\true_cuts.json(71 detected cuts). Drift = off-by-one label shift (inventory split Unity in two; source has one). True ICE = 7.05–7.42, cleanly extractable → unblocks decision #3. Shot-bible corrections: "Olo"→TOAST (Sep 2021); missed doubles (Pinterest/Paragon28/DutchBros/PagerDuty); Fearless Girl has an empower banner; Grindr = indoor GRND podium. INVENTORY v2 pending; shipped accidents stand (doctrine 5).
- GATE 2 CLOSED — both artistic decisions made (2026-07-09),
cuts/maximal_v2.mp4(48 parts, 40.099s). ICE = RAW (true frames 7.048–7.423,ICE_RAW_00001, after trimmedSEEDREAM_S09_PREICE); coda = shadow-rise → combustion sequence (CODA_SEQ_00001: LTX melt 5s xfade into v1.2 combustion tail; final burn accidentally forms a question mark ~39s). Seedream decay staged (cloud/seedream_coda.py, $13) but SKIPPED — role absorbed. Wan's coda role: high-res v2v re-render of the sequence on the pod. Fix recorded: new parts must match library timebase (2997/125 fps, tbn 11988) or concat-copy inflates duration.
- DECISION RECORDED: full technical completion BEFORE transmission (the author, 2026-07-09). The remaining technical list is authoritative: INVENTORY v2 + frame-exact re-extraction → bell map → hi-res master → Wan pod (coda re-render + upscales) → final QA → then Gate 1 (archive, account check, post).
- BACKUP SYNCED — 279 new files →
iCloudDrive\e_studios_remix(1.4GB): all cuts, 2048 Seedream masters, new parts+sidecars, LoRA weights, scripts incl. cloud/, docs, boundary evidence. - ASSEMBLER HARDENED —
assemble.pypreflight: every part must match library reference (h264, 512², 2997/125, tbn 11988) or assembly refuses with fix instructions. - MECHANICAL QA FINDINGS (maximal_v2):
- SYSTEMIC: extraction overlap → cumulative audio desync + amputated ending. Float-second run extraction duplicated ~11 boundary frames across parts (sum 972 vs source 961). Concatenated video runs long; the
-shortestremux trims the tail — v1 shipped missing its final ~0.5s (invisible: near-black), and downstream segments run up to ~0.44s late vs audio. Frame-exact re-extraction (with INVENTORY v2) is now the top-priority technical item — it's sync correctness, not scholarship. - ICE splice joint verified clean (illustration→photograph cut lands sharp, no stutter).
- End-of-film fixed: coda fade moved inside the trim window (fade st=12.5 d=0.6 in
CODA_SEQ_00001); true final frame luma 6.8 (black). maximal_v2 reassembled, 40.099s.
- INVENTORY v2 DONE (2026-07-09) —
INVENTORY_V2.md+C:\AI\shots_true.py+v2full\(65 shot dirs, 961 frames exactly, zero overlap/gap). Truth: 65 shots, not 68 — three phantom splits merged (striped-banner+bell, Unity×2, FIGS×2); 5 detector double-fires dropped (c29/c32/c40/c51/c54); full relabel of the 1.6–8.0s slide; Olo→TOAST; Levi's starts 18.893 (not 19.18). All future extraction/re-renders usev2full— frame-exact, fixes the sync/amputation defect at the root. - BELL MAP DONE (2026-07-09) —
BELL_MAP.md: 44 bell strikes detected (1.5–5kHz onsets); 20/64 true shot boundaries land on a strike (≤100ms). Those 20 are the natural segment-transition points if boundaries are ever re-grouped; the audio rule is now data, not intention.
- MAXIMAL_HD BUILT — items 3+4 CLOSED (2026-07-09).
cuts/maximal_hd.mp4: 2048×2048, exactly 961/961 decoded frames, audio matched within 6ms (amputation defect fixed by construction), final frame luma 0.0. Built byC:\AI\build_hd.py: 48 slices — Seedream 2048 masters trimmed to contiguous true frame counts (old-table gaps bridged with clone frames at cut boundaries; ~16f v1 silently dropped now covered), no re-render needed ($0). Pod-replacement list (4 slices): ICE_RAW (lanczos placeholder → ESRGAN), RUNTMP_00025 seg17 comic (512→upscale), RUNTMP_00036 seg25 storybook (512→upscale), CODA_SEQ (512 sequence → Wan HD re-render). Backed up.
- POD SESSION DISSOLVED — item 5 CLOSED locally + via OpenRouter discovery (2026-07-09). (a) All four placeholder slices upscaled locally (RealESRGAN x4 via spandrel on the 4050,
C:\AI\upscale_local.py, ~13 min, free) →hd_upscaled/; maximal_hd rebuilt: 0 non-master slices, 961/961 frames, ending visually verified black (note: luma probes on the copy-concat tail are unreliable — frame-index/presentation-order + png dedup artifact; trust decode-and-look). (b) OpenRouter now serves video gen incl. Wan 2.6/2.7 — the optional Wan coda variant is a ~$0.55 API call (13.6s ≤ 15s clip cap), not a pod; RunPod only ever returns if the Chinese-print full v2v restoration happens (needs open Wan 2.2 on raw GPU). Recommendation standing: DON'T regenerate the coda — the question-mark burn only exists in the approved render. - TECHNICAL LIST COMPLETE (2026-07-09). Items 1–5 all closed.
cuts/maximal_hd.mp4: 2048², 961/961 frames, 40.08s, 374MB, fully backed up. Remaining before Gate 1: item 6 only — the author's full-speed watch with sound (any regret = one --swap + rebuild).
- ITEM 6 CLOSED — the author watched maximal_hd end-to-end, no changes requested (2026-07-09). ALL TECHNICAL WORK COMPLETE.
- DELIVERY ENCODE READY —
e_studios_remix_v1_POST.mp4: 1080², CRF16/10M cap, faststart, 52MB, spot-checked, backed up. This is the file that attaches to POST 1. Remaining acts are the author's alone: archive provenance → eyeball @estudios → post the thread (LAUNCH_THREAD.md) → pin, statement as reply, archive own thread → Berthoud DM. Restoration (maximal_hd) releases later as its own beat (e studios Day 2027 candidate).
- BAYEUX RE-ROLL INTEGRATED (2026-07-09, $0.60) —
seg00_bayeux2.mp4(v2full/s000, frame-exact, 'bayeux' full-conversion prompt): total embroidery conversion — woven bassist, stitched headphones, romanesque border with bells, glossolalia shirt text. Integrated viahd_upscaled/SEEDREAM_S00_r0_00001_master.mp4; maximal_hd rebuilt 961/961; hybrid kept asseedream_print/s00r0_master_hybrid_v1.mp4(revert = one file swap). Known: bass color flickers across the 15f (object-level boil — on-doctrine, the author to confirm in motion). The improvement list is now empty. The maximal version is at its ceiling.
Remaining runbook
Still the only thing blocking v1: the author's call on which cut rides POST 1, premiere sequencing, and pressing post. Nothing technical remains.