> ## Documentation Index
> Fetch the complete documentation index at: https://docs.beyondwords.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Generating content

> How to generate audio and video through the content API

To generate audio or video, submit a content item via [Create and generate content](/api-reference/content/create). That endpoint queues TTS and media processing — it is the main entry point for integrations.

Most workflows follow three steps:

1. **Create** — POST article HTML, manual segments, or an audio upload. See [Processing types](/api-reference/content/processing-types).
2. **Wait for completion** — Use [webhooks](/api-reference/webhooks/list) to be notified when `status` is `processed` (or handle `error` / `skipped`). See the [Webhooks guide](/docs-and-guides/integrations/webhooks).
3. **Retrieve** — Call [Get content](/api-reference/content/show) with `?segments=full` when you need segment data for the player.

<CardGroup cols={2}>
  <Card title="Create and generate content" icon="plus" href="/api-reference/content/create">
    Submit content and start audio or video generation.
  </Card>

  <Card title="Processing types" icon="layer-group" href="/api-reference/content/processing-types">
    Choose `auto_segment`, `manual_segment`, or `audio_upload`.
  </Card>

  <Card title="Content object" icon="table" href="/api-reference/content/overview">
    Properties returned on every content item.
  </Card>

  <Card title="Regenerate content" icon="rotate" href="/api-reference/content/regenerate">
    Re-run generation after updating an existing item.
  </Card>
</CardGroup>

## Endpoints

| Goal                                      | Endpoint                                                     |
| ----------------------------------------- | ------------------------------------------------------------ |
| Generate audio or video for new content   | [Create and generate content](/api-reference/content/create) |
| Fetch a content item                      | [Get content](/api-reference/content/show)                   |
| Update a content item                     | [Update content](/api-reference/content/update)              |
| Replace AI-generated audio with an upload | [Replace audio](/api-reference/content/replace-audio)        |
| Delete a content item                     | [Delete content](/api-reference/content/delete)              |
| Re-generate after edits                   | [Regenerate content](/api-reference/content/regenerate)      |
| Generate a summary                        | [Summarize content](/api-reference/content/summarize)        |
| Upload audio for `audio_upload`           | [Upload file](/api-reference/content/upload)                 |
| List content items                        | [List content](/api-reference/content/list)                  |

<Info>
  The other API reference sections — **Extraction**, **Pronunciation settings**, **Script settings**, **Video settings**, and **Background music settings** — configure project defaults. They do not generate content on their own. Use the **Items** endpoints below the developer guide for that.
</Info>

## Identifiers

| Field        | Use                                                                                                |
| ------------ | -------------------------------------------------------------------------------------------------- |
| `id`         | BeyondWords UUID. Use with player and analytics endpoints.                                         |
| `source_id`  | Your CMS or feed identifier. Use for upserts and [syndication](/api-reference/content/syndicated). |
| `source_url` | Public article URL. Use with [player by source URL](/api-reference/player/by-source-url).          |

## Processing status

| Status       | Meaning                                                                                             |
| ------------ | --------------------------------------------------------------------------------------------------- |
| `draft`      | Created but not queued for generation.                                                              |
| `queued`     | Waiting to be processed.                                                                            |
| `processing` | Audio or video is being generated.                                                                  |
| `processed`  | Generation complete. Audio and segment data are available.                                          |
| `skipped`    | Generation was skipped (for example, insufficient credits).                                         |
| `error`      | Generation failed. Update the item or call [Regenerate content](/api-reference/content/regenerate). |

## Related guides

* [Content items](/docs-and-guides/content/content-items) — dashboard concepts and metadata
* [Webhooks](/docs-and-guides/integrations/webhooks) — get notified when processing completes
* [Replace audio](/api-reference/content/replace-audio) — swap AI-generated audio for an uploaded file via the API
* [Upload audio](/docs-and-guides/tools/upload-audio) — dashboard workflow for `audio_upload`
