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 multi-probe view of our core services.
- 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 our existing AI script 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
Render webhook endpoint (latency win)
Our render provider now pushes signed webhook callbacks so renders no longer poll. An idempotency table dedupes retried deliveries. Off until the webhook secret is configured in production.
- perf
Lyria 3 music + Mirelo SFX (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 our storage so <video src> never exposes the underlying provider.
- 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
Smarter routing for video clips
Seedance / Kling / Veo i2v clips now route through a faster, more cost-efficient path, with automatic fallback for reliability.
- feat
Reviral API V3 — 37 new fields
Public render API now accepts the full V3-style hierarchical 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 (756k-video industry analysis: questions win), 7 archetypal framings, 15 named cinematography moves, brand pronunciation phonetics, scope-narrowing for long topics, proven 4-beat ad structure.