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

# audio-processing

> Text-to-speech generation and audio/video transcription

**Server path:** `/audio-processing` | **Type:** Embedded | **PCID required:** No

## Tools

| Tool                                                                                        | Description                                                                                                                                                                                                                                                                                                          |
| ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`audio-processing_text_to_speech`](#audio-processing_text_to_speech)                       | Convert text to speech using minimax/speech-02-turbo model. Generates high-quality audio from text input with configurable voice settings. Returns a URL to the generated audio file.                                                                                                                                |
| [`audio-processing_transcribe_audio_or_video`](#audio-processing_transcribe_audio_or_video) | Transcribe audio or video files to text using Deepgram AI. Returns transcription text plus optional word-level / utterance / paragraph / speaker timestamps via the includeDetailedResults flag. Supports diarization, keyword boosting (keyterm for Nova-3), search, replace, multichannel, filler words, and more. |

***

## audio-processing\_text\_to\_speech

Convert text to speech using minimax/speech-02-turbo model. Generates high-quality audio from text input with configurable voice settings. Returns a URL to the generated audio file.

**Parameters:**

| Parameter        | Type   | Required | Default        | Description                                                                                                          |
| ---------------- | ------ | -------- | -------------- | -------------------------------------------------------------------------------------------------------------------- |
| `text`           | string | Yes      | —              | Text to convert to speech. Maximum 5000 characters. Use \<#x#> between words to control pause duration (0.01-99.99s) |
| `voice_id`       | string | No       | `"Wise_Woman"` | Voice ID for text-to-speech generation                                                                               |
| `pitch`          | number | No       | —              | Speech pitch (-12 to 12, default: 0)                                                                                 |
| `speed`          | number | No       | —              | Speech speed multiplier (0.5 to 2, default: 1)                                                                       |
| `volume`         | number | No       | —              | Speech volume level (0 to 10, default: 1)                                                                            |
| `emotion`        | string | No       | —              | Emotion to apply to speech (default: auto)                                                                           |
| `sample_rate`    | number | No       | —              | Audio sample rate (default: 32000)                                                                                   |
| `language_boost` | string | No       | —              | Language enhancement for better pronunciation                                                                        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "text": {
        "type": "string",
        "description": "Text to convert to speech. Maximum 5000 characters. Use <#x#> between words to control pause duration (0.01-99.99s)"
      },
      "voice_id": {
        "type": "string",
        "enum": [
          "Wise_Woman",
          "Friendly_Person",
          "Inspirational_girl",
          "Deep_Voice_Man",
          "Calm_Woman",
          "Casual_Guy",
          "Lively_Girl",
          "Patient_Man",
          "Young_Knight",
          "Determined_Man",
          "Lovely_Girl",
          "Decent_Boy",
          "Imposing_Manner",
          "Elegant_Man",
          "Abbess",
          "Sweet_Girl_2",
          "Exuberant_Girl"
        ],
        "default": "Wise_Woman",
        "description": "Voice ID for text-to-speech generation"
      },
      "pitch": {
        "type": "number",
        "default": 0,
        "description": "Speech pitch (-12 to 12, default: 0)"
      },
      "speed": {
        "type": "number",
        "default": 1,
        "description": "Speech speed multiplier (0.5 to 2, default: 1)"
      },
      "volume": {
        "type": "number",
        "default": 1,
        "description": "Speech volume level (0 to 10, default: 1)"
      },
      "emotion": {
        "type": "string",
        "enum": [
          "auto",
          "neutral",
          "happy",
          "sad",
          "angry",
          "fearful",
          "disgusted",
          "surprised"
        ],
        "default": "auto",
        "description": "Emotion to apply to speech (default: auto)"
      },
      "sample_rate": {
        "type": "number",
        "default": 32000,
        "description": "Audio sample rate (default: 32000)"
      },
      "language_boost": {
        "type": "string",
        "enum": [
          "None",
          "Automatic",
          "Chinese",
          "Chinese,Yue",
          "English",
          "Arabic",
          "Russian",
          "Spanish",
          "French",
          "Portuguese",
          "German",
          "Turkish",
          "Dutch",
          "Ukrainian",
          "Vietnamese",
          "Indonesian",
          "Japanese",
          "Italian",
          "Korean",
          "Thai",
          "Polish",
          "Romanian",
          "Greek",
          "Czech",
          "Finnish",
          "Hindi"
        ],
        "default": "None",
        "description": "Language enhancement for better pronunciation"
      }
    },
    "required": [
      "text"
    ]
  }
  ```
</Expandable>

***

## audio-processing\_transcribe\_audio\_or\_video

Transcribe audio or video files to text using Deepgram AI. Returns transcription text plus optional word-level / utterance / paragraph / speaker timestamps via the includeDetailedResults flag. Supports diarization, keyword boosting (keyterm for Nova-3), search, replace, multichannel, filler words, and more.

**Parameters:**

| Parameter                 | Type      | Required | Default | Description                                                                                                                                                                                                                                    |
| ------------------------- | --------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fileUrl`                 | string    | Yes      | —       | URL of the audio or video file to transcribe                                                                                                                                                                                                   |
| `model`                   | string    | No       | —       | Deepgram model. nova-3 is the latest (required for keyterm). Whisper tiers available.                                                                                                                                                          |
| `languageCode`            | string    | No       | —       | Language code (e.g., "en", "es", "fr"). Omit for auto-detect.                                                                                                                                                                                  |
| `detectLanguage`          | boolean   | No       | —       | Explicitly request language auto-detection (most models detect by default when languageCode is omitted)                                                                                                                                        |
| `smartFormat`             | boolean   | No       | —       | Smart formatting of numbers, dates, times, etc. Default true.                                                                                                                                                                                  |
| `numerals`                | boolean   | No       | —       | Convert number words to numerals                                                                                                                                                                                                               |
| `profanityFilter`         | boolean   | No       | —       | Filter profanity                                                                                                                                                                                                                               |
| `dictation`               | boolean   | No       | —       | Interpret spoken punctuation commands                                                                                                                                                                                                          |
| `measurements`            | boolean   | No       | —       | Normalize measurement abbreviations                                                                                                                                                                                                            |
| `fillerWords`             | boolean   | No       | —       | Include "um" / "uh" / etc. in transcript                                                                                                                                                                                                       |
| `enableDiarization`       | boolean   | No       | —       | Identify different speakers. Auto-enables utterances with speaker-attributed timestamps.                                                                                                                                                       |
| `diarizationSpeakerCount` | number    | No       | —       | Hint for expected number of speakers                                                                                                                                                                                                           |
| `diarizeVersion`          | string    | No       | —       | Pin diarization algorithm version                                                                                                                                                                                                              |
| `enableUtterances`        | boolean   | No       | —       | Group output into utterances with start/end timestamps per phrase/speaker. Auto-enabled when diarization is on. Compact — does not include per-word timestamps.                                                                                |
| `uttSplit`                | number    | No       | —       | Silence threshold in seconds for splitting utterances (default 0.8)                                                                                                                                                                            |
| `enableParagraphs`        | boolean   | No       | —       | Format output into paragraphs with timestamps                                                                                                                                                                                                  |
| `multichannel`            | boolean   | No       | —       | Transcribe each audio channel separately. Critical for stereo call recordings.                                                                                                                                                                 |
| `alternatives`            | number    | No       | —       | Return N transcription candidates per channel                                                                                                                                                                                                  |
| `keywords`                | string\[] | No       | —       | Keyword boosting. Each entry may be "word" or "word:intensifier". Pre-Nova-3 models.                                                                                                                                                           |
| `keyterm`                 | string\[] | No       | —       | Nova-3 keyterm boosting (superior to keywords; supports multi-word phrases). English-only.                                                                                                                                                     |
| `search`                  | string\[] | No       | —       | Search for phrases; hits returned with timestamps                                                                                                                                                                                              |
| `replace`                 | string\[] | No       | —       | Find-and-replace in transcript. Format: "find:replace".                                                                                                                                                                                        |
| `enableSummary`           | boolean   | No       | —       | Generate a short text summary of the audio. Requires 50+ words of audio — shorter inputs return the original text. Returns a summary.short field.                                                                                              |
| `enableTopics`            | boolean   | No       | —       | Detect topics discussed in the audio. Returns topic segments with labels and confidence scores (0-1). Example topics: "healthcare", "data collection", "budget". English only.                                                                 |
| `customTopics`            | string\[] | No       | —       | Provide up to 100 custom topics to detect. By default uses extended mode — returns your topics plus auto-detected ones. Requires enableTopics. Example: \["sales", "support", "billing", "technical issue"]                                    |
| `enableIntents`           | boolean   | No       | —       | Detect speaker intents — what speakers are trying to do. Returns intent segments with verb-form labels and confidence scores (0-1). Example intents: "schedule a meeting", "request a refund". English only.                                   |
| `customIntents`           | string\[] | No       | —       | Provide up to 100 custom intents to detect. By default uses extended mode — returns your intents plus auto-detected ones. Requires enableIntents. Example: \["purchase", "cancel subscription", "get status update", "file complaint"]         |
| `enableSentiment`         | boolean   | No       | —       | Analyze sentiment per segment — tags each part as positive, negative, or neutral with a confidence score (0-1). Also provides an average sentiment for the entire transcript. Useful for call center analysis.                                 |
| `redact`                  | string\[] | No       | —       | Redaction options. Common: pci, pii, phi, numbers, ssn. Also supports specific entity types.                                                                                                                                                   |
| `mipOptOut`               | boolean   | No       | —       | Opt out of Deepgram model improvement program                                                                                                                                                                                                  |
| `tag`                     | string\[] | No       | —       | Labels for Deepgram console analytics filtering                                                                                                                                                                                                |
| `extra`                   | string\[] | No       | —       | Arbitrary "key:value" metadata passthrough                                                                                                                                                                                                     |
| `outputMode`              | string    | No       | —       | Output mode. "transcription" (default): text only (\~5KB). "transcription\_with\_timestamps": includes utterance-level timestamps with start/end per phrase/speaker (\~15KB). Use timestamps mode when you need to know when things were said. |
| `includeDetailedResults`  | boolean   | No       | —       | Include the full raw Deepgram response with word-level timestamps. Warning: very large output (200KB+ per minute of audio). Only use when you need per-word timing data.                                                                       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "fileUrl": {
        "type": "string",
        "description": "URL of the audio or video file to transcribe"
      },
      "model": {
        "type": "string",
        "enum": [
          "nova-3",
          "nova-3-general",
          "nova-3-medical",
          "nova-2",
          "nova-2-general",
          "nova-2-meeting",
          "nova-2-phonecall",
          "nova-2-voicemail",
          "nova-2-finance",
          "nova-2-conversationalai",
          "nova-2-video",
          "nova-2-medical",
          "nova-2-drivethru",
          "nova-2-automotive",
          "nova",
          "enhanced",
          "base",
          "whisper-tiny",
          "whisper-base",
          "whisper-small",
          "whisper-medium",
          "whisper-large"
        ],
        "default": "nova-3",
        "description": "Deepgram model. nova-3 is the latest (required for keyterm). Whisper tiers available."
      },
      "languageCode": {
        "type": "string",
        "description": "Language code (e.g., \"en\", \"es\", \"fr\"). Omit for auto-detect."
      },
      "detectLanguage": {
        "type": "boolean",
        "description": "Explicitly request language auto-detection (most models detect by default when languageCode is omitted)"
      },
      "smartFormat": {
        "type": "boolean",
        "description": "Smart formatting of numbers, dates, times, etc. Default true."
      },
      "numerals": {
        "type": "boolean",
        "description": "Convert number words to numerals"
      },
      "profanityFilter": {
        "type": "boolean",
        "description": "Filter profanity"
      },
      "dictation": {
        "type": "boolean",
        "description": "Interpret spoken punctuation commands"
      },
      "measurements": {
        "type": "boolean",
        "description": "Normalize measurement abbreviations"
      },
      "fillerWords": {
        "type": "boolean",
        "description": "Include \"um\" / \"uh\" / etc. in transcript"
      },
      "enableDiarization": {
        "type": "boolean",
        "default": false,
        "description": "Identify different speakers. Auto-enables utterances with speaker-attributed timestamps."
      },
      "diarizationSpeakerCount": {
        "type": "number",
        "description": "Hint for expected number of speakers"
      },
      "diarizeVersion": {
        "type": "string",
        "description": "Pin diarization algorithm version"
      },
      "enableUtterances": {
        "type": "boolean",
        "description": "Group output into utterances with start/end timestamps per phrase/speaker. Auto-enabled when diarization is on. Compact — does not include per-word timestamps."
      },
      "uttSplit": {
        "type": "number",
        "description": "Silence threshold in seconds for splitting utterances (default 0.8)"
      },
      "enableParagraphs": {
        "type": "boolean",
        "default": false,
        "description": "Format output into paragraphs with timestamps"
      },
      "multichannel": {
        "type": "boolean",
        "description": "Transcribe each audio channel separately. Critical for stereo call recordings."
      },
      "alternatives": {
        "type": "number",
        "description": "Return N transcription candidates per channel"
      },
      "keywords": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Keyword boosting. Each entry may be \"word\" or \"word:intensifier\". Pre-Nova-3 models."
      },
      "keyterm": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Nova-3 keyterm boosting (superior to keywords; supports multi-word phrases). English-only."
      },
      "search": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Search for phrases; hits returned with timestamps"
      },
      "replace": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Find-and-replace in transcript. Format: \"find:replace\"."
      },
      "enableSummary": {
        "type": "boolean",
        "default": false,
        "description": "Generate a short text summary of the audio. Requires 50+ words of audio — shorter inputs return the original text. Returns a summary.short field."
      },
      "enableTopics": {
        "type": "boolean",
        "default": false,
        "description": "Detect topics discussed in the audio. Returns topic segments with labels and confidence scores (0-1). Example topics: \"healthcare\", \"data collection\", \"budget\". English only."
      },
      "customTopics": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Provide up to 100 custom topics to detect. By default uses extended mode — returns your topics plus auto-detected ones. Requires enableTopics. Example: [\"sales\", \"support\", \"billing\", \"technical issue\"]"
      },
      "enableIntents": {
        "type": "boolean",
        "description": "Detect speaker intents — what speakers are trying to do. Returns intent segments with verb-form labels and confidence scores (0-1). Example intents: \"schedule a meeting\", \"request a refund\". English only."
      },
      "customIntents": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Provide up to 100 custom intents to detect. By default uses extended mode — returns your intents plus auto-detected ones. Requires enableIntents. Example: [\"purchase\", \"cancel subscription\", \"get status update\", \"file complaint\"]"
      },
      "enableSentiment": {
        "type": "boolean",
        "default": false,
        "description": "Analyze sentiment per segment — tags each part as positive, negative, or neutral with a confidence score (0-1). Also provides an average sentiment for the entire transcript. Useful for call center analysis."
      },
      "redact": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "pci",
            "pii",
            "phi",
            "numbers",
            "ssn",
            "aggressive_numbers",
            "credit_card",
            "credit_card_expiration",
            "cvv",
            "email_address",
            "phone_number",
            "account_number",
            "age",
            "date",
            "date_interval",
            "dob",
            "driver_license",
            "healthcare_number",
            "ip_address",
            "location",
            "location_address",
            "location_zip",
            "location_coordinate",
            "money",
            "numerical_pii",
            "passport_number",
            "password",
            "time",
            "vehicle_id",
            "statistics",
            "bank_account",
            "routing_number"
          ]
        },
        "description": "Redaction options. Common: pci, pii, phi, numbers, ssn. Also supports specific entity types."
      },
      "mipOptOut": {
        "type": "boolean",
        "description": "Opt out of Deepgram model improvement program"
      },
      "tag": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Labels for Deepgram console analytics filtering"
      },
      "extra": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Arbitrary \"key:value\" metadata passthrough"
      },
      "outputMode": {
        "type": "string",
        "enum": [
          "transcription",
          "transcription_with_timestamps"
        ],
        "default": "transcription",
        "description": "Output mode. \"transcription\" (default): text only (~5KB). \"transcription_with_timestamps\": includes utterance-level timestamps with start/end per phrase/speaker (~15KB). Use timestamps mode when you need to know when things were said."
      },
      "includeDetailedResults": {
        "type": "boolean",
        "description": "Include the full raw Deepgram response with word-level timestamps. Warning: very large output (200KB+ per minute of audio). Only use when you need per-word timing data."
      }
    },
    "required": [
      "fileUrl"
    ]
  }
  ```
</Expandable>
