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

# Elevenlabs scribe v2 Speech to Text

Transcribes audio or video files. When use\_multi\_channel is true and the uploaded audio has multiple channels, returns a 'transcripts' object with one transcription per channel. Otherwise returns a single transcription result.

## Request Headers

<ParamField header="Content-Type" type="string" required={true}>
  Enum: `application/json`
</ParamField>

<ParamField header="Authorization" type="string" required={true}>
  Bearer authentication format: Bearer \{\{API Key}}.
</ParamField>

## Request Body

<ParamField body="seed" type="integer" nullable={true}>
  If specified, the system will make a best effort to sample deterministically. Repeated requests with the same seed and parameters should return the same result, but determinism is not guaranteed. Must be an integer between 0 and 2147483647.

  Range: \[0, 2147483647]
</ParamField>

<ParamField body="diarize" type="boolean" default={false}>
  Whether to annotate which speaker is currently speaking in the uploaded file.
</ParamField>

<ParamField body="file_format" type="string" default="other">
  Input audio format. Options are 'pcm\_s16le\_16' or 'other'. pcm\_s16le\_16 requires audio to be 16kHz sample rate, 16-bit integer, mono, little-endian format, which has lower latency compared to encoded waveforms.

  Possible values: `pcm_s16le_16`, `other`
</ParamField>

<ParamField body="temperature" type="number" nullable={true}>
  Controls the randomness of the transcription output. Value range is 0.0 to 2.0; higher values produce more diverse and less certain results. If omitted, the default temperature of the selected model will be used (typically 0).

  Range: \[0, 2]
</ParamField>

<ParamField body="num_speakers" type="integer" nullable={true}>
  Maximum number of speakers in the uploaded file. Can be used to help distinguish speakers. Up to 32 speakers supported.

  Range: \[1, 32]
</ParamField>

<ParamField body="language_code" type="string" nullable={true}>
  Specifies the ISO-639-1 or ISO-639-3 language code of the audio file. Specifying it in advance can sometimes improve transcription performance. Defaults to null, which will automatically detect the language.
</ParamField>

<ParamField body="entity_detection" type="string" nullable={true}>
  Detects entities in the transcribed text. Can be 'all' to detect all entity types, a single entity type/category string, or a list of entity types/categories. Categories include 'pii' (personally identifiable information), 'phi' (protected health information), 'pci' (payment card information), 'other' (other sensitive information), and 'offensive\_language'. When enabled, detected entities are returned in the 'entities' field with text, type, and character position information.
</ParamField>

<ParamField body="tag_audio_events" type="boolean" default={true}>
  Whether to tag audio events such as (laughter), (footsteps), etc. in the transcription.
</ParamField>

<ParamField body="cloud_storage_url" type="string" required={true} nullable={true}>
  HTTPS URL of the file to transcribe. Either file or cloud\_storage\_url must be provided. The file must be accessible via HTTPS and smaller than 2GB. Supports any valid HTTPS address, including cloud storage (AWS S3, GCS, Cloudflare R2, etc.), CDNs, or other HTTPS sources. Supports pre-signed URLs with tokens or URL query parameter authentication.
</ParamField>

<ParamField body="use_multi_channel" type="boolean" default={false}>
  Whether the audio file is multi-channel with each channel containing only a single speaker. When enabled, each channel will be transcribed independently and the results will be combined. Each word in the output will include a channel\_index field. Up to 5 channels supported.
</ParamField>

<ParamField body="additional_formats" type="array" nullable={true}>
  List of additional formats to export the transcription in.
</ParamField>

<ParamField body="diarization_threshold" type="number" nullable={true}>
  Speaker diarization threshold. A higher value means a lower probability of one person being split into multiple speakers, but a higher probability of different people being merged into one speaker (fewer speakers identified). A lower value means a higher probability of one person being split into multiple speakers, but a lower probability of different people being merged (more speakers identified). Can only be set when diarize=True and num\_speakers=None. Defaults to None, which selects a threshold based on the model ID (typically 0.22).

  Range: \[0.1, 0.4]
</ParamField>

<ParamField body="timestamps_granularity" type="string" default="word">
  Granularity of timestamps in the transcription. 'word' provides word-level timestamps, 'character' provides character-level timestamps.

  Possible values: `none`, `word`, `character`
</ParamField>

## Response

<Note>
  The response may be one of the following response types:
</Note>

