Smart Formatting
Deepgram API Playground
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
- 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 and paragraphs, with numerals support also available for select languages.
Enable Feature
Section titled “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
To transcribe audio from a file on your computer, run the following cURL command in a terminal or your favorite API client.
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'Results
Section titled “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
Section titled “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
Finalizemessage to end transcription earlier than the 3-second threshold - Use the
no_delayparameter (see below)
Using No Delay
Section titled “Using No Delay”To override the default waiting behavior and return results immediately, add the parameter no_delay=true to your streaming API request:
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'Additional Formatters
Section titled “Additional Formatters”These formatters are not included in Smart Formatting but may be enabled individually.
Measurements
Section titled “Measurements”Read the Measurements documentation.
Dictation
Section titled “Dictation”Read the Dictation documentation.