audiopod-ai Voice API

Voice cloning and synthesis

Operations 62

POST /api/v1/voice/voice-profiles Create Voice #
GET /api/v1/voice/voice-profiles List Voices #
POST /api/v1/voice/voice-profiles/multi-sample Create Multi Sample Voice #
GET /api/v1/voice/voice-profiles/limits Get Voice Profile Limits #
GET /api/v1/voice/voice-profiles/{voice_identifier}/samples Get Voice Samples #
POST /api/v1/voice/voice-profiles/{voice_identifier}/samples Add Voice Sample #
DELETE /api/v1/voice/voice-samples/{sample_id} Delete Voice Sample #
PATCH /api/v1/voice/voices/{voice_id} Update Voice Settings #
DELETE /api/v1/voice/voices/{voice_id} Delete Voice #
POST /api/v1/voice/voice-clone Create Cloning Job #
GET /api/v1/voice/clone/{job_id}/status Get Cloning Job Status #
GET /api/v1/voice/voice-profiles/{voice_identifier}/preview Get Voice Preview #
GET /api/v1/voice/voice-profiles/{voice_identifier}/metadata Get Voice Metadata #
GET /api/v1/voice/voice-profiles/{voice_identifier}/descriptors Get Voice Descriptors #
POST /api/v1/voice/voice-profiles/{voice_identifier}/generate-descriptors Generate Voice Descriptors #
POST /api/v1/voice/clone/{job_id}/retry Retry Cloning Job #
POST /api/v1/voice/clone/retry-all Retry Failed Jobs #
POST /api/v1/voice/voices/{voice_id}/report Report Voice #
DELETE /api/v1/voice/clone/{job_id} Delete Cloning Job #
GET /api/v1/voice/voices/{voice_id}/status Get Voice Status #
POST /api/v1/voice/voice-convert Create Voice Conversion #
GET /api/v1/voice/convert/{conversion_id}/status Get Conversion Status #
GET /api/v1/voice/convert/jobs List Conversion Jobs #
DELETE /api/v1/voice/convert/{conversion_id} Delete Conversion Job #
GET /api/v1/voice/clone/jobs List Cloning Jobs #
POST /api/v1/voice/clone/stream Stream Cloning Job #
GET /api/v1/voice/public/preview-voices List Public Preview Voices #
POST /api/v1/voice/public/preview-generate Generate Public Voice Preview #
POST /api/v1/voice/public/preview-direct Generate Public Directed Preview #
POST /api/v1/voice/blog-tts/dispatch Dispatch Blog Tts #
POST /api/v1/voice/blog-tts/generate Generate Blog Tts #
POST /api/v1/voice/public/multi-speaker-generate Generate Multi Speaker Public Preview #
GET /api/v1/voice/public-voice-profiles List Public Voices #
GET /api/v1/voice/tts-jobs/counts Get Tts And Conversion Counts #
POST /api/v1/voice/standard-voices Create Standard Voice #
POST /api/v1/voice/voices/populate/{provider} Populate Provider Voices #
POST /api/v1/voice/voices/{voice_identifier}/generate-stream Stream Voice Generation #
POST /api/v1/voice/voices/{voice_identifier}/generate Generate Voice Audio #
POST /api/v1/voice/collections Create Voice Collection #
GET /api/v1/voice/collections List Voice Collections #
PUT /api/v1/voice/collections/{collection_id} Update Voice Collection #
DELETE /api/v1/voice/collections/{collection_id} Delete Voice Collection #
POST /api/v1/voice/collections/{collection_id}/voices Add Voices To Collection #
DELETE /api/v1/voice/collections/{collection_id}/voices Remove Voices From Collection #
POST /api/v1/voice/multi-voice-tts Create Multi Voice Tts #
GET /api/v1/voice/multi-voice-tts List Multi Voice Tts Jobs #
GET /api/v1/voice/multi-voice-tts/{job_id} Get Multi Voice Tts Job #
DELETE /api/v1/voice/multi-voice-tts/{job_id} Delete Multi Voice Tts Job #
GET /api/v1/voice/tts-jobs/history Get Unified Tts History #
GET /api/v1/voice/tts-jobs/history/groups/{group_id} Get Tts History Group #
GET /api/v1/voice/tts-jobs/{job_id}/status Get Unified Job Status #
GET /api/v1/voice/voice-profiles/{voice_identifier}/supported-languages Get Voice Supported Languages #
GET /api/v1/voice/public/convert/limits Get Public Voice Convert Limits #
GET /api/v1/voice/public/convert/voices List Public Demo Voices #
POST /api/v1/voice/public/convert/process Process Public Voice Conversion #
POST /api/v1/voice/agent/synthesize Voice AI Agent TTS #
POST /api/v1/voice/agent/synthesize/stream Voice AI Agent TTS (Streaming) #
POST /api/v1/voice/tts/stream Create Tts Stream #
POST /api/v1/voice/tts/takes/{job_id}/regenerate Regenerate Take Paragraph #
GET /api/v1/voice/tts/stream/{stream_id} Attach Tts Stream #
GET /api/v1/voice/tts-jobs/{job_id}/export Export Tts Take #
GET /api/v1/voice/multi-voice-tts/{job_id}/export Export Multi Voice Take #

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-voice-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-voice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AudioPod AI Voice 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 (188 KB total) ---
# Full source: https://artifacts.apis.io/audiopod-ai/openapi/audiopod-ai-voice-api-openapi.yml