HiAPI
Blogue

Tutorial

HiAPI invalid_request: como corrigir o uso incorreto da interface do modelo?

Verifique o ID do modelo, os endpoints suportados e o corpo da requisição, diferencie erros de endpoint, parâmetros e chave, com código de diagnóstico somente leitura.

Oct 25, 2026
HiAPI invalid_request: como corrigir o uso incorreto da interface do modelo?

TL;DR

invalid_request é um erro de classe de requisição. A escolha errada do endpoint é um possível motivo, mas também é preciso verificar o corpo da requisição e o ID do modelo junto com a mensagem de erro. Primeiro confirme os endpoints suportados pelo modelo e depois organize os campos conforme esse endpoint.

Antes de executar o exemplo em Python, rode python -m pip install requests no mesmo ambiente Python.

Como escolher entre os três endpoints

A HiAPI tem três endpoints de geração comumente usados, listados abaixo; para saber quais endpoints um modelo individual suporta, consulte a página do modelo e o catálogo público de modelos.

Endpoint Destaques do corpo da requisição Uso
/v1/tasks model + input Tarefas de imagem, vídeo e áudio
/v1/chat/completions model + messages Modelos que suportam o protocolo de chat
/v1/responses model + input Modelos que suportam Responses

Os valores task, openai e openai-response em supported_endpoint_types correspondem respectivamente aos três endpoints acima. O catálogo também pode conter outros tipos de protocolo; ao encontrar um tipo não listado, abra a documentação de integração desse modelo.

Verificação somente leitura dos endpoints suportados pelo modelo

Defina HIAPI_MODEL com o ID completo do modelo exibido na página do modelo e execute o script abaixo. Ele apenas lê o catálogo público e não envia tarefas de geração.

import os
import requests

model_id = os.environ["HIAPI_MODEL"]
response = requests.get("https://api.hiapi.ai/api/pricing", timeout=30)
response.raise_for_status()
models = response.json()["data"]
model = next((m for m in models if m.get("model_name") == model_id), None)
if model is None:
    raise SystemExit("Model not present in the public catalog; check its exact model ID")
print("model:", model["model_name"])
print("supported_endpoint_types:", model.get("supported_endpoint_types", []))

Quatro passos para corrigir a requisição

  1. Verifique o domínio e o caminho da requisição real e confirme que a Base URL não tem /v1 concatenado duas vezes.
  2. Compare com o ID completo e os endpoints suportados na página do modelo; o nome de exibição não substitui diretamente o model ID da API.
  3. Ajuste o corpo da requisição de acordo: os messages do chat não podem ser copiados como estão para a interface de tarefas; os parâmetros da tarefa devem ficar dentro de input.
  4. Releia o status HTTP retornado e os campos de erro; se ainda falhar, guarde o request ID, o model ID, o caminho do endpoint e o corpo da requisição com dados sensíveis removidos.

Diferenciar erros de endpoint, parâmetros e chave

Sintoma Próximo passo
400, indicando requisição inválida Verifique o endpoint, o JSON, os campos obrigatórios e os tipos de campo
Indicação explícita de que o protocolo atual não é suportado Use um endpoint que o modelo declara suportar
401, chave inválida ou ausente Verifique o cabeçalho Bearer e as variáveis de ambiente em tempo de execução
A interface de tarefas retorna MODEL_UNAVAILABLE Verifique o model ID, o status de disponibilidade e a permissão de acesso da conta

A resposta de recusa da interface de tarefas pode incluir um error_code no nível superior; outros endpoints podem usar error.code. Não use apenas um campo para julgar todos os erros.

Perguntas frequentes

invalid_request é sempre endpoint escolhido errado?

Não necessariamente. Campos da requisição, JSON ou falta de itens obrigatórios também podem fazer a requisição ser rejeitada. Leia primeiro a message e depois verifique o endpoint.

Basta mudar a URL para corrigir?

Ainda é preciso ajustar o corpo da requisição conforme o endpoint correspondente. A estrutura de messages e de input na interface de tarefas é diferente.

O que fazer se o modelo não estiver no catálogo público?

Confira o ID completo, a página do modelo e o escopo visível da conta; não substitua automaticamente por um modelo de nome parecido.

Este código de verificação gera conteúdo?

Não. O código apenas lê o catálogo público; o fluxo de tarefas só começa quando uma requisição de geração é realmente enviada.

Continuar a investigação

Artigos relacionados

Ver todos os artigos →

Comece a criar com artefactos de IA persistentes

Obtenha a sua chave de API e chame modelos de imagem, vídeo e áudio através de uma única API baseada em tasks.

Ler a documentação da API