Skip to main content

Documentation Index

Fetch the complete documentation index at: https://kupe.in/docs/llms.txt

Use this file to discover all available pages before exploring further.

Use this guide when calling PUT /api/v1/agents/{agent_id} (after POST /api/v1/agents/simple if you start from defaults): pass catalog codes (what you see below or from the live provider APIs), not database row UUIDs, unless you already have the UUID from your environment.

Live catalogs (authoritative)

With your x-api-key:
CatalogEndpoint
LLMGET https://api.kupe.in/api/v1/providers/model
TTSGET https://api.kupe.in/api/v1/providers/tts
STTGET https://api.kupe.in/api/v1/providers/stt
Each row includes fields such as model_name, provider_name, supported_languages, and id. Agent update accepts preferred keys agent_model_config.model_name, tts_config.tts_model_name, transcriber_config.transcriber_model_name (legacy *_provider_id fields are equivalent) and resolves them to internal UUIDs before saving. See also: Supported models & providers (static tables and model names) and the Voice Agent API in the API reference.

Language codes by provider

Use the convention that matches the STT / TTS row you selected. Wrong codes usually surface as provider errors at call time, not as Kupe validation errors.
Sarvam expects region-qualified tags where the provider documents them, e.g. hi-IN, gu-IN, en-IN. Use the same pattern as in Sarvam’s docs for other locales.Put the value in transcriber_config.language. For TTS you can send tts_config.language (Kupe merges it into voice_parameters.language) or set voice_parameters.language yourself.

Logos and quick reference

Logos below match the in-app catalog (app.kupe.in). Model names are examples — always confirm against GET …/providers/model for your tenant.

LLM

OpenAI / Azure router

Examples: gpt-4.1-mini, gpt-4.1, openai-gpt-4.1-nano

Groq

Examples: groq-llama-3.3-70b, groq-gpt-oss-20b

DeepInfra

Examples: deepinfra-qwen, deepinfra-llama

TTS

Use tts_config.tts_model_name = model_name, provider_name, provider:model_name, or row id. Examples: tts-1, bulbul:v2. Legacy tts_provider_id in JSON means the same thing.

STT

Use transcriber_config.transcriber_model_name = STT model_name, transcriber name, or row id (legacy provider_id is equivalent), and transcriber_config.language. The pipeline STT model id is taken from the transcriber_providers row — do not send a duplicate transcriber_config.model_name on create.
Refreshing this page: run the three GET catalog calls and compare model_name / supported_languages to the tables on Supported models & providers; update product copy when vendors add models.