v2.0.02026-05-18designfeaturebreaking
PrintAIr v2.0 — studio control room
Full redesign. Cream + ink + single orange accent. Newsreader serif for editorial copy, Geist sans for UI, JetBrains Mono for every numeric signal. The operator app moves to a DAW-style shell: left rail with workspace nav, top transport bar, panel grid as the workspace, bottom status bar with live service health, and a collapsible console drawer with Activity / Render / SSE / Errors tabs. Marketing lands a 12-section editorial home with a live embedded studio demo. BREAKING: the v1 cream-cards layout retires; existing pages are visually re-platformed.
v1.10.22026-05-18featuredesign
Diegetic audio with sidechain ducking
Custom-engine story videos now mix the AI's per-scene generated audio underneath the narration. A sidechain compressor ducks the diegetic track whenever narration is speaking (threshold 0.05, ratio 8, attack 5ms, release 250ms) and lets it rise back during quiet moments. Orchestra prompts get orchestra ambience; café prompts get café ambience.
v1.10.12026-05-18fix
Custom stitcher no longer truncates to narration length
The final stitch's `-shortest` flag was cutting 30s plans down to ~19s when narration audio was shorter than the video timeline. Narration is now padded with silence to each scene's planned duration before concat — final video plays for the full requested length end-to-end.
v1.10.02026-05-17feature
Custom story video engine + music pass
Multi-stage pipeline as an alternative to the single-call Faceless engine. LLM scene planner → per-scene image + image-to-video + kokoro TTS → ffmpeg stitch with subtitle burn-in. Optional background-music pass via wiro/video-background-music-gen. Engine toggle in the story-video form; scene mode (parallel / chained) and music toggle as Custom-engine knobs.
v1.9.02026-05-17designfeature
Post detail v2 — Stage + Brief + Drafts + Details
Redesigned post detail surface. Master asset gets a real video player with sound, scrub, and fullscreen. Brief panel renders the LLM's interpretation alongside the original prompt + scene plan for story videos. Drafts list is text-first with character counts; device-frame mocks live behind a toggle. Generation details collapse to a three-tab panel (Pipeline / Costs / Raw tasks).
v1.8.02026-05-15feature
Multi-account social roster + persona pool per workflow
Each platform can now hold multiple connected accounts (e.g. two LinkedIn handles). Workflows pin a persona pool — the worker picks one at random per tick. Variants ship per-account: two LinkedIn accounts each get their own draft.
v1.7.02026-05-10feature
Story video templates + 10-language TTS
Four templates land: viral_hook · product_intro · history_narrative · listicle. Each template seeds the planner with a different narrative shape. Kokoro TTS gains 9 languages (Turkish narrates via an English voice with a warning chip).
v1.6.32026-05-08fix
Faceless async-wait robust to premature socket events
The Faceless model emits `task_postprocess_end` on the websocket early — at the planner stage, not after final stitch. The orchestrator now races socket against polling and accepts the first authoritative pexit signal.
v1.6.02026-05-04featuredesign
Admin panel — audit, costs, health, system settings
Separate admin shell with eight surfaces. System-wide default models for users without a profile pick. Audit log of every state-changing action. Wiro cost rollups per user and per workflow.
v1.5.02026-04-30feature
Persona system — voices, photos, training
Personas replace the old mascot generator. Each persona carries description + physical characteristics + mood + speaking tone + a photo set. Generation prepends persona context to every LLM call; image models consume the photos as multi-ref.
v1.4.02026-04-22feature
Workflow templates + cron scheduler
Custom workflows with topic pools + per-template scheduling. The worker's scheduler ticks every 60s and dispatches based on per-template cadence (rival_pulse = 15min, viral_hook = 6h, etc.).
v1.0.02026-04-01feature
PrintAIr launches
Initial release. One prompt → brief → master image → per-platform rewrites across 13 channels. Telegram approval bot. Better Auth + Drizzle + Postgres + RabbitMQ + Redis + MinIO. MIT-licensed.