audiopod-ai Podcast API

The podcast API from audiopod-ai — 22 operation(s) for podcast.

Operations 30

POST /api/v1/podcast/projects Create Project #
GET /api/v1/podcast/projects List Projects #
POST /api/v1/podcast/cast/suggest Suggest Cast #
GET /api/v1/podcast/projects/{project_id} Get Project #
PUT /api/v1/podcast/projects/{project_id} Update Project #
DELETE /api/v1/podcast/projects/{project_id} Delete Project #
PUT /api/v1/podcast/projects/{project_id}/speakers/{speaker_id} Update Speaker #
GET /api/v1/podcast/episode-profiles List Episode Profiles #
POST /api/v1/podcast/episode-profiles Create Episode Profile #
PUT /api/v1/podcast/episode-profiles/{profile_id} Update Episode Profile #
DELETE /api/v1/podcast/episode-profiles/{profile_id} Delete Episode Profile #
GET /api/v1/podcast/speaker-profiles List Speaker Profiles #
POST /api/v1/podcast/speaker-profiles Create Speaker Profile #
PUT /api/v1/podcast/speaker-profiles/{profile_id} Update Speaker Profile #
DELETE /api/v1/podcast/speaker-profiles/{profile_id} Delete Speaker Profile #
POST /api/v1/podcast/projects/{project_id}/sources Add Source #
GET /api/v1/podcast/projects/{project_id}/sources List Sources #
DELETE /api/v1/podcast/projects/{project_id}/sources/{source_id} Delete Source #
POST /api/v1/podcast/projects/{project_id}/outline/generate Generate Outline #
PUT /api/v1/podcast/projects/{project_id}/outline Update Outline #
POST /api/v1/podcast/projects/{project_id}/transcript/generate Generate Transcript #
PUT /api/v1/podcast/projects/{project_id}/transcript Update Transcript #
GET /api/v1/podcast/projects/{project_id}/audio/estimate Estimate Audio #
POST /api/v1/podcast/projects/{project_id}/audio/generate Generate Audio #
POST /api/v1/podcast/projects/{project_id}/dialogue/regenerate Regenerate Dialogue #
GET /api/v1/podcast/projects/{project_id}/progress Get Progress #
GET /api/v1/podcast/voices/presets List Preset Voices #
GET /api/v1/podcast/dashboard Get Dashboard #
POST /api/v1/podcast/feed Enable Podcast Feed #
GET /api/v1/podcast/feed/{token}.xml Get Podcast Feed #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/audiopod-ai:audiopod-ai-podcast-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

audiopod-ai-podcast-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AudioPod AI Podcast API
  description: '# AudioPod AI APIs


    ## Overview


    The AudioPod AI API provides advanced audio processing, AI-powered music generation, voice cloning, transcription, and audio publishing services over a versioned REST interface, with API-key authentication, typed error responses, and published rate limits. ## Base URL

    ```

    https://api.audiopod.ai/api/v1

    ```


    ## Authentication


    ### API Key Authentication (Recommended)

    Most API endpoints use API key authentication. Include your key in the header:

    ```

    X-API-Key: ap_your_api_key

    ```


    ### JWT Token Authentication

    For session-based access (web applications), obtain a token via `/auth/token`:

    ```

    Authorization: Bearer

    ```


    ### Public Endpoints

    Some endpoints like newsletter subscription, health checks, and shared content don''t require authentication. ## Versioning & Deprecation Policy


    The API is versioned **in the URL path**. The current version is `v1`, served at

    `https://api.audiopod.ai/api/v1`. Integrate against an explicit version — never

    against an unversioned path. - **Additive changes ship in place.** New endpoints, new optional request

    fields, and new response fields can appear in `v1` at any time. Clients must

    ignore unknown response fields rather than failing on them. - **Breaking changes ship as a new path version** (`/api/v2`). A breaking change

    is: removing or renaming a field or endpoint, changing a field''s type, adding a

    required request field, or changing the meaning of an existing value. - **Retirement is announced on the wire.** When an endpoint or version is

    scheduled for removal, its responses carry:

    - `Deprecation: true` — the endpoint is deprecated as of now. - `Sunset: ` — the date after which it stops responding

    (RFC 8594). - `Link: ; rel="successor-version"` — where to migrate to. - **Minimum notice: 6 months** between the first `Sunset` header and removal, for

    any endpoint outside a `dev`/preview tag. - Deprecated operations are also marked `"deprecated": true` in this

    specification, so a generated client can surface the warning at build time. ## Rate Limiting


    Limits are applied per API key (falling back to client IP for unauthenticated

    requests) and **scale with subscription tier** — higher tiers get proportionally

    more headroom on the same routes. Indicative baselines for the free tier:


    - **Standard**: 100 requests/minute

    - **Auth endpoints**: 10 requests/minute

    - **Upload endpoints**: 20 requests/minute

    - **Music generation**: `50/minute`

    - **Music retake**: `10/minute`

    - **Music repaint / extend / edit**: `3/minute`


    Do not hard-code these numbers. **Read the quota off the response headers**,

    which are returned on every rate-limited route (routes with no explicit limit

    send no quota headers — absence means "not throttled here", not "quota

    exhausted"):


    | Header | Meaning |

    |---|---|

    | `RateLimit-Limit` | Requests allowed in the current window |

    | `RateLimit-Remaining` | Requests still available in the current window |

    | `RateLimit-Reset` | Seconds until the window resets |

    | `RateLimit-Policy` | The quota policy, e.g. `100;w=60` |

    | `Retry-After` | On a `429` only: seconds to wait before retrying |


    The legacy `X-RateLimit-Limit` / `-Remaining` / `-Reset` names are still sent

    alongside the standard ones for older clients. On a `429`, back off for at least `Retry-After` seconds. Retries with

    exponential backoff and jitter are expected; tight retry loops are not. ## Errors


    Every `4xx` and `5xx` response uses one typed envelope:


    ```json

    {

    "error": "NOT_FOUND",

    "message": "The requested resource was not found.",

    "status": 404,

    "detail": "..."

    }

    ```


    - `error` — a **stable, machine-readable code**. Branch on this. - `message` — human-readable prose. Do not parse; wording can change. - `status` — the HTTP status, repeated for convenience. - `detail` — the legacy payload, retained for backward compatibility. For a

    `422` it is the array of failing fields. The full shape is published as the `ErrorResponse` schema, and each operation

    below documents the statuses it can return.'
  version: 2.0.0
servers:
- url: https://api.audiopod.ai
  description: Production
security:
- apiKeyAuth: []
- bearerAuth: []
tags:


# --- truncated at 32 KB (96 KB total) ---
# Full source: https://artifacts.apis.io/audiopod-ai/openapi/audiopod-ai-podcast-api-openapi.yml