> For the complete documentation index, see [llms.txt](https://docs.autocontentapi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.autocontentapi.com/quick-start/podcasts/modify-podcast-episode.md).

# Modify an Existing Podcast

Refresh a published episode with new narration, instructions, or background audio. The `/content/ModifyPodcast` endpoint accepts an original `audioUrl`, blends in up to two new voices, and reprocesses the episode while keeping the structure you already shipped.

Call `/content/GetVoices` first and copy the numeric `id` values you want to use. The API rejects voice names such as `"Donna (Narrative)"` or `"DonnaNarrative"`.

## Step 1: Submit a Modify Request

```bash
curl -X POST "https://api.autocontentapi.com/content/ModifyPodcast" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "audioUrl": "https://storage.autocontentapi.com/audio/original-episode.mp3",
    "voice1": 13,
    "voice2": 45,
    "instructions": "Tighten the intro, add a stronger call-to-action, and update any dated references.",
    "backgroundMusicUrl": "https://cdn.example.com/audio/new-bed.mp3",
    "callbackData": "modifier-run-2024-05-01"
  }'
```

**Required fields**

* `audioUrl`: Public URL pointing to the episode you want to refresh.
* `voice1`, `voice2`: Numeric voice IDs from `/content/GetVoices`, the [Voices catalog](/voices.md), or your own clones. Both fields are required for `/content/ModifyPodcast`.

**Optional fields**

* `instructions`: Free-form guidance for the rewrite.
* `backgroundMusicUrl`: Backing track to mix under the hosts.
* `callbackData`: Arbitrary string returned in webhook notifications.

See [Track Requests & Status Codes](/quick-start/tools/track-requests.md) for the shared polling flow and reconciliation tips.

## Step 2: Track Progress

Use the returned `request_id` to poll `/content/Status/{id}` until `status` reaches `100`:

```bash
curl -X GET "https://api.autocontentapi.com/content/Status/YOUR_REQUEST_ID" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
```

While processing you will see status codes `0` (pending) or `5` (running). Once complete, the payload includes `audio_url`, `response_text`, and `share_url` just like fresh creations.

## Tips

1. **Reuse existing instructions** – Start with the original prompt and only tweak what changed.
2. **Pair with clones** – Swap in [custom voices](/quick-start/tools/clone-voice.md) when the host has rebranded or the original narrator changed.
3. **Archive originals** – Store the previous audio in case you need to roll back or compare.
