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

# Supported languages

> List the languages each Speech-to-Text model supports.

## Supported languages

Prisma v2.5 and Prisma v3.0 support these languages. The same list applies on REST, Realtime and Batch.

| Language | Code | Native Script | Example |
| - | - | - | - |
| Bengali | `bn-IN` | Bengali (বাংলা) | "আমি ভাত খাই" |
| English | `en-IN` | English (Latin) (Accepts English-Hindi mixed audio and generates output in English (Latin script).) | "I am going to the market" |
| Gujarati | `gu-IN` | Gujarati (ગુજરાતી) | "હું બજાર જાઉં છું" |
| Hindi | `hi-IN` | Devanagari (हिन्दी) | "मैं बाज़ार जा रहा हूँ" |
| Kannada | `kn-IN` | Kannada (ಕನ್ನಡ) | "ನಾನು ಮಾರುಕಟ್ಟೆಗೆ ಹೋಗುತ್ತೇನೆ" |
| Malayalam | `ml-IN` | Malayalam (മലയാളം) | "ഞാൻ ചന്തയിലേക്ക് പോകുന്നു" |
| Marathi | `mr-IN` | Devanagari (मराठी) | "मी बाजारात जातोय" |
| Punjabi | `pa-IN` | Gurmukhi (ਪੰਜਾਬੀ) | "ਮੈਂ ਬਾਜ਼ਾਰ ਜਾ ਰਿਹਾ ਹਾਂ" |
| Tamil | `ta-IN` | Tamil (தமிழ்) | "நான் சந்தைக்கு செல்கிறேன்" |
| Telugu | `te-IN` | Telugu (తెలుగు) | "నేను మార్కెట్‌కి వెళ్తున్నాను" |

