ajaysi
aaf94049da
feat: validate podcast cost estimation accuracy, document per-token costs, and fix subscription/plan enforcement
...
Issue #543 — Validate Estimated Cost Accuracy (UI vs Backend)
Backend:
- cost_estimator.py uses pricing catalog (APIProviderPricing) as single source of truth
- All 7 cost components: analysis, research (search+LLM), script, TTS, voice clone, avatar, video
- initialize_default_pricing() runs on every app startup for auto-sync
Frontend cost estimation fixes:
- Added missing analysisCost, scriptCost, voiceCloneCost to PodcastEstimate type
- toPodcastEstimate() now extracts all 7 backend fields (was dropping 3)
- headerCostEst maps analysisCost->Analyze, scriptCost->Write, voiceCloneCost->Produce
- EstimateCard shows 5 chips: Analysis, Research, Script, Voice(TTS+clone), Visuals(avatar+video)
- Chip sum now equals backend total for all configurations
Subscription & plan fixes:
- Removed Stripe re-verification from checkSubscription() (downgrade regression fix #539 )
- Added verifyCheckoutRef pattern for reliable mount-time checkout polling
- One-time Stripe sync effect with pending_subscription_change flag for Customer Portal returns
- Free plan limits: stability_calls 3->10, audio_calls 5->10 (supports 2 podcasts)
- Image enforcement uses actual provider (GPT_PROVIDER), not hardcoded Stability
- Billing/pricing pages bypass onboarding check in ProtectedRoute
- Gradient buttons + loading spinner on plan chip in UserBadge
- Added metadata-based Stripe lookup fallback (Issue #538 )
Documentation:
- TESTING_GUIDE.md: comprehensive testing instructions for non-technical testers
- Free plan limits, usage tracking, cost estimation formulas
- 10 test cases for UI verification
- Troubleshooting guide
- Quick-reference cost formulas with all default rates
Cleanup: removed legacy ToBeMigrated directory (70+ files, ~22K LOC)
GSC Brainstorm: service, hook, modal, and UI components for blog topic brainstorming
2026-05-27 08:46:38 +05:30
ajaysi
91b2f996fd
feat: voice clone audio generation + podcast workspace architecture
...
- Voice clone integration: When user selects voice clone in Write phase,
backend uses their uploaded voice sample + scene script text to generate
audio via qwen3/minimax/cosyvoice voice clone APIs
- Multi-tenant workspace storage: All podcast assets (audio, video, images,
charts) now use workspace-specific directories per user
- Chart preview improvements: Card-based B-Roll charts UI with thumbnails,
takeaway text, and action buttons; public endpoint for image serving
- Voice clone caching: In-memory LRU cache for voice samples (avoids
re-downloading per scene); frontend caches voice clone metadata
- Thread pool for voice clone: Audio generation uses ThreadPoolExecutor to
avoid blocking the FastAPI event loop
- Auto-detect voice clone IDs (vc_*, MY_VOICE_CLONE) to route correctly
- DB fallback for voice sample URL: Fetches from ContentAsset if not passed
- Fixed API URL resolution for chart previews
- Fixed GlassyCard DOM warnings for motion props
- Fixed ScriptGenerationProgressView syntax error
- Fixed usePodcastWorkflow scriptData reference
2026-04-21 19:38:50 +05:30
ي
e68c289901
Harden audio-only script flow and mode propagation
2026-04-20 08:44:46 +05:30
ajaysi
34f82c43dd
Production fixes: modal stays open, gradient UI, source links, stepper cleanup
...
- Fixed progress modals closing prematurely during analysis/research
- Enhanced Create Your Voice Clone button with gradient styling
- Light gradient themes for Expert Quotes, Listener CTAs, Mapped Angles
- Made source reference chips clickable with links in new tab
- Removed duplicate stepper (kept in Header only)
- Skip api-stats endpoint in podcast-only mode
- Combined 3 voice scripts into 1 example
- Added force-include step4_assets router in podcast mode
2026-04-20 06:10:54 +05:30
ي
280159669b
Add accessible cost estimate chip and phase breakdown in podcast header
2026-04-19 16:39:49 +05:30
ajaysi
e704aa7d87
Podcast Maker: Fix progress modals, research JSON, header stepper, voice/podcastMode chips
2026-04-19 13:16:59 +05:30
ajaysi
edf3f32b3c
feat: Add hamburger menu to Podcast Maker header and move Bible to AnalysisPanel
...
- Add hamburger menu to Header with gradient styling
- Move Help, My Episodes, My Projects, New Episode into dropdown menu
- Move PodcastBiblePanel into AnalysisPanel header as icon button
- Display Bible details in a styled Popover
- Improve overall header UX and mobile responsiveness
2026-04-07 17:45:43 +05:30
ajaysi
e59c77b221
feat: Improve podcast maker UX and fix bugs
...
Frontend:
- Add progress modals with educational content for analysis and voice cloning
- Improve tab navigation in AnalysisPanel (combine Titles, Hook, CTA into one tab)
- Fix tab styling to make inactive tabs visible
- Fix avatar 'Make Presentable' not updating preview (blob URL handling)
- Improve mobile responsiveness for avatar tabs
- Clean up verbose console logging (AnalysisPanel, demoMode, RobustCamera)
- Add sequential progress messages instead of cycling
Backend:
- Fix 'Depends object has no attribute get' error in auth and image editing
- Use get_session_for_user instead of get_db outside FastAPI DI context
- Reduce WARNING logs to DEBUG in audio handler
- Add proper emphasis boolean handling in script generation
- Add missing fields to PodcastScene and PodcastSceneLine models
- Fix voice cloning cost estimate display issue
2026-04-07 16:28:11 +05:30
ajaysi
45d2b0b693
Fix: Remove duplicate Research Queries section in podcast maker
...
- Remove Research Queries section from AnalysisPanel.tsx
- Keep QuerySelection component as single source for research queries
- Remove unused props (onRunResearch, isResearchRunning, selectedQueries, etc.)
2026-04-06 16:20:28 +05:30
ajaysi
6cf5d0396d
Update PodcastDashboard
2026-04-06 07:21:47 +05:30
ajaysi
b567a32136
debug(frontend): log gating in PodcastDashboard entry
2026-04-05 07:40:52 +05:30
ajaysi
63bb937796
feat: podcast demo mode with ALWRITY_ENABLED_FEATURES support
...
- Add ALWRITY_ENABLED_FEATURES env var for feature gating
- Podcast-only mode: skip LLM bootstrap, scheduler, persona services
- Enhance video generation prompt with scene context, analysis, narration
- Add voice cloning support via custom_voice_id in WaveSpeed
- Add text-to-speech for research results (browser speechSynthesis)
- Fix render queue to sync images from script phase
- Add WaveSpeed LLM pricing (gpt-oss-120b)
- Fix podcast bible generation error handling
- Refactor RouterManager for feature-based router loading
2026-04-03 06:59:59 +05:30
ajaysi
9d04ffb63a
fix: Add error handling and display for podcast workflow failures
...
- Improve error message handling for common API failures
- Add announcementSeverity state for error/success styling
- Display errors with red alert styling in podcast dashboard
2026-03-31 07:52:42 +05:30
ajaysi
4828274cbf
Release Candidate: Production Release with Multi-Tenant & Onboarding Enhancements
2026-02-28 20:08:00 +05:30
ajaysi
1d745c9bc8
AI podcast project
2025-12-16 16:25:52 +05:30
ajaysi
eba5210577
AI podcast maker performance optimizations
2025-12-12 21:43:09 +05:30
ajaysi
81590cf4db
WIP: AI Podcast Maker and YouTube Creator Studio integration
2025-12-10 09:37:55 +05:30
ajaysi
31f078c763
Stop tracking generated story media and improve podcast workflow
2025-11-28 16:01:53 +05:30
ajaysi
49e2131715
AI Image Studio, AI podcast Maker, AI product Marketing
2025-11-28 14:33:52 +05:30