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

# Speech To Text

> Convert speech audio to text using the session's configured STT provider.

## Request Parameters

| Parameter | Required | Description |
|-----------|----------|-------------|
| `audio` | Yes | Audio file (WAV, MP3, or other supported format) |
| `language` | No | Language hint for better transcription (e.g., `ko`, `en`) |

## Supported Audio Formats

- WAV (recommended)
- MP3
- Other formats supported by the configured STT provider

## Response

Returns the transcribed text in the `text` field.

## Example

Select **"STTRequest"** from the **Examples** dropdown to see the request format.




## OpenAPI

````yaml /specs/openapi-interactive.json post /api/v1/session/{session_id}/stt/
openapi: 3.0.3
info:
  title: Perso Interactive API
  version: 0.0.0
servers:
  - url: https://platform.perso.ai
security: []
tags:
  - name: Embed
paths:
  /api/v1/session/{session_id}/stt/:
    post:
      tags:
        - Session Operations
      summary: Speech To Text
      description: >
        Convert speech audio to text using the session's configured STT
        provider.


        ## Request Parameters


        | Parameter | Required | Description |

        |-----------|----------|-------------|

        | `audio` | Yes | Audio file (WAV, MP3, or other supported format) |

        | `language` | No | Language hint for better transcription (e.g., `ko`,
        `en`) |


        ## Supported Audio Formats


        - WAV (recommended)

        - MP3

        - Other formats supported by the configured STT provider


        ## Response


        Returns the transcribed text in the `text` field.


        ## Example


        Select **"STTRequest"** from the **Examples** dropdown to see the
        request format.
      operationId: v1_session_stt_create
      parameters:
        - in: path
          name: session_id
          schema:
            type: string
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/STTRequestRequest'
            examples:
              STTRequest:
                value:
                  audio: <binary audio file>
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/STTRequestRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/STTRequestRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/STTResponse'
          description: ''
        '400':
          description: Bad Request - Invalid input data or parameters.
        '401':
          description: Unauthorized - Invalid or missing authentication credentials.
        '403':
          description: Forbidden - You do not have permission to perform this action.
        '404':
          description: Not Found - The requested resource could not be found.
        '405':
          description: Method Not Allowed - Invalid HTTP method
        '406':
          description: Not Acceptable - Invalid request accept headers
        '415':
          description: Unsupported Media Type - Invalid content type
        '500':
          description: Internal Server Error - An unexpected error occurred.
      security:
        - {}
components:
  schemas:
    STTRequestRequest:
      type: object
      properties:
        audio:
          type: string
          format: binary
          description: Audio file (WAV/MP3) to transcribe.
        language:
          type: string
          minLength: 1
          description: Optional language hint (e.g. `en`, `ko`) for the STT engine.
      required:
        - audio
    STTResponse:
      type: object
      properties:
        text:
          type: string
        locale:
          type: string
        normalized_text:
          type: string
      required:
        - locale
        - normalized_text
        - text

````