<Accordion title="Response Type 1">
  <ResponseField name="text" type="string" required={true}>
    The raw transcribed text.
  </ResponseField>

  <ResponseField name="words" type="array" required={true}>
    List of words and their timing information.

    <Expandable title="properties" defaultOpen={true}>
      <ResponseField name="end" type="number" required={false}>
        End time (in seconds) of this word or sound in the audio.
      </ResponseField>

      <ResponseField name="text" type="string" required={true}>
        The transcribed word or sound content.
      </ResponseField>

      <ResponseField name="type" type="string" required={true}>
        The type of this word or sound. 'audio\_event' is used for non-word sounds such as laughter or footsteps.

        Possible values: `word`, `spacing`, `audio_event`
      </ResponseField>

      <ResponseField name="start" type="number" required={false}>
        Start time (in seconds) of this word or sound in the audio.
      </ResponseField>

      <ResponseField name="logprob" type="number" required={true}>
        The log probability of predicting this word. logprob ranges from \[-infinity, 0]; higher values indicate greater model confidence.
      </ResponseField>

      <ResponseField name="characters" type="array" required={false}>
        Characters that make up the word and their corresponding timing information.

        <Expandable title="properties" defaultOpen={true}>
          <ResponseField name="end" type="number" required={false}>
            End time (in seconds) of the character in the audio.
          </ResponseField>

          <ResponseField name="text" type="string" required={true}>
            The transcribed character content.
          </ResponseField>

          <ResponseField name="start" type="number" required={false}>
            Start time (in seconds) of the character in the audio.
          </ResponseField>
        </Expandable>
      </ResponseField>

      <ResponseField name="speaker_id" type="string" required={false}>
        Unique identifier of the speaker for this word.
      </ResponseField>
    </Expandable>
  </ResponseField>

  <ResponseField name="channel_index" type="integer" required={false}>
    Channel index corresponding to this transcription (applicable for multi-channel audio).
  </ResponseField>

  <ResponseField name="language_code" type="string" required={true}>
    Detected language code (e.g., 'eng' for English).
  </ResponseField>

  <ResponseField name="transcription_id" type="string" required={false}>
    Unique transcription ID for this response.
  </ResponseField>

  <ResponseField name="language_probability" type="number" required={true}>
    Language detection confidence (between 0 and 1).
  </ResponseField>
</Accordion>

<Accordion title="Response Type 2">
  <ResponseField name="transcripts" type="array" required={true}>
    List of transcriptions for each audio channel. Each transcription contains the text and word-level details for its respective channel.

    <Expandable title="properties" defaultOpen={true}>
      <ResponseField name="text" type="string" required={true}>
        The raw transcribed text.
      </ResponseField>

      <ResponseField name="words" type="array" required={true}>
        List of words and their timing information.

        <Expandable title="properties" defaultOpen={true}>
          <ResponseField name="end" type="number" required={false}>
            End time (in seconds) of this word or sound in the audio.
          </ResponseField>

          <ResponseField name="text" type="string" required={true}>
            The transcribed word or sound content.
          </ResponseField>

          <ResponseField name="type" type="string" required={true}>
            The type of this word or sound. 'audio\_event' is used for non-word sounds such as laughter or footsteps.

            Possible values: `word`, `spacing`, `audio_event`
          </ResponseField>

          <ResponseField name="start" type="number" required={false}>
            Start time (in seconds) of this word or sound in the audio.
          </ResponseField>

          <ResponseField name="logprob" type="number" required={true}>
            The log probability of predicting this word. logprob ranges from \[-infinity, 0]; higher values indicate greater model confidence.
          </ResponseField>

          <ResponseField name="characters" type="array" required={false}>
            Characters that make up the word and their corresponding timing information.

            <Expandable title="properties" defaultOpen={true}>
              <ResponseField name="end" type="number" required={false}>
                End time (in seconds) of the character in the audio.
              </ResponseField>

              <ResponseField name="text" type="string" required={true}>
                The transcribed character content.
              </ResponseField>

              <ResponseField name="start" type="number" required={false}>
                Start time (in seconds) of the character in the audio.
              </ResponseField>
            </Expandable>
          </ResponseField>

          <ResponseField name="speaker_id" type="string" required={false}>
            Unique identifier of the speaker for this word.
          </ResponseField>
        </Expandable>
      </ResponseField>

      <ResponseField name="channel_index" type="integer" required={false}>
        Channel index corresponding to this transcription (applicable for multi-channel audio).
      </ResponseField>

      <ResponseField name="language_code" type="string" required={true}>
        Detected language code (e.g., 'eng' for English).
      </ResponseField>

      <ResponseField name="transcription_id" type="string" required={false}>
        Unique transcription ID for this response.
      </ResponseField>

      <ResponseField name="language_probability" type="number" required={true}>
        Language detection confidence (between 0 and 1).
      </ResponseField>
    </Expandable>
  </ResponseField>

  <ResponseField name="transcription_id" type="string" required={false}>
    Unique transcription ID for this response.
  </ResponseField>
</Accordion>
