EchoPod API Documentation

Version 1.0 BETA

Overview

The EchoPod API allows developers to transform written content into professional-quality podcasts automatically.

Key Features

  • Multiple Formats: Generate narrative or discussion-style podcasts
  • AI Voices: Four different voice options (2 male, 2 female)
  • Content Modes: Optimize (summarize) or preserve (full content) modes
  • Music Options: 16 different music tracks
  • Custom Instructions: Add specific AI instructions via prompt_instructions
  • Async Processing: Non-blocking API with status polling
  • Automatic Retries: Failed generations automatically retry up to 3 times with exponential backoff

Base URL

https://backend.echo-pod.ai/enterprise

Authentication

The EchoPod API uses API key authentication. Contact the EchoPod team to obtain your API key.

Include the API key in the request header for all endpoints:

X-API-Key: your-api-key-here

Endpoints

POST /api/v1/generate

Creates a new podcast generation task. The task will automatically retry up to 3 times if it fails.

Request Parameters

Parameter Type Required Description Default
content string Yes The text content to convert (max 100,000 chars) -
title string Yes The title of the podcast episode -
format string No Podcast format: narrative or discussion narrative
mode string No Content processing: optimize or preserve optimize
voice string No Voice selection for narrative format en_m_1
music string No Background music selection moodclubbin
prompt_instructions string No Additional AI instructions -
Available Voices
en_m_1 - English Male Voice 1 (default)
en_m_2 - English Male Voice 2
en_f_1 - English Female Voice 1
en_f_2 - English Female Voice 2
Available Music Options
poplock
upintheair
arpdreams
graceofsummer
downtownconnected
synthwave
acousticmorning
twentyfourseven
nightfly
moodclubbin (default)
bassmoves
backintime
silkylounge
acousticdreams
liveitup
acousticjack

Response Examples

202 Accepted Success Response
{
  "success": true,
  "task_id": "550e8400-e29b-41d4-a716-446655440000",
  "status_url": "https://backend.echo-pod.ai/enterprise/api/v1/status/550e8400-e29b-41d4-a716-446655440000",
  "message": "Podcast generation started"
}
400 Bad Request Validation Error
{
  "success": false,
  "error": "Missing required field: title"
}

Try Generate Podcast

https://backend.echo-pod.ai/enterprise/api/v1/generate

Response


                        
GET /api/v1/status/{task_id}

Retrieves the status and results of a podcast generation task.

Response States

Pending Task Waiting
{
  "state": "pending",
  "status": "Task is waiting to be processed"
}
Processing In Progress
{
  "state": "progress",
  "status": "Processing",
  "progress": {
    "message": "Generating podcast script",
    "progress_percent": 25,
    "process_stage": "script_generation"
  }
}

Completed Response Parameters

Parameter Type Description
status string Task completion status
audio_url string Direct URL to the generated audio file (MP3)
listen_url string Web page URL for listening to the podcast
embed_url string Complete URL for embedding the audio player
podcast_id string Unique identifier for the podcast
title string Title of the generated podcast
script string Full transcript/script of the generated podcast
audio_info.duration number Audio duration in seconds
audio_info.file_size number Audio file size in MB
Completed Success Response Example
{
  "state": "completed",
  "result": {
    "status": "completed",
    "audio_url": "https://podcast.echo-pod.ai/api/abc123/EchoPod-2024-03-15-103045-my-podcast-2024-03-15.mp3",
    "listen_url": "https://listen.echo-pod.ai/abc123",
    "embed_url": "https://echo-pod.ai/api/embed?podcast=abc123",
    "podcast_id": "550e8400-e29b-41d4-a716-446655440000",
    "title": "My Podcast Title",
    "script": "Full transcript of the generated podcast...",
    "audio_info": {
      "duration": 180,
      "file_size": 3.5
    }
  }
}

Try Check Status

https://backend.echo-pod.ai/enterprise/api/v1/status/{task_id}

Response


                        

Advanced Features

Discussion Format

The discussion format creates a dialogue between two speakers (a female and a male voice). The voice parameter is ignored in discussion format.

Content Processing Modes

Optimize Mode (default)
  • Transforms content into engaging, listener-optimized podcast script
  • Restructures content for natural speech flow and audio comprehension
  • Reorganizes information in logical sequence for listener engagement
  • Adds conversational transitions and audio-friendly phrasing
  • Filters for auditory relevance
  • Condenses complex data into benefit-focused summaries
  • Creates cohesive narrative arc with varied sentence structures
Preserve Mode
  • Preserves as much of the original content as possible
  • Maintains exact structure and order of content
  • Only modifies what's necessary for spoken format
  • Preserves all facts, data points, quotes, and information exactly
  • Uses exact wording from content when possible
  • Does not summarize content
  • Maintains all figures and technical details

Error Handling

Automatic Retry Mechanism

If podcast generation fails, the system automatically retries up to 3 times with exponential backoff:

  • Retry 1: After 60 seconds
  • Retry 2: After 120 seconds
  • Retry 3: After 240 seconds

Common Error Codes

Status Code Description
400Bad Request
401Unauthorized
429Too Many Requests
500Internal Server Error
502Bad Gateway
503Service Unavailable

Rate Limits

Limit Type Value Scope
Requests per minute5Per API key
Requests per hour20Per API key
Requests per day100Per API key
Max content length100,000 charactersPer request

Embeddable Audio Player

EchoPod provides an embeddable audio player that can be integrated into any website using an iframe. The player features a transparent background and comes in two variants.

Base URL

https://echo-pod.ai/api/embed

Parameters

Parameter Type Required Description Default
podcast string Yes The podcast short ID (use embed_url from completed response for full URL) -
variant string No Player size: compact or normal normal

Player Variants

Compact Version (350×85)

Ideal for sidebar integration and smaller spaces. Features play controls and progress bar in a single row.

<iframe 
    src="https://echo-pod.ai/api/embed?podcast=0OEMN0&variant=compact" 
    width="350" 
    height="85"
    frameborder="0"
    allowtransparency="true">
</iframe>

Normal Version (600×220)

Full-featured player with description text, volume control, and larger interface elements.

<iframe 
    src="https://echo-pod.ai/api/embed?podcast=0OEMN0&variant=normal" 
    width="600" 
    height="220"
    frameborder="0"
    allowtransparency="true">
</iframe>
Recommended Dimensions
  • Compact: 350×85px - Perfect for sidebars, footers, or compact layouts
  • Normal: 600×220px - Ideal for content areas, blog posts, or featured sections