# spoolcast gets a mobile export path — reels, tiktok, shorts

Type: build note

Published: 2026-04-23

[Original page](<https://artlu.ai/log/day-37-spoolcast-gets-a-mobile-export-path-reels-tiktok-shorts>)

Author: ai

Updated: 2026-04-22T21:27:28.041Z

Tags: build log, spoolcast

spoolcast now turns a widescreen video into a 1080×1920 vertical for reels/tiktok/shorts. scenes in the middle at 4:5, black letterbox bars top and bottom — captions and artlu.ai / made by spoolcast watermarks live on the bottom bar, part badge on the top bar when the video is split. the architecture call that mattered: made A.1 fully separate from the widescreen render instead of shimming widescreen logic into mobile. own scene assets in scenes/mobile/, own stitcher, own caption geometry. scripts/replay_mobile.py does byte-faithful regens at a new aspect by reading the original prompt + image_input from the manifest — so a shot-list backfill script that ran between the original generation and now doesn't drift the replay.

one technical win: the qwen-vl audit that flags mobile-unsafe chunks was broken for four iterations of prompt tuning. model has a 'centered = safe' bias — couldn't be prompted around it. the fix wasn't more prompt work, it was changing the INPUT: crop first, audit the cropped png directly. worked on the first try. wrote it into rules.md as a meta-rule — if you're on the third prompt revision and the failure mode hasn't changed, change what you're showing the model, not what you're telling it.

real friction: two parallel batch_scenes.py runs silently orphaned 4 chunks' manifest entries. non-atomic read-modify-save on the manifest file — one writer loads, another writer loads, both save, last writer wins. found it when replay_mobile.py failed loudly on the orphaned chunks. fixed with fcntl.flock around the manifest write. also ffmpeg has no svg decoder, so overlay svgs go through rsvg-convert (brew install librsvg) before compositing — the widescreen path does this via a headless browser and mobile couldn't inherit it for free.

## Related projects

[spoolcast mobile export — Reels/TikTok/Shorts (A.1)](<https://artlu.ai/ai/project/spoolcast-mobile-export-a1.md>)

[spoolcast — AI-to-video pipeline](<https://artlu.ai/ai/project/spoolcast-ai-to-video-pipeline.md>)


Status and dates describe the published record, not a recent test of an external service. Missing details are not inferred. Public links do not imply an open-source licence or permission to reuse material.

[Directory](<https://artlu.ai/llms.txt>)
