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

# Grok Voice ASR

> [Core Function] Grok Voice ASR transcribes a single public audio URL into text via an async task. [Strengths] Word-level timestamps, optional speaker diarization, multichannel transcription, Inverse Text Normalization (format + language), keyterm biasing, and filler-word control. [Best For] Meeting notes, call-center recordings, captions, and batch audio-to-text pipelines. [Limitations] Do NOT use file upload; URL-only input. Do NOT use for live or real-time streaming transcription. Audio must be publicly reachable (max 500 MB). [Routing] Use this model for xAI Grok Voice ASR quality with URL-based audio.



## OpenAPI

````yaml /media-model-api/xai/xai-s2t.json post /xai/grok-voice-asr
openapi: 3.1.0
info:
  title: xAI Grok Voice Speech-to-Text API
  description: >-
    xAI Grok Voice speech-to-text. Submit a public audio URL as an async task;
    poll GET /api/v1/tasks/{task_id} for the transcription result.
  version: 1.0.0
  contact:
    name: Modellix Support
    email: support@modellix.ai
servers:
  - url: https://api.modellix.ai/api/v1
    description: xAI Grok Voice speech-to-text models API
security:
  - bearerAuth: []
paths:
  /xai/grok-voice-asr:
    post:
      summary: Grok Voice ASR
      description: >-
        [Core Function] Grok Voice ASR transcribes a single public audio URL
        into text via an async task. [Strengths] Word-level timestamps, optional
        speaker diarization, multichannel transcription, Inverse Text
        Normalization (format + language), keyterm biasing, and filler-word
        control. [Best For] Meeting notes, call-center recordings, captions, and
        batch audio-to-text pipelines. [Limitations] Do NOT use file upload;
        URL-only input. Do NOT use for live or real-time streaming
        transcription. Audio must be publicly reachable (max 500 MB). [Routing]
        Use this model for xAI Grok Voice ASR quality with URL-based audio.
      operationId: grokVoiceASR
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GrokVoiceASRRequest'
            examples:
              basic:
                summary: Minimal request
                value:
                  url: https://cdn.example.com/meeting.mp3
              formatted:
                summary: ITN formatting with language
                value:
                  url: https://cdn.example.com/meeting.mp3
                  language: en
                  format: true
                  keyterm:
                    - Modellix
                    - Grok
              diarize:
                summary: Speaker diarization
                value:
                  url: https://cdn.example.com/call.wav
                  diarize: true
                  filler_words: false
      responses:
        '200':
          description: >-
            Task submitted successfully. Poll GET /api/v1/tasks/{task_id} until
            the task completes; the transcription result is returned on the task
            result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskResponse'
              example:
                code: 0
                message: success
                data:
                  status: pending
                  task_id: task-grok-voice-asr-001
                  model_id: xai/grok-voice-asr
                  get_result:
                    method: GET
                    url: >-
                      https://api.modellix.ai/api/v1/tasks/task-grok-voice-asr-001
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    GrokVoiceASRRequest:
      type: object
      required:
        - url
      additionalProperties: false
      properties:
        url:
          type: string
          minLength: 1
          pattern: ^https?://
          description: >-
            Public http(s) URL of the audio file for transcription. File upload
            is not supported.
        language:
          type: string
          enum:
            - ar
            - cs
            - da
            - nl
            - en
            - fil
            - fr
            - de
            - hi
            - id
            - it
            - ja
            - ko
            - mk
            - ms
            - fa
            - pl
            - pt
            - ro
            - ru
            - es
            - sv
            - th
            - tr
            - vi
          description: >-
            Language code for Inverse Text Normalization when format=true.
            Required when format is true.
        format:
          type: boolean
          default: false
          description: >-
            When true, enables Inverse Text Normalization (e.g. spoken numbers
            to written form). Requires language.
        multichannel:
          type: boolean
          default: false
          description: When true, transcribes each audio channel independently.
        channels:
          type: integer
          minimum: 2
          maximum: 8
          description: >-
            Number of channels for multichannel raw audio (2–8). Container
            formats are usually auto-detected.
        diarize:
          type: boolean
          default: false
          description: When true, enables speaker diarization; words include speaker ids.
        keyterm:
          type: array
          maxItems: 100
          items:
            type: string
            maxLength: 50
          description: >-
            Key terms to bias transcription toward (product names, proper
            nouns). Max 100 terms, each up to 50 characters.
        filler_words:
          type: boolean
          default: false
          description: When true, keep filler words (uh/um/er) in the transcript.
        audio_format:
          type: string
          enum:
            - pcm
            - mulaw
            - alaw
          description: >-
            Format hint for raw/headerless audio only. Do not set for
            MP3/WAV/etc. Requires sample_rate when set.
        sample_rate:
          type: integer
          enum:
            - 8000
            - 16000
            - 22050
            - 24000
            - 44100
            - 48000
          description: Sample rate in Hz for raw audio. Required when audio_format is set.
    AsyncTaskResponse:
      description: Response object for asynchronous task submission.
      type: object
      required:
        - code
        - message
        - data
      properties:
        code:
          type: integer
          description: Response code, 0 indicates success
          example: 0
        message:
          type: string
          description: Response message
          example: success
        data:
          type: object
          required:
            - status
            - task_id
            - model_id
          description: >-
            Task submission details. Poll GET /api/v1/tasks/{task_id} until
            status is success; the transcription appears in result.resources.
            See Common API: Query Task Result.
          properties:
            status:
              type: string
              enum:
                - pending
                - processing
              description: Initial task status
              example: pending
            task_id:
              type: string
              description: Unique task identifier for polling
              example: task-grok-voice-asr-001
            model_id:
              type: string
              description: Model ID in provider/model format
              example: xai/grok-voice-asr
            get_result:
              type: object
              description: >-
                Endpoint to query the task result. See Common API: Query Task
                Result.
              properties:
                method:
                  type: string
                  example: GET
                url:
                  type: string
                  example: https://api.modellix.ai/api/v1/tasks/task-grok-voice-asr-001
  responses:
    BadRequest:
      description: Invalid parameters
    Unauthorized:
      description: Missing or invalid API key
    TooManyRequests:
      description: Rate limited
    InternalServerError:
      description: Internal server error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````