audiopod-ai Audiobook API

The audiobook API from audiopod-ai — 105 operation(s) for audiobook.

Operations 121

POST /api/v1/audiobook/projects Create Audiobook Project #
GET /api/v1/audiobook/projects List Audiobook Projects #
GET /api/v1/audiobook/settings Get Audiobook Settings #
PATCH /api/v1/audiobook/settings Update Audiobook Settings #
GET /api/v1/audiobook/projects/trash List Trashed Audiobook Projects #
GET /api/v1/audiobook/book-metadata/defaults Get Book Metadata Defaults #
PUT /api/v1/audiobook/projects/{project_id}/book-metadata Save Book Metadata #
GET /api/v1/audiobook/projects/{project_id} Get Audiobook Project #
PUT /api/v1/audiobook/projects/{project_id} Update Audiobook Project #
DELETE /api/v1/audiobook/projects/{project_id} Delete Audiobook Project #
POST /api/v1/audiobook/projects/{project_id}/rights-attestation Attest Project Rights #
GET /api/v1/audiobook/projects/{project_id}/lock Get Project Edit Lock #
POST /api/v1/audiobook/projects/{project_id}/restore Restore Audiobook Project #
POST /api/v1/audiobook/projects/{project_id}/manuscript/upload Upload Manuscript #
POST /api/v1/audiobook/projects/{project_id}/manuscript/parse Parse Manuscript #
POST /api/v1/audiobook/projects/{project_id}/manuscript/paste Paste Manuscript #
POST /api/v1/audiobook/projects/{project_id}/manuscript/generate Generate Manuscript #
GET /api/v1/audiobook/projects/{project_id}/chapters List Chapters #
POST /api/v1/audiobook/projects/{project_id}/chapters Create Chapter #
GET /api/v1/audiobook/projects/{project_id}/chapters/{chapter_id} Get Chapter #
PUT /api/v1/audiobook/projects/{project_id}/chapters/{chapter_id} Update Chapter #
DELETE /api/v1/audiobook/projects/{project_id}/chapters/{chapter_id} Delete Chapter #
POST /api/v1/audiobook/projects/{project_id}/narration/start Start Project Narration #
POST /api/v1/audiobook/projects/{project_id}/narration/batch Start Batch Narration #
POST /api/v1/audiobook/projects/{project_id}/narration/cancel Cancel Batch Narration #
GET /api/v1/audiobook/projects/{project_id}/narration/progress Get Narration Progress #
POST /api/v1/audiobook/projects/{project_id}/timeline/mix Mix Project Timeline #
POST /api/v1/audiobook/projects/{project_id}/chapters/{chapter_id}/regenerate Regenerate Chapter Narration #
GET /api/v1/audiobook/voices/languages Get Voice Languages #
GET /api/v1/audiobook/voices/available Get Available Voices #
GET /api/v1/audiobook/dashboard Get Dashboard Stats #
GET /api/v1/audiobook/projects/{project_id}/chapters/{chapter_id}/download Download Chapter Audio #
GET /api/v1/audiobook/projects/{project_id}/preview-excerpt Get Preview Excerpt #
GET /api/v1/audiobook/projects/{project_id}/chapters/{chapter_id}/review-timeline Get Chapter Review Timeline #
GET /api/v1/audiobook/projects/{project_id}/chapters/{chapter_id}/timings Get Chapter Timings #
GET /api/v1/audiobook/projects/{project_id}/chapters/{chapter_id}/audio Stream Chapter Audio #
POST /api/v1/audiobook/projects/{project_id}/media/upload Upload Project Media #
GET /api/v1/audiobook/projects/{project_id}/media/{media_id}/audio Stream Project Media #
GET /api/v1/audiobook/projects/{project_id}/production-settings Get Music Settings #
PUT /api/v1/audiobook/projects/{project_id}/production-settings Update Music Settings #
GET /api/v1/audiobook/projects/{project_id}/pacing Get Pacing #
PATCH /api/v1/audiobook/projects/{project_id}/pacing Update Pacing #
POST /api/v1/audiobook/projects/{project_id}/export Start Export #
GET /api/v1/audiobook/projects/{project_id}/exports/latest Get Latest Export #
GET /api/v1/audiobook/projects/{project_id}/export/{job_id}/download Download Export #
GET /api/v1/audiobook/projects/{project_id}/export/{job_id}/status Get Export Status #
GET /api/v1/audiobook/projects/{project_id}/chapters/{chapter_id}/paragraphs List Paragraphs #
PUT /api/v1/audiobook/projects/{project_id}/paragraphs/{paragraph_id} Update Paragraph #
DELETE /api/v1/audiobook/projects/{project_id}/paragraphs/{paragraph_id} Delete Paragraph #
GET /api/v1/audiobook/projects/{project_id}/paragraphs/{paragraph_id} Get Paragraph #
POST /api/v1/audiobook/projects/{project_id}/paragraphs/{paragraph_id}/restore Restore Paragraph #
GET /api/v1/audiobook/projects/{project_id}/cast Get Cast #
POST /api/v1/audiobook/projects/{project_id}/cast/detect Detect Cast #
GET /api/v1/audiobook/projects/{project_id}/cast/detect/{job_id}/status Get Cast Detect Status #
POST /api/v1/audiobook/projects/{project_id}/voices/preview Preview Voices Change #
POST /api/v1/audiobook/projects/{project_id}/voices/apply Apply Voices Change #
POST /api/v1/audiobook/projects/{project_id}/cast/assign Assign Cast Voice #
POST /api/v1/audiobook/projects/{project_id}/cast/alias Set Cast Alias #
PUT /api/v1/audiobook/projects/{project_id}/cast/{key} Update Cast Member #
POST /api/v1/audiobook/projects/{project_id}/cast/merge Merge Cast Members #
POST /api/v1/audiobook/projects/{project_id}/screenplay/annotate Start Screenplay Annotate #
GET /api/v1/audiobook/projects/{project_id}/screenplay/annotate/{job_id}/status Get Screenplay Annotate Status #
POST /api/v1/audiobook/projects/{project_id}/direction/auto Start Auto Direction #
GET /api/v1/audiobook/projects/{project_id}/direction/auto/latest Get Latest Auto Direction #
GET /api/v1/audiobook/projects/{project_id}/direction/auto/{job_id}/status Get Auto Direction Status #
POST /api/v1/audiobook/projects/{project_id}/direction/auto/{job_id}/cancel Cancel Auto Direction #
POST /api/v1/audiobook/projects/{project_id}/cast/auto Start Auto Cast #
GET /api/v1/audiobook/projects/{project_id}/cast/auto/{job_id}/status Get Auto Cast Status #
POST /api/v1/audiobook/projects/{project_id}/paragraphs/{paragraph_id}/narrate Narrate Paragraph #
GET /api/v1/audiobook/projects/{project_id}/paragraphs/{paragraph_id}/audio Get Paragraph Audio Url #
GET /api/v1/audiobook/projects/{project_id}/review List Narration Review #
POST /api/v1/audiobook/projects/{project_id}/paragraphs/{paragraph_id}/review/approve Approve Narration Review #
POST /api/v1/audiobook/projects/{project_id}/review/approve-all Approve All Narration Review #
POST /api/v1/audiobook/projects/{project_id}/paragraphs/{paragraph_id}/review/reject Reject Narration Review #
POST /api/v1/audiobook/projects/{project_id}/paragraphs/{paragraph_id}/review/skip Skip Narration Review #
GET /api/v1/audiobook/projects/{project_id}/paragraphs/{paragraph_id}/takes List Paragraph Takes #
GET /api/v1/audiobook/projects/{project_id}/archived-passages List Archived Passages #
POST /api/v1/audiobook/projects/{project_id}/paragraphs/{paragraph_id}/takes/{take_id}/restore Restore Paragraph Take #
GET /api/v1/audiobook/projects/{project_id}/pronunciations List Pronunciations #
POST /api/v1/audiobook/projects/{project_id}/pronunciations Create Pronunciation #
PUT /api/v1/audiobook/projects/{project_id}/pronunciations/{pron_id} Update Pronunciation #
DELETE /api/v1/audiobook/projects/{project_id}/pronunciations/{pron_id} Delete Pronunciation #
GET /api/v1/audiobook/projects/{project_id}/pronunciations/matches Get Pronunciation Matches #
POST /api/v1/audiobook/voices/{voice_id}/preview Voice Preview #
POST /api/v1/audiobook/projects/{project_id}/pronunciations/preview Preview Pronunciation #
POST /api/v1/audiobook/projects/{project_id}/chapters/{chapter_id}/retry-failed-paragraphs Retry Failed Paragraphs #
GET /api/v1/audiobook/projects/{project_id}/cost Get Project Cost #
GET /api/v1/audiobook/projects/{project_id}/cost-estimate Estimate Project Cost #
POST /api/v1/audiobook/projects/{project_id}/chapters/narration-selection Update Chapter Selection #
POST /api/v1/audiobook/projects/{project_id}/chapters/reorder Reorder Chapters #
POST /api/v1/audiobook/projects/{project_id}/chapters/upload-file Upload Single Chapter File #
POST /api/v1/audiobook/projects/{project_id}/manuscript/append Append Manuscript File #
GET /api/v1/audiobook/projects/{project_id}/production/capabilities Capabilities #
POST /api/v1/audiobook/projects/{project_id}/production/quote Quote #
GET /api/v1/audiobook/projects/{project_id}/production/quotes/latest Latest Quote #
POST /api/v1/audiobook/projects/{project_id}/production/pronunciation-auditions Audition #
GET /api/v1/audiobook/projects/{project_id}/production/pronunciation-auditions/{run_id} Audition State #
GET /api/v1/audiobook/projects/{project_id}/production/quotes/{approval_id} Quote State #
POST /api/v1/audiobook/projects/{project_id}/production/quotes/{approval_id}/approve Approve #
GET /api/v1/audiobook/projects/{project_id}/production/quotes/{approval_id}/purchase-options Purchase Options For Quote #
POST /api/v1/audiobook/projects/{project_id}/production/start Start #
POST /api/v1/audiobook/projects/{project_id}/production/quotes/{approval_id}/pending-start Create Pending Start #
GET /api/v1/audiobook/projects/{project_id}/production/pending-start/{pending_id} Pending Start State #
DELETE /api/v1/audiobook/projects/{project_id}/production/pending-start/{pending_id} Cancel Pending Start #
GET /api/v1/audiobook/projects/{project_id}/production/latest Latest #
GET /api/v1/audiobook/projects/{project_id}/production/runs/{run_id} Status #
GET /api/v1/audiobook/projects/{project_id}/production/runs/{run_id}/events Events #
GET /api/v1/audiobook/projects/{project_id}/production/runs/{run_id}/stream Stream #
POST /api/v1/audiobook/projects/{project_id}/production/runs/{run_id}/cancel Cancel #
POST /api/v1/audiobook/projects/{project_id}/production/runs/{run_id}/operations/{operation_id}/retry Retry #
POST /api/v1/audiobook/projects/{project_id}/production/runs/{run_id}/continue Continue Reviewed #
GET /api/v1/audiobook/projects/{project_id}/production/editions Editions #
GET /api/v1/audiobook/projects/{project_id}/production/artifacts/{artifact_id}/review-timeline Artifact Review Timeline #
GET /api/v1/audiobook/projects/{project_id}/production/artifacts/{artifact_id}/download Download #
GET /api/v1/audiobook/projects/{project_id}/events Project Events #
GET /api/v1/audiobook/store-presets List Store Presets #
GET /api/v1/audiobook/projects/{project_id}/store-preflight Store Preflight #
GET /api/v1/audiobook/projects/{project_id}/publications List Publications #
POST /api/v1/audiobook/projects/{project_id}/publications Create Publication #
PATCH /api/v1/audiobook/projects/{project_id}/publications/{publication_id} Update Publication #
DELETE /api/v1/audiobook/projects/{project_id}/publications/{publication_id} Delete Publication #

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