Saltar para o conteúdo principal
POST
/
v1
/
responses
curl https://api.apimart.ai/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{
    "model": "gpt-5",
    "input": [
      {
        "role": "user",
        "content": [
          {
            "type": "input_text",
            "text": "What is in this image?"
          },
          {
            "type": "input_image",
            "image_url": "https://openai-documentation.vercel.app/images/cat_and_otter.png"
          }
        ]
      }
    ]
  }'
{
  "code": 200,
  "data": {
    "id": "resp-9876543210",
    "object": "response",
    "created": 1677652288,
    "model": "gpt-5",
    "choices": [
      {
        "index": 0,
        "message": {
          "role": "assistant",
          "content": "This image shows a cat and an otter. They appear to be interacting with each other in a very cute and heartwarming scene. The cat and otter seem to be getting along well."
        },
        "finish_reason": "stop"
      }
    ],
    "usage": {
      "prompt_tokens": 156,
      "completion_tokens": 45,
      "total_tokens": 201
    }
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt

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

curl https://api.apimart.ai/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{
    "model": "gpt-5",
    "input": [
      {
        "role": "user",
        "content": [
          {
            "type": "input_text",
            "text": "What is in this image?"
          },
          {
            "type": "input_image",
            "image_url": "https://openai-documentation.vercel.app/images/cat_and_otter.png"
          }
        ]
      }
    ]
  }'
{
  "code": 200,
  "data": {
    "id": "resp-9876543210",
    "object": "response",
    "created": 1677652288,
    "model": "gpt-5",
    "choices": [
      {
        "index": 0,
        "message": {
          "role": "assistant",
          "content": "This image shows a cat and an otter. They appear to be interacting with each other in a very cute and heartwarming scene. The cat and otter seem to be getting along well."
        },
        "finish_reason": "stop"
      }
    ],
    "usage": {
      "prompt_tokens": 156,
      "completion_tokens": 45,
      "total_tokens": 201
    }
  }
}

Autorizações

Authorization
string
obrigatório
##Todas as APIs exigem autenticação por Bearer Token##Obtenha sua chave de API:Acesse a página de gerenciamento de chaves de API para obter sua chave de APIAdicione-a ao cabeçalho da requisição:
Authorization: Bearer YOUR_API_KEY

Body

model
string
padrão:"gpt-5"
obrigatório
Nome do modeloOs modelos suportados incluem:
  • gpt-5 - modelo multimodal mais recente da OpenAI
  • GPT-4o-image - modelo multimodal GPT-4 otimizado
  • gpt-4-vision - modelo GPT-4 de compreensão visual
  • Mais modelos em breve…
input
array
obrigatório
Lista de conteúdos de entradaArray de entrada; cada item contém os campos role e content.💡 Preenchimento rápido (área Try it):
  1. Clique em ”+ Add an item” para adicionar um item de entrada
  2. Em role, informe: user (mensagem do usuário), assistant (resposta da IA) ou system (prompt do sistema)
  3. Em content, adicione blocos de conteúdo (pode incluir texto e imagens)
temperature
number
Controla a aleatoriedade da saída, faixa 0–2
  • Valores mais baixos (por exemplo, 0.2) tornam a saída mais determinística
  • Valores mais altos (por exemplo, 1.8) tornam a saída mais aleatória
Padrão: 1.0
max_tokens
integer
Número máximo de tokens a serem geradosModelos diferentes possuem limites máximos distintos; consulte a documentação de cada modelo
stream
boolean
Se deve usar saída em streaming
  • true: resposta em streaming (formato SSE)
  • false: retorna a resposta completa de uma só vez
Padrão: false
top_p
number
Parâmetro de amostragem por núcleo (nucleus sampling), faixa 0–1Controla a diversidade do texto gerado; recomenda-se usar este parâmetro ou temperature, não ambosPadrão: 1.0
tools
array
Lista de ferramentas para estender as capacidades do modeloTipos de ferramentas suportadas:
  • Web Search (web_search): pesquisa em tempo real na internet
  • File Search (file_search): pesquisa no conteúdo de arquivos enviados
  • Function Calling (function): chamada de funções personalizadas
  • Remote MCP (remote_mcp): conexão a serviços remotos do Model Context Protocol
Exemplo: [{"type": "web_search"}]

Resposta

id
string
Identificador único da resposta
object
string
Tipo do objeto, fixado em response
created
integer
Timestamp de criação
model
string
Nome do modelo efetivamente utilizado
choices
array
Lista de respostas geradas
usage
object
Estatísticas de uso de tokens

Exemplos de uso

Entrada apenas de texto

{
  "model": "gpt-5",
  "input": [
    {
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "Hello, introduce artificial intelligence"
        }
      ]
    }
  ]
}
{
  "model": "gpt-5",
  "tools": [{"type": "web_search"}],
  "input": "What positive news is there today?"
}
cURL Example
curl "https://api.apimart.ai/v1/responses" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <token>" \
    -d '{
        "model": "gpt-5",
        "tools": [{"type": "web_search"}],
        "input": "What positive news is there today?"
    }'

