> ## 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.

# Extrair dados estruturados com JSON Schema embutido

> Extrai dados estruturados de arquivos usando um esquema JSON inline personalizado.



## OpenAPI

````yaml https://apigw.mka1.com/speakeasy.json?language=pt-BR post /api/v1/llm/extract
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 Connectors
    description: >-
      Conecte agentes salvos a canais de mensagens externos, como o Telegram,
      incluindo troca de texto, foto e documentos compatíveis.
    x-displayName: Conectores de 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: Compute Jobs
    x-displayName: Jobs de Computação
  - name: Compute Services
    x-displayName: Serviços de Computação
  - name: Compute Catalog
    x-displayName: Catálogo de Computação
  - name: Compute Secrets
    x-displayName: Calcular Segredos
  - name: Compute Usage
    x-displayName: Uso de Computação
  - name: Compute Tenants
    x-displayName: Calcular Inquilinos
  - description: Criar, listar, ler, atualizar e excluir repositórios.
    name: Repositories
    x-displayName: Repositórios
paths:
  /api/v1/llm/extract:
    post:
      tags:
        - Extract
      summary: Extrair dados estruturados com JSON Schema embutido
      description: >-
        Extrai dados estruturados de arquivos usando um esquema JSON inline
        personalizado.
      operationId: extract
      parameters:
        - 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:
              model: meetkai:functionary-urdu-mini-pak
              schema:
                type: object
                properties:
                  invoice_number:
                    type: string
                  vendor_name:
                    type: string
                  total_amount:
                    type: number
                  date:
                    type: string
                    format: date
                required:
                  - invoice_number
                  - total_amount
              prompt: >-
                Extract invoice number, vendor, total, and date from this
                invoice.
              file: (binary)
            schema:
              type: object
              properties:
                model:
                  type: string
                  description: ID do modelo a ser usado para extração
                schema:
                  type: string
                  description: >-
                    Objeto JSON Schema ou string JSON definindo a estrutura dos
                    dados a serem extraídos
                metadata:
                  type: string
                  description: Metadados opcionais como objeto JSON ou string JSON
                file:
                  type: string
                  format: binary
                  description: O arquivo para extrair dados estruturados de
                prompt:
                  type: string
                  description: Prompt personalizado opcional para guiar a extração
              required:
                - model
                - schema
                - file
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractionResponse'
              example:
                success: true
                data:
                  invoice_number: INV-2024-001
                  vendor_name: Acme Corporation
                  total_amount: 1250
                  date: '2024-01-15'
                metadata:
                  model: meetkai:functionary-urdu-mini-pak
                  filename: invoice.pdf
                  fileSize: 125000
                  extractedAt: '2024-01-15T10:30:00Z'
      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.extract.extract(model="meetkai:functionary-urdu-mini-pak", schema="[object Object]", file={
                    "file_name": "example.file",
                    "content": open("example.file", "rb"),
                }, prompt="Extract invoice number, vendor, total, and date from this invoice.")

                # 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.extract.extract({
                requestBody: {
                  model: "meetkai:functionary-urdu-mini-pak",
                  schema: "[object Object]",
                  file: await openAsBlob("example.file"),
                  prompt: "Extract invoice number, vendor, total, and date from this invoice.",
                },
              });

              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>");


            var res = await sdk.Llm.Extract.ExtractAsync(body: new
            ExtractRequestBody() {
                Model = "meetkai:functionary-urdu-mini-pak",
                Schema = "[object Object]",
                File = new ExtractFile() {
                    FileName = "example.file",
                    Content = System.IO.File.ReadAllBytes("example.file"),
                },
                Prompt = "Extract invoice number, vendor, total, and date from this invoice.",
            });


            // handle response
components:
  schemas:
    ExtractionResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Indica se a solicitação de extração foi bem-sucedida.
        data:
          description: >-
            Os dados estruturados extraídos estão em conformidade com o esquema
            JSON fornecido. Este é o resultado da análise do arquivo e da
            extração de informações de acordo com a definição do esquema.
        metadata:
          type: object
          properties:
            model:
              type: string
              description: O modelo que foi usado para realizar a extração
            filename:
              type: string
              description: O nome do arquivo que foi processado
            fileSize:
              type: number
              description: O tamanho do arquivo processado em bytes
            extractedAt:
              type: string
              description: >-
                Carimbo de data/hora ISO 8601 indicando quando a extração foi
                realizada
            schemaId:
              type: string
              description: >-
                O ID do esquema de extração que foi usado (presente apenas ao
                usar um esquema salvo)
            schemaName:
              type: string
              description: >-
                O nome do esquema de extração que foi usado (apenas presente ao
                usar um esquema salvo)
          required:
            - model
            - filename
            - fileSize
            - extractedAt
          description: Metadados sobre a solicitação e execução da extração
      required:
        - success
        - metadata
      description: >-
        Resposta do ponto de extração contendo os dados estruturados extraídos e
        os metadados sobre o processo de extração.
      examples:
        - success: true
          data:
            invoice_number: INV-2024-001
            vendor_name: Acme Corporation
            total_amount: 1250
            date: '2024-01-15'
          metadata:
            model: meetkai:functionary-urdu-mini-pak
            filename: invoice.pdf
            fileSize: 125000
            extractedAt: '2024-01-15T10:30:00Z'
  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>`.

````