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

# Transcrição de fala para texto

> Converta áudio em texto usando reconhecimento de fala avançado.

**Upload de Arquivo Completo (Padrão)**  
Use `Content-Type: multipart/form-data` para enviar o arquivo de áudio completo em uma única solicitação. Tamanho máximo do arquivo: 25MB.

Exemplo:  
```bash
curl -X POST "http://localhost:3000/api/v1/llm/speech/transcriptions?language=pt-BR" \
  -F "file=@audio.flac"
```

**Upload em Fragmentos (Streaming)**  
Use o cabeçalho `Transfer-Encoding: chunked` para transmitir dados de áudio em fragmentos enquanto estão sendo gravados. Não é necessário saber o tamanho total do arquivo com antecedência. O servidor armazena os fragmentos até que estejam completos antes de processar. Tamanho total máximo: 25MB.

Exemplo:  
```bash
curl -X POST "http://localhost:3000/api/v1/llm/speech/transcriptions?language=pt-BR" \
  -H "Transfer-Encoding: chunked" \
  -H "Content-Type: multipart/form-data" \
  --data-binary @audio.flac
```

**Formatos Suportados:** FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV, WebM

**Parâmetros de Consulta:**  
- `model` (opcional): Identificador do modelo de transcrição. Padrão é 'auto'.  
- `language` (opcional): Código de idioma ISO-639-1 ou BCP-47 (por exemplo, "pt-BR"). Detecta automaticamente se não especificado.  
- `prompt` (opcional): Parâmetro de prompt legado mantido para compatibilidade retroativa.  
- `temperature` (opcional): Parâmetro de temperatura legado mantido para compatibilidade retroativa.  
- `include_speaker_data` (opcional): Quando `true`, inclui dados de diarização do orador e requer entrada WAV/PCM. Caso contrário, a transcrição utiliza o caminho de compatibilidade padrão.

**Resposta:** Retorna o texto transcrito em formato JSON.



## OpenAPI

