# Conflicts: # docs-site/docs/features/podcast-maker/api-reference.md # docs-site/docs/features/podcast-maker/implementation-overview.md
2.8 KiB
2.8 KiB
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