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

# On-Demand Describe

> Learn about on-demand describe operations

## What is On-Demand Media Description?

On-Demand Media Description allows you to describe a video, exactly as you need it, when you need it.

It is a great to use when you have one-off videos that you want to describe, or, when you want to get deeper descriptions for just one or a set of particular videos.

<Tip>
  To learn more about the different types of media descriptions that Cloudglue
  offers [here](/core-concepts/media-description).
</Tip>

You can use this to quickly get the speech transcripts of a single YouTube video, or get more in-depth descriptions that include scenes and visual descriptions for a different video.

You can control the level of description you want to perform, to get the most out of your videos.

If you're finding that you need to describe a lot of videos, in the same format, then you should consider using a [Media Description Collection](/core-concepts/media-description-collection).

## How to use it

You can describe a video on-demand by using the [Describe API](/api-reference/endpoint/describe/post).

## Describing images

On-Demand Describe also works on still [image files](/core-concepts/files). Images
are described at the **file level only** (no segmentation) and billed at a flat
**1 credit** per request. Because an image has no audio track, `enable_speech` and
`enable_audio_description` are not available for images — describe defaults to a
visual description (visual scene description, scene text, and summary).

## Speaker identification

When `enable_speech` is on, the transcript labels each turn with a speaker. For files added through a [data connector](/core-concepts/data-connectors) that carries an attendee list (e.g. Grain), those real names are used automatically.

For uploaded files — which have no attendee metadata — you can pass the cast yourself via the optional `participants` field. When provided, speaker naming is constrained to that list: each speaker is matched to one of the supplied names or left as a generic `Speaker N`, and names that aren't on the list are never invented.

```json theme={null}
{
  "url": "cloudglue://files/your-file-id",
  "enable_speech": true,
  "participants": [
    { "name": "Alice Smith", "scope": "internal" },
    { "name": "Bob Jones", "scope": "external" }
  ]
}
```

## Chat Completion

If you are looking to chat with your videos, you should consider using a [Media Description Collection](/core-concepts/media-description-collection), as chat completion is not supported for on-demand descriptions.