````yaml https://apigw.mka1.com/speakeasy.json?language=pt-BR post /api/v1/llm/speech/transcriptions
openapi: 3.1.1
info:
  title: MKA1 API
  version: 1.1.0
  description: >-
    A API MKA1 é uma API RESTful que fornece acesso à plataforma MKA1. Aprenda
    como começar a usar a API e o SDK TypeScript
    [aqui](https://mka1.apidocumentation.com/guides/getting-started).
  license:
    name: Proprietário
servers:
  - url: https://apigw.mka1.com
    description: MKA1 API Gateway
  - url: /
    description: Relative server URL (configurable via SDK constructor)
security: []
tags:
  - name: Resource Authorization
    description: >-
      Gerencie permissões para recursos LLM. Crie recursos, conceda/revoque
      permissões e exclua recursos. Apenas os proprietários dos recursos podem
      conceder, revogar ou excluir permissões.
    x-displayName: Autorização de Recurso
  - name: Embeddings
    description: >-
      Endpoints da API de incorporação de texto para gerar representações
      vetoriais de texto. Crie incorporações semânticas para busca, clustering e
      correspondência de similaridade usando vários modelos de incorporação.
    x-displayName: Incorporações
  - name: Feedback
    description: >-
      API de feedback do usuário para avaliar e comentar sobre as conclusões de
      chat. Coleta de classificações de positivo/negativo e feedback detalhado
      para melhorar as respostas do modelo e acompanhar a satisfação do usuário.
    x-displayName: Feedback
  - name: Images
    description: >-
      Pontos de extremidade da API de geração de imagens para criar imagens a
      partir de descrições de texto. Gere imagens com controle sobre tamanho,
      qualidade e estilo.
    x-displayName: Imagens
  - name: MCP Vault
    description: >-
      API do cofre MCP para armazenar configurações de servidor MCP de
      propriedade do usuário e credenciais criptografadas. Os agentes
      referenciam IDs de cofre para que os segredos sejam resolvidos apenas no
      momento da execução da ferramenta.
    x-displayName: Cofre MCP
  - name: Speech
    description: >-
      Pontos de extremidade da API de fala para processamento de áudio. Converta
      texto em fala com som natural (TTS) ou transcreva fala em texto (STT) em
      diferentes idiomas.
    x-displayName: Discurso
  - name: Usage
    description: >-
      API de rastreamento de uso e análise para monitoramento do consumo de
      tokens, contagem de solicitações e análise de custos. Veja estatísticas
      detalhadas por usuário, modelo e período de tempo.
    x-displayName: Uso
  - name: Extract
    description: >-
      API de extração de dados estruturados para extrair informações de
      arquivos. Defina esquemas JSON para extrair dados estruturados de imagens,
      PDFs e documentos. Suporta modelos de esquema reutilizáveis.
    x-displayName: Extração
  - name: Text Classification
    description: >-
      API de classificação de texto para categorizar textos em rótulos
      predefinidos. Use modelos de IA para classificar o conteúdo textual para
      análise de sentimento, categorização de tópicos e moderação de conteúdo.
    x-displayName: Classificação de Texto
  - name: Responses
    description: >-
      API de respostas com agentes para criar agentes de IA com uso autônomo de
      ferramentas. Crie assistentes conversacionais que podem usar pesquisa na
      web, operações de arquivos, geração de imagens, execução de código,
      simulação de uso de computador e integrações MCP. Suporta processamento em
      segundo plano, streaming e monitoramento de status em tempo real.
    x-displayName: Respostas
  - name: Files
    description: >-
      API de gerenciamento de arquivos para upload, armazenamento e
      gerenciamento de arquivos com expiração automática e integração com S3.
      Faça upload de arquivos que podem ser usados com Assistentes,
      Armazenamentos Vetoriais e outras funcionalidades. Os arquivos são
      armazenados no S3 com metadados rastreados no PostgreSQL. Suporta limpeza
      automática de arquivos expirados.
    x-displayName: Arquivos
  - name: Vector Stores
    description: >-
      API de armazenamento de vetores para armazenar e pesquisar documentos
      usando embeddings. Crie armazenamentos de vetores, faça upload de arquivos
      com divisão automática e geração de embeddings, e realize pesquisas
      semânticas. Os arquivos são processados de forma assíncrona usando fluxos
      de trabalho Temporais para durabilidade. Suporta limpeza automática de
      armazenamentos expirados e LanceDB para armazenamento eficiente de
      vetores.
    x-displayName: Armazenamentos de Vetores
  - name: Conversations
    description: >-
      API de gerenciamento de conversas para armazenar e recuperar o estado da
      conversa durante chamadas à API de Resposta. Crie conversas, adicione
      itens (mensagens do usuário, mensagens do assistente, mensagens do
      sistema) e mantenha o histórico da conversa. Suporta rastreamento de
      metadados e gerenciamento de estado de diálogo em múltiplas interações.
    x-displayName: Conversa
  - name: Guardrails
    description: >-
      API de diretrizes de segurança de IA para configurar moderação de conteúdo
      e políticas de segurança. Configure listas de palavras proibidas, detecção
      de injeção de prompts e prevenção de vazamento de prompts do sistema. As
      diretrizes aplicam-se a todas as solicitações de uma conta e podem ser
      testadas antes da implementação.
    x-displayName: Guarda-corpos
  - name: Models
    description: >-
      API de listagem de modelos para descobrir modelos disponíveis. Retorna IDs
      de modelos, propriedade e metadados de todos os modelos registrados no
      gateway.
    x-displayName: Modelos
  - name: Skills
    description: >-
      API de habilidades para gerenciar pacotes versionados de instruções e
      arquivos seguindo o padrão de Habilidades do Agente. Crie, versionar e
      baixe pacotes de habilidades reutilizáveis que incluam manifestos SKILL.md
      para ambientes de agentes.
    x-displayName: Habilidades
  - name: Chat Completions
    description: >-
      **Obsoleto: Use a API de Respostas (`/api/v1/llm/responses`) em vez
      disso.** Endpoints de conclusão de chat com suporte para streaming,
      chamadas de ferramentas e múltiplos provedores.
    x-deprecated: true
    x-displayName: Conclusões de Bate-Papo
  - name: Batches
    x-displayName: Lotes
  - name: Evals
    x-displayName: Avaliações
  - name: Fine-Tuning
    x-displayName: Ajuste Fino
  - name: Memory Stores
    x-displayName: Armazenamentos de Memória
  - name: Prompts
    x-displayName: Sugestões
  - name: API Key
    x-displayName: Chave da API
  - name: Organization
    x-displayName: Organização
  - name: Cluster Admin
    x-displayName: Administrador do cluster
  - name: Sessions
    description: Crie, inspecione, acesse e encerre sessões de sandbox.
    x-displayName: Sessões
  - name: Browser
    description: >-
      Conecte-se às sessões do navegador através do proxy da porta do gateway.
      As sessões do navegador expõem um endpoint do Chrome DevTools Protocol na
      porta 9222.
    x-displayName: Navegador
  - name: Execution
    description: >-
      Executar comandos shell e código dentro de uma sessão de sandbox
      existente.
    x-displayName: Execução
  - name: Workspace
    description: >-
      Inspecione o manifesto do espaço de trabalho, transfira arquivos ou
      arquivos compactados e baixe artefatos gerados.
    x-displayName: Espaço de trabalho
  - name: Sandbox Usage
    description: >-
      Agregue estatísticas de uso da sandbox entre sessões, execução e operações
      do espaço de trabalho.
    x-displayName: Uso do Sandbox
  - name: Sandbox Pricing
    description: >-
      Gerenciamento de cluster-admin da tabela de preços de computação da
      sandbox usada para gastos orçados.
    x-displayName: Preço da Sandbox
  - name: Agents
    description: Crie e gerencie definições de agentes reutilizáveis.
    x-displayName: Agentes
  - name: Agent Versions
    description: >-
      Inspecione o histórico de configuração de um agente e reverta para uma
      versão anterior.
    x-displayName: Versões do Agente
  - name: Agent Runs
    description: Execute agentes salvos e inspecione os resultados da execução persistidos.
    x-displayName: Executa Agente
  - name: Agent Schedules
    description: Crie e gerencie execuções de agentes salvos agendadas ou recorrentes.
    x-displayName: Agendas de Agentes
  - name: schema-4_other
    x-displayName: outro
  - name: Budgets
    x-displayName: Orçamentos
  - name: Settings
    x-displayName: Configurações
  - name: Deployments
    description: Servidores de inferência de longa duração.
    x-displayName: Implantações
  - name: Fine-Tune Jobs
    description: Enviar, monitorar e cancelar trabalhos de fine-tuning.
    x-displayName: Trabalhos de Ajuste Fino
  - name: Container Images
    description: Imagens de contêiner personalizadas para implantações e jobs.
    x-displayName: Imagens de contêineres
  - name: Serving Models
    description: Modelos registrados para implantação e ajuste fino.
    x-displayName: Servindo Modelos
  - name: Volumes
    description: Armazenamento persistente para pesos e checkpoints.
    x-displayName: Volumes
  - name: Secrets
    description: Credenciais injetadas em seus workloads.
    x-displayName: Segredos
  - name: Accelerators
    description: Tipos de aceleradores disponíveis (GPU, NPU, TPU).
    x-displayName: Aceleradores
paths:
  /api/v1/llm/speech/transcriptions:
    post:
      tags:
        - Speech
      summary: Transcrição de fala para texto
      description: >-
        Converta áudio em texto usando reconhecimento de fala avançado.


        **Upload de Arquivo Completo (Padrão)**  

        Use `Content-Type: multipart/form-data` para enviar o arquivo de áudio
        completo em uma única solicitação. Tamanho máximo do arquivo: 25MB.


        Exemplo:  

        ```bash

        curl -X POST
        "http://localhost:3000/api/v1/llm/speech/transcriptions?language=pt-BR"
        \
          -F "file=@audio.flac"
        ```


        **Upload em Fragmentos (Streaming)**  

        Use o cabeçalho `Transfer-Encoding: chunked` para transmitir dados de
        áudio em fragmentos enquanto estão sendo gravados. Não é necessário
        saber o tamanho total do arquivo com antecedência. O servidor armazena
        os fragmentos até que estejam completos antes de processar. Tamanho
        total máximo: 25MB.


        Exemplo:  

        ```bash

        curl -X POST
        "http://localhost:3000/api/v1/llm/speech/transcriptions?language=pt-BR"
        \
          -H "Transfer-Encoding: chunked" \
          -H "Content-Type: multipart/form-data" \
          --data-binary @audio.flac
        ```


        **Formatos Suportados:** FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV, WebM


        **Parâmetros de Consulta:**  

        - `model` (opcional): Identificador do modelo de transcrição. Padrão é
        'auto'.  

        - `language` (opcional): Código de idioma ISO-639-1 ou BCP-47 (por
        exemplo, "pt-BR"). Detecta automaticamente se não especificado.  

        - `prompt` (opcional): Parâmetro de prompt legado mantido para
        compatibilidade retroativa.  

        - `temperature` (opcional): Parâmetro de temperatura legado mantido para
        compatibilidade retroativa.  

        - `include_speaker_data` (opcional): Quando `true`, inclui dados de
        diarização do orador e requer entrada WAV/PCM. Caso contrário, a
        transcrição utiliza o caminho de compatibilidade padrão.


        **Resposta:** Retorna o texto transcrito em formato JSON.
      operationId: transcribe
      parameters:
        - name: model
          in: query
          schema:
            type: string
            default: auto
            description: >-
              Identificador do modelo de transcrição. O padrão é 'auto', que
              seleciona o melhor modelo disponível. Ignorado quando a diarização
              de falantes é solicitada.
            examples:
              - auto
          allowEmptyValue: true
          example: auto
        - name: language
          in: query
          schema:
            type: string
            description: >-
              O idioma do áudio de entrada no formato ISO-639-1 ou BCP-47 (por
              exemplo, 'pt' ou 'pt-BR'). Se não for especificado, o serviço de
              transcrição detecta automaticamente o idioma.
            examples:
              - en
          allowEmptyValue: true
          example: en
        - name: include_speaker_data
          in: query
          schema:
            type: boolean
            default: false
            description: >-
              Se deve incluir dados de segmentos de falantes. O padrão é falso.
              Quando verdadeiro, a resposta inclui um array de falantes dividido
              por falante detectado.
            examples:
              - true
          allowEmptyValue: true
          example: true
        - name: prompt
          in: query
          schema:
            type: string
            description: >-
              Parâmetro de prompt legado mantido para compatibilidade
              retroativa. Usado apenas pelo caminho de fallback para uploads que
              não são WAV.
            examples:
              - This is a technical podcast about machine learning.
          allowEmptyValue: true
          example: This is a technical podcast about machine learning.
        - name: temperature
          in: query
          schema:
            type: number
            minimum: 0
            maximum: 1
            description: >-
              Parâmetro de temperatura legado mantido para compatibilidade com
              versões anteriores. Usado apenas pelo caminho de fallback para
              uploads não WAV.
            examples:
              - 0.2
          allowEmptyValue: true
          example: 0.2
        - name: store
          in: query
          schema:
            type: boolean
            default: false
            description: >-
              Quando verdadeiro, persista esta transcrição (o áudio de entrada e
              o texto transcrito) no histórico de conversão de fala para texto.
              O padrão é falso.
            examples:
              - true
          allowEmptyValue: true
          example: true
        - name: X-On-Behalf-Of
          in: header
          required: false
          schema:
            type: string
          description: Optional external end-user identifier forwarded by the API gateway.
      requestBody:
        required: true
        content:
          multipart/form-data:
            example:
              file: (binary)
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: >-
                    Arquivo de áudio para transcrição.


                    **Requisitos do Arquivo:**

                    - Tamanho máximo: 25MB

                    - Formatos suportados: FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG,
                    WAV, WebM

                    - A diagramação de falantes atualmente requer entrada WAV /
                    PCM


                    **Opções de Upload:**

                    1. Padrão: Carregar arquivo completo usando
                    multipart/form-data

                    2. Em partes: Transmitir partes do arquivo usando o
                    cabeçalho Transfer-Encoding: chunked (útil para gravação em
                    tempo real)


                    **Nota:** Para uploads em partes, o servidor armazena em
                    buffer todas as partes antes do processamento. A transcrição
                    começa apenas após o recebimento do arquivo completo.
              required:
                - file
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TranscriptionResponse'
              example:
                text: Hello, this is a sample transcription of the audio file.
                language: en
                confidence: 0.95
                speakers:
                  - speaker: Speaker-1
                    text: Hello, this is a sample transcription of the audio file.
                    confidence: 0.95
                    offset_ms: 0
                    duration_ms: 2100
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: python
          label: Python (SDK)
          source: |-
            from meetkai_mka1 import SDK


            with SDK(
                bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
            ) as sdk:

                res = sdk.llm.speech.transcribe(file={
                    "file_name": "example.file",
                    "content": open("example.file", "rb"),
                }, model="auto", language="en", include_speaker_data=True, prompt="This is a technical podcast about machine learning.", temperature=0.2, store=True)

                # Handle response
                print(res)
        - lang: typescript
          label: Typescript (SDK)
          source: |-
            import { SDK } from "@meetkai/mka1";
            import { openAsBlob } from "node:fs";

            const sdk = new SDK({
              bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
            });

            async function run() {
              const result = await sdk.llm.speech.transcribe({
                language: "en",
                includeSpeakerData: true,
                prompt: "This is a technical podcast about machine learning.",
                temperature: 0.2,
                store: true,
                requestBody: {
                  file: await openAsBlob("example.file"),
                },
              });

              console.log(result);
            }

            run();
        - lang: csharp
          label: CSharp (SDK)
          source: |-
            using MeetKai.MKA1;
            using MeetKai.MKA1.Types.Components;
            using MeetKai.MKA1.Types.Requests;

            var sdk = new SDK(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");

            TranscribeRequest req = new TranscribeRequest() {
                Language = "en",
                IncludeSpeakerData = true,
                Prompt = "This is a technical podcast about machine learning.",
                Temperature = 0.2D,
                Store = true,
                Body = new TranscribeRequestBody() {
                    File = new TranscribeFile() {
                        FileName = "example.file",
                        Content = System.IO.File.ReadAllBytes("example.file"),
                    },
                },
            };

            var res = await sdk.Llm.Speech.TranscribeAsync(req);

            // handle response
components:
  schemas:
    TranscriptionResponse:
      type: object
      properties:
        text:
          type: string
          description: O texto transcrito do arquivo de áudio
        language:
          type: string
          description: >-
            O código de idioma detectado ou especificado no formato ISO-639-1
            (por exemplo, 'en', 'es', 'fr')
        confidence:
          type: number
          description: >-
            Pontuação de confiança de 0 a 1, onde 1 indica a maior confiança na
            precisão da transcrição.
        speakers:
          type: array
          items:
            $ref: '#/components/schemas/SpeakerSegment'
          description: >-
            Segmentos de diarização de falantes, retornados apenas quando
            include_speaker_data é verdadeiro.
      required:
        - text
      description: >-
        Resposta do endpoint de transcrição contendo o texto transcrito, idioma
        detectado, pontuação de confiança e segmentos de falantes opcionais.
      examples:
        - text: Hello, this is a sample transcription of the audio file.
          language: en
          confidence: 0.95
          speakers:
            - speaker: Speaker-1
              text: Hello, this is a sample transcription of the audio file.
              confidence: 0.95
              offset_ms: 0
              duration_ms: 2100
    SpeakerSegment:
      type: object
      properties:
        speaker:
          type: string
          description: >-
            Identificador de locutor detectado para este segmento, por exemplo
            'Locutor-1'.
        text:
          type: string
          description: O texto transcrito para este segmento do orador.
        confidence:
          type: number
          description: Pontuação de confiança de 0 a 1 para este segmento.
        offset_ms:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: Início do deslocamento do segmento em milissegundos.
        duration_ms:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: Duração do segmento em milissegundos.
      required:
        - speaker
        - text
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Gateway auth: send `Authorization: Bearer <mka1-api-key>`. For
        multi-user server-side integrations, you can also send `X-On-Behalf-Of:
        <external-user-id>`.

````