Create podcast
https://ai.mihajlo.mk/api/podcast-automation-api/v1/create-podcastQueue a complete AI Podcast Maker episode. Returns immediately with HTTP 202, podcast_id, status_url, and the recommended polling interval.
| Parameter | Type | Required | Description |
|---|---|---|---|
source_type | string | Yes | Choose whether source_input is a topic, pasted text, or public webpage URL. |
source_input | string | Yes | Topic up to 600 characters, source text up to 80,000 characters, or a public HTTP/HTTPS URL up to 1,000 characters. |
language | string | No | Podcast language and local voice catalog. |
duration_minutes | integer | No | Approximate episode duration in minutes. |
format | string | No | Solo host or conversational Host + Guest episode. |
conversation_style | string | No | Conversation structure used for Host + Guest episodes. |
general_style | string | No | Overall editorial tone. |
additional_instructions | string | No | Optional editorial direction, audience, focus, examples, or points to avoid. |
host_voice | string | No | Optional Podcast Maker local voice profile ID. The language default is used when omitted. |
guest_voice | string | No | Optional different local voice profile ID for Host + Guest episodes. |
host_character_mode | string | No | Generate a new fictional host or reuse a character ID from the user's Podcast Maker library. |
host_character_id | string | No | Required only when host_character_mode is reuse. |
host_name | string | No | Optional fictional host name; leave blank for automatic creation. |
host_description | string | No | Optional personality and speaking-style direction for a new host. |
host_visual_description | string | No | Optional photographic appearance and studio direction for the host portrait. |
guest_character_mode | string | No | Generate a new fictional guest or reuse a character ID from the user's Podcast Maker library. |
guest_character_id | string | No | Required only when guest_character_mode is reuse. |
guest_name | string | No | Optional fictional guest name; leave blank for automatic creation. |
guest_description | string | No | Optional expertise, personality, and speaking-style direction for a new guest. |
guest_visual_description | string | No | Optional photographic appearance and studio direction for the guest portrait. |
cURL example
curl --request POST \
--header "Authorization: Bearer {serviceTokenHere}" \
--header "Content-Type: application/json" \
--data '{"source_type":"url","source_input":"https://example.com/blog/local-ai-for-publishers","language":"English","duration_minutes":5,"format":"host_guest","conversation_style":"interview","general_style":"professional","additional_instructions":"Explain the article naturally instead of reading it word-for-word. End with practical next steps.","host_name":"Maya Stone","host_description":"Curious publishing technology host who asks concise questions.","guest_name":"Noah Reed","guest_description":"Practical automation consultant with a calm explanatory style."}' \
"https://ai.mihajlo.mk/api/podcast-automation-api/v1/create-podcast"
Example response
{
"ok": true,
"accepted": true,
"podcast_id": "c3a1e9b2-4d77-4fd1-9d3a-77be128fb842",
"status": "queued",
"stage": "queued",
"stage_detail": "Request saved. Waiting for the podcast producer.",
"progress": 3,
"status_url": "https://ai.mihajlo.mk/api/podcast-automation-api/v1/status?podcast_id=c3a1e9b2-4d77-4fd1-9d3a-77be128fb842",
"poll_after_seconds": 4,
"message": "Podcast production queued."
}