Changelog
What's new
We ship transparently. Every meaningful change to Reviral lives here. Subscribe via blog RSS for full posts.
- ship
Operations dashboard
Operator-only /admin home now surfaces recent renders, recent signups, and a banner for stuck (paused/dlq) renders. /api/health gives uptime monitors (BetterUptime, Pingdom) a 4-probe view of Supabase, Anthropic, fal, and ElevenLabs.
- feat
AI Voice Rewrite
Four buttons under the script-to-video textarea — Rewrite, Tighten, Make engaging, Continue. Powered by /api/script/rewrite (rate-limited 60/hr). No new credits — uses existing Anthropic budget.
- feat
Prompt A/B testing
Foundation for testing SYSTEM_PROMPT variants. Operator can create alternates via /admin/promptdb; the script generator picks one weighted-randomly per render and outcomes (success / failure / avg credits) auto-record. Win rates surface live.
- feat
Low-balance email alerts
Daily cron pings users with under-threshold credit balances (default 50). Single email with a checkout CTA; 7-day cooldown so we don't spam.
- perf
fal webhook endpoint (latency win)
/api/fal/webhook/[secret] receives ED25519-signed callbacks from fal so renders no longer poll. Idempotency table dedupes retried deliveries. Default OFF until FAL_WEBHOOK_SECRET is set in production.
- perf
Lyria 3 music + Mirelo SFX (fal-cheaper alternates)
Drop-in replacements for ElevenLabs music ($0.08/audio Lyria 3 Pro) and ElevenLabs SFX ($0.01/sec Mirelo). Feature-flagged via ENABLE_LYRIA_MUSIC and ENABLE_MIRELO_SFX; ElevenLabs fallback on any failure.
- feat
Sync.so v3 lipsync (pro tier)
Talking-avatar lipsync gets a quality tier. quality=fast (default) is latentsync — unchanged. quality=pro is Sync.so v3 — premium precision at $8/min.
- feat
Avatar background removal
New /api/avatar/remove-background. Default Veed (~$0.012/sec). Pro option: Bria ($0.14/sec, premium hair/edge precision).
- ship
Anti-RE security pass
DevTools no longer reveals our provider stack. /api/render/status response sanitised; storyboard manifest stripped of model slugs; AI scene clips proxied through Supabase storage so <video src> never shows fal.media.
- perf
Server-side PostHog proxy
Analytics events now route through /api/analytics on our own domain. Defeats uBlock Origin, Brave Shields, AdGuard — which were quietly dropping ~30% of pageview events.
- feat
5-phase render progress
Project page replaces the raw step_progress JSON dump with a clean Script → Visuals → Voiceover → Stitching → Polishing progress bar. Each phase has pending / active / done state.
- feat
Atlas Cloud routing for video clips
Seedance / Kling / Veo i2v clips now route to Atlas Cloud (~5x cheaper than fal for the same quality). Existing fal fallback preserved if Atlas is unavailable.
- feat
Reviral API V3 parity — 37 new fields
Public render API now accepts the full Revid V3 schema (voice stability, music sync, quizzData, applyStyleTransfer, customCreationParams escape hatch, and more). Backwards-compatible.
- feat
Onboarding missions — earn 120 free credits
Five missions on the dashboard, each grants real credits when completed (account 20 + first render 30 + voice 20 + social 25 + 5 videos 25). Idempotent claims, server-verified.
- feat
Daily revenue + activity digest
08:00 SGT Telegram + email digest with yesterday's signups, paying customers, renders, success rate. Plus error-spike alerts (10+ failures/hour) and high-cost render pings (>1000 credits).
- feat
Pause-and-resume render pipeline
When a provider hits quota, renders pause silently and resume automatically within 5 minutes once balance is restored — instead of failing. Customer never sees 'render failed'.
- perf
Step-cache on render resume
Paused renders no longer re-pay for script generation + TTS on resume. Skips already-completed expensive steps via state checkpointing.
- feat
Auto cover thumbnail
Project grid thumbnails now use the curated scene 0 keyframe as <video poster>, replacing the often-ugly first frame of the rendered mp4.
- feat
Base tier gets Nano Banana Pro keyframes
Every render tier now uses NB Pro for image generation, not just Pro/Ultra. Closes the visible quality gap between tiers for ~$0.27 extra per Base render.
- feat
Character verbatim re-description
When a script defines a recurring character (Goku, Naruto, anyone with named identity), the exact description is injected into every scene's keyframe prompt — preventing face/outfit drift across scenes.
- feat
Script LLM upgrades
Hook-as-question allowed (Revid 756k-video analysis: questions win), 7 archetypal framings, 15 named cinematography moves, brand pronunciation phonetics, scope-narrowing for long topics, proven 4-beat ad structure.