> [!NOTE]
>
> **`indic-auto` (Prisma v3.0 only).** Send `language_code=indic-auto` to let the model identify the language itself. It is not a language: the reply carries the language it heard in `detected_language_code`. See [Language detection](https://docs.gnani.ai/api/STT/models/prisma-v3.md#language-detection).

## Languages endpoint

`GET /stt/v3/languages` returns the languages and limits each model currently supports, so you can check them from code.

> [!NOTE]
>
> `supported_languages` lists every language any Gnani model supports. Prisma v3.0 does **not** support `as-IN`
> (Assamese). Use `models["prisma-v3.0"]` to see what the model accepts.

## Example

```bash theme={null}
curl "https://api.vachana.ai/stt/v3/languages" \
  --header "X-API-Key-ID: <API_KEY>"
```

```python theme={null}
import requests

r = requests.get(
    "https://api.vachana.ai/stt/v3/languages",
    headers={"X-API-Key-ID": "<API_KEY>"},
    timeout=30,
)
info = r.json()
print(info["models"]["prisma-v3.0"])
print(info["audio_constraints"]["max_duration_seconds"])
```

Example response (trimmed to the `prisma-v3.0` entry; the real response lists every model):

```json theme={null}
{
  "success": true,
  "supported_languages": ["as-IN", "bn-IN", "en-IN", "gu-IN", "hi-IN", "indic-auto", "kn-IN", "ml-IN", "mr-IN", "pa-IN", "ta-IN", "te-IN"],
  "models": {
    "prisma-v3.0": ["bn-IN", "en-IN", "gu-IN", "hi-IN", "indic-auto", "kn-IN", "ml-IN", "mr-IN", "pa-IN", "ta-IN", "te-IN"]
  },
  "audio_constraints": {
    "max_duration_seconds": 30.0,
    "supported_formats": ["wav", "mp3", "ogg", "flac", "aac", "m4a"]
  },
  "default_sample_rate": 16000
}
```

## Field notes

* `supported_languages` is the union across every model. It therefore lists `as-IN` (Assamese), which other models support and **Prisma v3.0 does not**.
* `models` has one entry per model. Check `models["prisma-v3.0"]` before sending a language: it has ten locales plus `indic-auto`, and no `as-IN`.
* Sending `as-IN` to `prisma-v3.0` returns `400 MODEL_UNSUPPORTED_LANGUAGE` ([Error Reference](https://docs.gnani.ai/api/introduction/errors.md)).
* `audio_constraints.max_duration_seconds` is the live REST limit.


## OpenAPI

````yaml GET /stt/v3/languages
openapi: 3.1.0
info:
  title: Vachana Speech-to-Text API
  description: >
    Vachana STT API provides powerful speech-to-text conversion with support for
    10 Indian languages.


    ## Authentication

    All API requests require authentication using an API key passed in the
    `X-API-Key-ID` header.


    ## Supported Languages

    | Language | Code |

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

    | Bengali | `bn-IN` |

    | English (India) | `en-IN` |

    | Gujarati | `gu-IN` |

    | Hindi | `hi-IN` |

    | Kannada | `kn-IN` |

    | Malayalam | `ml-IN` |

    | Marathi | `mr-IN` |

    | Punjabi | `pa-IN` |

    | Tamil | `ta-IN` |

    | Telugu | `te-IN` |


    ## Audio Constraints

    - **Maximum duration**: 30 seconds

    - **Supported formats**: WAV, MP3, OGG, FLAC, AAC, M4A

    - **Sample rate**: Automatically converted to 16000 Hz mono


    ## Models

    Choose a model with the `model` field. When omitted, the default model
    (Prisma v2.5) is used.

    Send `model=prisma-v3.0` for Prisma v3.0, which adds automatic language
    detection (`language_code=indic-auto`), lists of 1-4 languages in

    `language_code`, `detected_language_code`, the `codemix` and `transliterate`
    output styles and context hints. See [Prisma
    v3.0](/api/STT/models/prisma-v3).
  version: 3.0.0
servers:
  - url: https://api.vachana.ai
    description: Production Server
security:
  - ApiKeyAuth: []
paths:
  /stt/v3/languages:
    get:
      tags:
        - Speech-to-Text
      summary: Supported languages and limits
      description: >
        Returns the languages each model supports and the audio constraints.


        `supported_languages` is the union across every model, so it lists
        languages that Prisma v3.0 does not

        support (for example `as-IN`). Use `models["prisma-v3.0"]` to see what
        Prisma v3.0 accepts.

        `audio_constraints.max_duration_seconds` is the live REST limit.
      operationId: stt_languages
      responses:
        '200':
          description: Supported languages and audio constraints
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LanguagesResponse'
              example:
                success: true
                supported_languages:
                  - as-IN
                  - bn-IN
                  - en-IN
                  - gu-IN
                  - hi-IN
                  - indic-auto
                  - kn-IN
                  - ml-IN
                  - mr-IN
                  - pa-IN
                  - ta-IN
                  - te-IN
                models:
                  prisma-v3.0:
                    - bn-IN
                    - en-IN
                    - gu-IN
                    - hi-IN
                    - indic-auto
                    - kn-IN
                    - ml-IN
                    - mr-IN
                    - pa-IN
                    - ta-IN
                    - te-IN
                audio_constraints:
                  max_duration_seconds: 30
                  supported_formats:
                    - wav
                    - mp3
                    - ogg
                    - flac
                    - aac
                    - m4a
                default_sample_rate: 16000
      security:
        - ApiKeyAuth: []
components:
  schemas:
    LanguagesResponse:
      type: object
      properties:
        success:
          type: boolean
        supported_languages:
          type: array
          description: >-
            Union across every model. Includes languages that Prisma v3.0 does
            not support (for example `as-IN`).
          items:
            type: string
        models:
          type: object
          description: Languages accepted by each model, keyed by model name.
          additionalProperties:
            type: array
            items:
              type: string
        audio_constraints:
          type: object
          properties:
            max_duration_seconds:
              type: number
            supported_formats:
              type: array
              items:
                type: string
        default_sample_rate:
          type: integer
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key-ID
      description: API key for authentication. Sign up in Vachana to get the API Key.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.