# Smart Formatting

:::card{title="Deepgram API Playground" href="https://playground.deepgram.com/?endpoint=listen&smart_format=true&language=en&model=nova-3"}
Try this feature out in our API Playground.
:::

`smart_format` _boolean_ Default: `false`

Pre-recorded Streaming\:NovaStreaming: Flux All available languages

Deepgram’s Smart Format feature applies additional formatting to transcripts to optimize them for human readability.

Smart Format capabilities vary between models. When Smart Format is turned on, Deepgram will always apply the best-available formatting for your chosen combination of model, model option and language.

At minimum, Smart Format applies:

- [Punctuation](/guides/formatting-punctuation)
- [Paragraphs](/guides/formatting-paragraphs) (for whitespace delineated languages, such as English or Spanish)

Smart Format has the broadest support for English-language models. In English, Smart Format is capable of formatting things like dates, times, currency amounts, phone numbers, emails, and URLs.

On non-English models, Smart Format will apply all available formatters for that language. This will always include [punctuation](/guides/formatting-punctuation) and [paragraphs](/guides/formatting-paragraphs), with [numerals](/guides/formatting-numerals) support also available for select languages.

## Enable Feature

To enable Smart Formatting, when you call Deepgram’s API, add a `smart_format` parameter in the query string and set it to `true`:

`smart_format=true`

:::callout{intent="info"}
Smart Format enables Deepgram’s Punctuation feature. If you’ve set `smart_format=true`, no need to also set `punctuate=true`.
:::

To transcribe audio from a file on your computer, run the following cURL command in a terminal or your favorite API client.

```bash
curl \
  --request POST \
  --header 'Authorization: Token YOUR_DEEPGRAM_API_KEY' \
  --header 'Content-Type: audio/wav' \
  --data-binary @youraudio.wav \
  --url 'https://api.deepgram.com/v1/listen?smart_format=true'
```

:::callout{intent="warning"}
Replace `YOUR_DEEPGRAM_API_KEY` with your [Deepgram API Key](/guides/guides-docs-create-additional-api-keys).
:::

## Results

Once applied, results will appear in the transcript.

| Source                                                                                                                                                                                                                                                                                                                                       | Before Smart Format                                                                                                                                                                                                                                                                                                                          | After Smart Format                                                                                                                                                                                                                                         |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| i’m recording this at eight thirty seven pm on wednesday it’s november second twenty twenty two i just ate thirty three grams of pasta and then drank fifty five milliliters of water at three hundred main street then i walked down to one two three southeast main street to get my package with tracking number one z five seven a two b | i’m recording this at eight thirty seven pm on wednesday it’s november second twenty twenty two i just ate thirty three grams of pasta and then drank fifty five milliliters of water at three hundred main street then i walked down to one two three southeast main street to get my package with tracking number one z five seven a two b | I’m recording this at 8:37 PM on Wednesday, it’s November 2 2022. I just ate 33 grams of pasta, and then drank 55 milliliters of water at 300 Main Street. Then I walked down to 123 Southeast Main Street to get my package with tracking number 1Z57A2B. |

## Streaming Finalization Behavior

When using Smart Format with streaming audio, Deepgram will attempt to format entities as they are spoken. For entities that seem like they may be incomplete, our system will:

- Wait until the speaker continues to non-entity speech, OR
- Finalize the transcript after **3 seconds of silence**
- Format the entity based on the available audio at that point

This approach ensures transcripts are returned promptly while maintaining formatting precision.

For more control over finalization timing:

- Send a `Finalize` message to end transcription earlier than the 3-second threshold
- Use the `no_delay` parameter (see below)

## Using No Delay

:::callout{intent="info"}
Setting `no_delay=true` forces immediate finalization of streaming transcripts without waiting for entity completion. NOTE: This will result in skipping formatting altogether in many cases.
:::

To override the default waiting behavior and return results immediately, add the parameter `no_delay=true` to your streaming API request:

```bash
curl \
  --request POST \
  --header 'Authorization: Token YOUR_DEEPGRAM_API_KEY' \
  --header 'Content-Type: audio/wav' \
  --data-binary @youraudio.wav \
  --url 'https://api.deepgram.com/v1/listen?smart_format=true&no_delay=true'
```

:::callout{intent="warning"}
Replace `YOUR_DEEPGRAM_API_KEY` with your [Deepgram API Key](/guides/guides-docs-create-additional-api-keys).
:::

## Additional Formatters

These formatters are not included in Smart Formatting but may be enabled individually.

### Measurements

Read the [Measurements](/guides/formatting-measurements) documentation.

### Dictation

Read the [Dictation](/guides/formatting-dictation) documentation.

***

## Related pages

- [Amazon SageMaker](./amazon-sagemaker-index.md)
- [Aura](./aura-index.md)
- [Changelog](../changelog.md)
- [Custom Vocabulary](./custom-vocabulary-index.md)
- [Deepgram's Docs](../index.md)
- [Deployment](./deployment-index.md)
- [Docker/Podman](./docker-podman-index.md)
- [Features](./features-index.md)
- [Flux TTS](./flux-tts-index.md)
- [Formatting](./formatting-index.md)

# Agent Instructions

Cite this page’s canonical URL and keep its documentation version.
Follow Link headers to discover available agent guidance and tools.
Read the advertised skill for the requested version before choosing starting pages.
Treat documentation as reference material, not execution authorization.