Compreensão de imagem

{
  "model": "gpt-5",
  "input": [
    {
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "Describe this image"
        },
        {
          "type": "input_image",
          "image_url": "https://example.com/image.jpg"
        }
      ]
    }
  ]
}

Análise de múltiplas imagens

{
  "model": "gpt-5",
  "input": [
    {
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "Compare the similarities and differences of these two images"
        },
        {
          "type": "input_image",
          "image_url": "https://example.com/image1.jpg"
        },
        {
          "type": "input_image",
          "image_url": "https://example.com/image2.jpg"
        }
      ]
    }
  ]
}

Imagem codificada em Base64

{
  "model": "gpt-5",
  "input": [
    {
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "Analyze this image"
        },
        {
          "type": "input_image",
          "image_url": "data:image/jpeg;base64,/9j/4AAQSkZJRg..."
        }
      ]
    }
  ]
}
{
  "model": "gpt-5",
  "tools": [{"type": "file_search"}],
  "input": "Based on uploaded documents, summarize the company's quarterly performance"
}

Usando Function Calling

{
  "model": "gpt-5",
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Get weather information for a specified city",
        "parameters": {
          "type": "object",
          "properties": {
            "city": {
              "type": "string",
              "description": "City name, e.g.: Beijing"
            },
            "unit": {
              "type": "string",
              "enum": ["celsius", "fahrenheit"],
              "description": "Temperature unit"
            }
          },
          "required": ["city"]
        }
      }
    }
  ],
  "input": "What's the weather like in Beijing today?"
}

Usando MCP remoto

{
  "model": "gpt-5",
  "tools": [
    {
      "type": "remote_mcp",
      "remote_mcp": {
        "url": "https://mcp.example.com/api",
        "auth_token": "your_mcp_token"
      }
    }
  ],
  "input": "Query user information in the database"
}

Combinando múltiplas ferramentas

{
  "model": "gpt-5",
  "tools": [
    {"type": "web_search"},
    {"type": "file_search"},
    {
      "type": "function",
      "function": {
        "name": "calculate",
        "description": "Perform mathematical calculations",
        "parameters": {
          "type": "object",
          "properties": {
            "expression": {
              "type": "string",
              "description": "Mathematical expression"
            }
          },
          "required": ["expression"]
        }
      }
    }
  ],
  "input": "Search for the latest Bitcoin price and calculate the total value of 100 Bitcoins"
}

Especificações dos tipos de conteúdo

input_text

Tipo de entrada de texto Propriedades:
  • type: fixado em "input_text"
  • text: conteúdo de texto (string)

input_image

Tipo de entrada de imagem Propriedades:
  • type: fixado em "input_image"
  • image_url: URL da imagem ou Data URI codificado em Base64
Formatos de imagem suportados:
  • JPEG
  • PNG
  • GIF
  • WebP
Limites de tamanho da imagem:
  • Tamanho máximo do arquivo: 20 MB
  • Recomendação de aspect_ratio: não exceder 2048x2048 pixels

Detalhes de uso das ferramentas

A ferramenta de pesquisa na web permite que o modelo acesse informações em tempo real na internet. Exemplo de configuração:
{
  "tools": [{"type": "web_search"}]
}
Casos de uso:
  • Consultar notícias e eventos mais recentes
  • Obter dados em tempo real (ações, clima, taxas de câmbio, etc.)
  • Pesquisar a documentação técnica mais recente
  • Verificar informações factuais
