ZenMic API Documentation
Transform text into natural-sounding audio with our simple, powerful REST API. Generate scripts, synthesize speech, and manage podcasts.
Authentication
Every request must include your API key via Bearer authentication.
Authorization: Bearer YOUR_API_KEY
Base URL & Format
All endpoints are relative to:
https://zenmic.com/api/v2
{"success":true,"data":{...}}. Errors include an "error" field.
POST Script Generation
Convert a topic, a document, or both into a conversational dialogue script ready for audio synthesis. You can pass a topic, upload a document, or combine them — the topic acts as a focus angle when a document is also provided.
/api/v2/scriptsFrom a Topic
POST /api/v2/scripts
Authorization: Bearer your-api-key
Content-Type: application/json
{
"source": "topic",
"topic": "The future of AI in healthcare",
"title": "AI in Medicine",
"duration_minutes": 5
}
From a Document
POST /api/v2/scripts
Authorization: Bearer your-api-key
Content-Type: multipart/form-data
source=document
document=<file>
title=My Audio
From a Document with a Topic Focus
Add a topic field alongside a document upload to steer the generated script toward a specific angle or question.
POST /api/v2/scripts
Authorization: Bearer your-api-key
Content-Type: multipart/form-data
source=document
document=<file>
topic=Focus on the privacy implications
title=My Audio
200 Response
{
"success": true,
"data": {
"title": "Generated Audio Title",
"style_prompt": "Conversational, upbeat, informative",
"dialogue": [
["male", "Hello and welcome to our audio."],
["female", "Today we're discussing an interesting topic..."]
]
}
}
POST Audio Generation
Generate audio directly from a topic, a document, or a pre-built dialogue. All variants return a job ID to poll for completion. You can also combine a topic and a document — the topic acts as a focus angle for the document content.
/api/v2/audiosFrom a Topic
POST /api/v2/audios
Authorization: Bearer your-api-key
Content-Type: application/json
{
"source": "topic",
"topic": "The future of AI in healthcare",
"title": "AI in Medicine",
"duration_minutes": 5
}
From a Document (with optional Topic Focus)
The topic field is optional; omit it to generate a general discussion from the document.
POST /api/v2/audios
Authorization: Bearer your-api-key
Content-Type: multipart/form-data
source=document
document=<file>
topic=Focus on the privacy implications
title=My Audio
From a Pre-built Dialogue
POST /api/v2/audios
Authorization: Bearer your-api-key
Content-Type: application/json
{
"title": "AI in Medicine",
"style_prompt": "Conversational, upbeat, informative",
"dialogue": [
["male", "Hello and welcome to our audio."],
["female", "Today we're discussing an interesting topic..."]
]
}
202 Accepted
{
"success": true,
"data": {
"id": "abcd",
"status": "queued",
"poll_url": "/api/v2/audios/abcd",
"audio_page_url": "https://zenmic.com/audio/abcd"
}
}
GET Audio Status
Poll this endpoint after submitting an audio job until status is succeeded or failed.
/api/v2/audios/{id}GET /api/v2/audios/abcd
Authorization: Bearer your-api-key
200 When complete
{
"success": true,
"data": {
"id": "abcd",
"status": "succeeded",
"audio_url": "https://cdn.zenmic.com/abcd.mp3",
"audio_format": "mp3",
"title": "AI in Medicine",
"created_at": "2026-03-01T10:00:00Z",
"audio_page_url": "https://zenmic.com/audio/abcd"
}
}
Podcast Shows
Manage podcast shows. Each show has a unique show_id and an RSS feed_url.
{ "title": "My Podcast", "description": "A great show about tech" }201 Created
{
"success": true,
"data": {
"id": 1, "show_id": "myp-abc123", "title": "My Podcast",
"description": "A great show about tech", "episode_count": 0,
"feed_url": "https://cdn.zenmic.com/podcast/myp-abc123/feed.xml",
"created_at": "2026-03-01 10:00:00"
}
}{ "title": "New Title", "description": "Updated description" }200
{ "success": true, "data": { "deleted": true } }Episodes
Add audio episodes to a show using a mic_id from POST /api/v2/audios.
{
"mic_id": "abc12345",
"title": "Episode 1 – Getting Started",
"description": "In this episode we cover the basics."
}201 Created
{
"success": true,
"data": {
"id": 7, "mic_id": "abc12345",
"title": "Episode 1 – Getting Started",
"description": "In this episode we cover the basics.",
"audio_url": "https://cdn.zenmic.com/abc12345.mp3",
"created_at": "2026-03-01 10:05:00"
}
}200
{ "success": true, "data": { "deleted": true } }Try Script Generation
Live demo — generate a dialogue script from a topic, a document, or both together.
Try Audio Generation
Generate MP3 audio from a topic, a document, or a pre-built dialogue script. Audio generation takes 2–10 minutes depending on length.
Try Podcast API
Interact with the Podcast Shows API live in your browser.