Podcast Maker API Reference¶
Base prefix: /api/podcast
This page summarizes the Podcast Maker endpoints currently represented in frontend and backend code.
Endpoint Map¶
flowchart TD
A[/api/podcast]
A --> P[projects.py]
A --> AN[analysis.py]
A --> R[research.py]
A --> S[script.py]
A --> AU[audio.py]
A --> V[video.py]
A --> I[images.py]
A --> AV[avatar.py]
A --> D[dubbing.py]
P --> P1[Create project]
P --> P2[List project history]
AN --> AN1[Run episode analysis]
R --> R1[Generate/select queries]
S --> S1[Create/update script]
AU --> AU1[Render audio]
V --> V1[Render video]
I --> I1[Generate supporting images]
AV --> AV1[Configure presenter avatar]
D --> D1[Voice dubbing / localization]
Endpoints by workflow stage¶
Analysis and idea shaping¶
POST /idea/enhancePOST /analyzePOST /regenerate-queries
Research¶
POST /research/exa
Scripting¶
POST /scriptPOST /script/approve
Audio¶
POST /audio/uploadPOST /audioPOST /combine-audioGET /audio/{filename}
Images¶
POST /imageGET /images/{path}
Video¶
POST /render/videoPOST /render/combine-videosGET /videosGET /videos/{filename}GET /final-videos/{filename}
Avatars¶
POST /avatar/uploadPOST /avatar/make-presentablePOST /avatar/generate
Projects¶
POST /projectsGET /projectsGET /projects/{project_id}PUT /projects/{project_id}DELETE /projects/{project_id}POST /projects/{project_id}/favorite
Dubbing (backend available)¶
POST /dub/audioGET /dub/{task_id}/resultGET /dub/audio/{filename}POST /dub/estimateGET /dub/languagesGET /dub/voicesPOST /dub/voices/cloneGET /dub/voices/{task_id}/resultGET /dub/voices/audio/{filename}
Implementation details¶
Endpoint usage in frontend service¶
The current podcastApi.ts directly calls these podcast routes for analysis, research, script, audio, image, video, avatar, and project workflows.
Known gap:
cancelTask()is a placeholder that posts to/api/story/task/{taskId}/cancelrather than a dedicated podcast route.
Request/response model notes¶
At a high level:
- Script endpoints exchange
idea,duration_minutes,speakers, and optionalresearch/analysis/biblecontext. - Audio endpoints exchange scene identifiers, text, and voice/rendering options.
- Video endpoints exchange scene identifiers plus
audio_urland optional image/prompt context. - Project endpoints exchange project-level state payloads suitable for restoring workflow progress.
Engineering references¶
docs/Podcast_maker/AI_PODCAST_BACKEND_REFERENCE.mddocs/Podcast_maker/PODCAST_PERSISTENCE_IMPLEMENTATION.md