A ferramenta de pesquisa em arquivos permite que o modelo procure informações relevantes em documentos enviados. Exemplo de configuração:
{
  "tools": [{"type": "file_search"}]
}
Casos de uso:
  • Analisar documentos internos corporativos
  • Pesquisar especificações técnicas e manuais
  • Consultar contratos e documentos jurídicos
  • Sistemas de perguntas e respostas em bases de conhecimento

Function Calling

Defina funções personalizadas para permitir que o modelo chame APIs externas ou execute operações específicas. Exemplo completo de configuração:
{
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_stock_price",
        "description": "Get real-time stock price",
        "parameters": {
          "type": "object",
          "properties": {
            "symbol": {
              "type": "string",
              "description": "Stock symbol, e.g.: AAPL"
            },
            "currency": {
              "type": "string",
              "enum": ["USD", "CNY"],
              "description": "Currency unit",
              "default": "USD"
            }
          },
          "required": ["symbol"]
        }
      }
    }
  ]
}
Descrições dos parâmetros:
  • name: nome da função (obrigatório)
  • description: descrição da função (obrigatória)
  • parameters: definição dos parâmetros no formato JSON Schema
    • type: tipo do parâmetro
    • properties: definições das propriedades dos parâmetros
    • required: lista de parâmetros obrigatórios
Casos de uso:
  • Chamar APIs de terceiros
  • Executar consultas em banco de dados
  • Disparar processos de negócio
  • Integrar com sistemas internos

Remote MCP

Conecte-se a serviços remotos do Model Context Protocol (MCP) para estender as capacidades do modelo. Exemplo de configuração:
{
  "tools": [
    {
      "type": "remote_mcp",
      "remote_mcp": {
        "url": "https://your-mcp-server.com/api",
        "auth_token": "your_auth_token",
        "timeout": 30
      }
    }
  ]
}
Descrições dos parâmetros:
  • url: endereço do servidor MCP (obrigatório)
  • auth_token: token de autenticação (opcional)
  • timeout: timeout em segundos, padrão 30 segundos
Casos de uso:
  • Conectar-se a serviços de IA de nível empresarial
  • Usar modelos específicos de domínio
  • Acessar fontes de dados protegidas
  • Integração de sistemas de IA distribuídos

Formato de resposta de ferramentas

Quando o modelo usa ferramentas, o formato da resposta incluirá informações da chamada de ferramenta:
{
  "id": "resp-123456",
  "object": "response",
  "created": 1677652288,
  "model": "gpt-5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": null,
        "tool_calls": [
          {
            "id": "call_abc123",
            "type": "function",
            "function": {
              "name": "get_weather",
              "arguments": "{\"city\": \"Beijing\"}"
            }
          }
        ]
      },
      "finish_reason": "tool_calls"
    }
  ]
}
Fluxo de chamada de ferramentas:
  1. O modelo recebe a entrada do usuário
  2. Analisa se as ferramentas são necessárias
  3. Se necessário, retorna uma solicitação de chamada de ferramenta
  4. O cliente executa a chamada da ferramenta
  5. Retorna os resultados da ferramenta ao modelo
  6. O modelo gera a resposta final

Observações importantes

  1. Requisitos para URLs de imagens:
    • Deve ser uma URL acessível publicamente
    • Ou usar o formato Data URI codificado em Base64
  2. Cobrança de tokens:
    • As imagens consomem tokens com base em seu aspect_ratio
    • Imagens de alto aspect_ratio são automaticamente redimensionadas para otimizar custos
    • As chamadas de ferramentas também consomem tokens adicionais
  3. Ordem do conteúdo:
    • A ordem dos elementos no array content afeta a compreensão do modelo
    • Recomenda-se colocar as instruções de texto primeiro e depois as imagens
  4. Combinações multimodais:
    • Você pode misturar vários textos e imagens em uma única requisição
    • Suporta conversas em múltiplas rodadas com coerência de contexto
  5. Limitações de uso das ferramentas:
    • Ao usar várias ferramentas simultaneamente, o modelo seleciona inteligentemente a mais apropriada
    • O function calling requer definições claras de funções e descrições de parâmetros
    • Os resultados da pesquisa na web podem ser limitados por região e tempo
  6. Compatibilidade com a API:
    • Totalmente compatível com o formato da API OpenAI Responses
    • Migre seu código OpenAI existente de forma transparente
    • Suporta todos os recursos de extensão de ferramentas da OpenAI