Modelos
A lista de modelos da GetVibe API e como endereçar modelos no campo model. Variantes de rota por meio dos sufixos :network, :nexus, :sub5 — rota, preço e comportamento de cache diferentes.
O campo model recebe o nome exato do modelo. A lista completa, com preços e suporte a cache, está na página do catálogo.
- Os IDs usam
vendor/model(no estilo do OpenRouter), por exemplo,anthropic/claude-opus-5;claude-opus-5é aceito como um alias de entrada com cobrança idêntica. model:aliasfixa um canal, por exemplo,openai/gpt-5.6-sol:yellow.GET /v1/modelslista um ID por modelo;?variants=1retorna a lista completa.
Como uma solicitação é cobrada
A maioria dos canais são livros de marketplace: vários vendedores oferecem o mesmo modelo a preços diferentes. Sua solicitação é atendida pela oferta mais barata que a aceitar, e você paga o custo desse atendimento mais nossa comissão. Portanto, a tarifa por token é um intervalo, não um número único: ela depende de qual nível do livro foi preenchido.
GET /api/catalog e GET /v1/pricing publicam esse intervalo por modelo (pricing) e por canal (channels[]), lido da mesma escada GET /api/model-ladder?model=<model> que disponibiliza com suas contagens de ofertas.
| Parâmetro | Tipo | Descrição |
|---|---|---|
basis | "fill" | "fixed" | "mixed" | "fill": cobrado no degrau que preencher, mais a comissão. "fixed": cobrado na tarifa listada (from = typical = to). "mixed" (somente no nível do modelo): alguns canais de cada tipo. |
priceFrom | {input, output} | O nível mais barato: a menor tarifa pela qual uma solicitação pode ser cobrada. |
priceTypical | {input, output} | O nível mediano ponderado pelas ofertas: metade das ofertas do livro está nele ou abaixo dele. Ele descreve onde a oferta está concentrada, não uma previsão do seu próximo preenchimento. No nível do modelo, ele é o do canal padrão. |
priceTo | {input, output} | O nível mais caro do livro de ofertas: o máximo que uma solicitação sem max_price pode ser cobrada. |
pool | string | null | Apenas por canal. O livro do qual o canal compra, conforme impresso pela ladder. Cada pool é publicado exatamente como um canal. |
maxPriceCeiling | {input, output} | null | Apenas por canal. Quando uma solicitação contém max_price, este canal não será preenchido acima do menor valor entre max_price e este limite. Sem max_price, nenhum limite será enviado. |
minChargePerRequest | number | USD por REQUEST, não por 1M. Presente apenas em um canal cujo fornecedor cobra um mínimo por solicitação (regra do fornecedor): pelo menos uma solicitação bem-sucedida é cobrada, por exemplo, $0.0000143. Uma solicitação cujos tokens custariam menos — uma solicitação curta ou uma que seja composta principalmente por leituras do cache — é cobrada nesse valor. No nível do modelo (nullable), é o valor padrão do canal padrão. |
fill | {"24h", "7d"} | null | Apenas por canal (e em cada pool atendido de /api/model-ladder). Onde nossas solicitações pagas neste canal foram efetivamente preenchidas: por nível, a participação das solicitações e dos tokens; avgPrice, o preço médio pago ponderado por token — o preço típico que você realmente pagará; e as participações preenchidas abaixo ou acima da ladder de hoje (os livros mudam) ou cobradas pelo mínimo por solicitação. null para uma janela com menos de 20 solicitações. |
ladder | string | Somente o modelo. A URL /api/model-ladder com a lista completa de níveis e a contagem de ofertas. |
inputUsd / outputUsd | number | Mantido por compatibilidade. Em um canal fill, eles são iguais a priceFrom: o valor mínimo, não um preço fixo. |
"pricing": {
"basis": "fill",
"unit": "USD per 1M tokens",
"priceFrom": { "input": 0.465, "output": 2.325 },
"priceTypical": { "input": 0.5, "output": 2.5 },
"priceTo": { "input": 1.5, "output": 7.5 },
"minChargePerRequest": 0.0000125,
"ladder": "/api/model-ladder?model=claude-opus-5.5",
"ladderUpdatedAt": "2026-09-25T08:45:01.522Z",
"ladderStale": false
},
"channels": [
{ "address": "claude-opus-5.5:claude-code", "isDefault": true,
"inputUsd": 0.465, "outputUsd": 2.325,
"basis": "fill", "pool": "cc/claude-opus-5-5",
"priceFrom": { "input": 0.465, "output": 2.325 },
"priceTypical": { "input": 0.5, "output": 2.5 },
"priceTo": { "input": 1.5, "output": 7.5 },
"maxPriceCeiling": { "input": 0.6, "output": 3 },
"minChargePerRequest": 0.0000125 }
]claude-code: uma solicitação é atendida pelo degrau que a aceitar, entre priceFrom e priceTo. Para limitar quanto uma solicitação pode custar, envie max_price — sem ele, qualquer degrau da escada pode ser usado; com ele, a solicitação nunca será atendida acima do seu teto. Para ver a profundidade por trás de um preço, leia a escada; para ver onde as solicitações realmente são atendidas, leia seu fill. Cada solicitação em /v1/generations inclui cost_detail.realisedRate, o preço por 1M pelo qual foi cobrada, para que você possa posicioná-la na escada. Toda solicitação bem-sucedida custa pelo menos o minChargePerRequest do canal, portanto uma solicitação muito pequena ou predominantemente armazenada em cache é cobrada por esse mínimo, e não pelo valor por token.Variantes de um modelo
A maioria dos modelos tem várias variantes públicas. A variante padrão é escolhida automaticamente (a prioridade segue as configurações da sua conta ou chave). Para fixar uma variante específica em uma solicitação, adicione o alias dela após dois-pontos ao nome do modelo:
"model": "gpt-6.1-sol" // default variant (auto)
"model": "gpt-6.1-sol:yellow" // explicit public variant
"model": "claude-opus-5.5" // use an id from the catalogExemplo de solicitação com uma variante explícita:
curl https://getvibeapi.com/v1/chat/completions \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4.8:yellow",
"messages": [{"role": "user", "content": "Hello!"}]
}'
# :yellow — pin a public variant for this requestAliases de variantes
Use apenas aliases do catálogo. Sufixos disponíveis:
| Parâmetro | Tipo | Descrição |
|---|---|---|
:yellow | suffix | Variante pública; a disponibilidade e o preço dependem do modelo. |
:codex / :claude-code | suffix | Pools de assinatura; os modelos atendidos por cada um estão listados no catálogo. |
:pixel | suffix | Variante pública para modelos de mídia. |
Liste modelos pela API
Você pode obter programaticamente a lista completa de ids de modelos disponíveis:
curl https://getvibeapi.com/v1/models \
-H "Authorization: Bearer $GETVIBE_API_KEY"Além de id/object/created/owned_by, cada entrada contém type (chat, embedding, rerank, image, video, audio, music, 3d), architecture.input_modalities / output_modalities e endpoints — para onde enviar uma solicitação para esse modelo.
- A lista padrão contém apenas modelos de chat, embedding e rerank, para que um seletor de modelos de IDE nunca ofereça um modelo que não possa conversar.
- Os modelos de mídia (imagem, vídeo, áudio, música, 3D) são listados mediante solicitação:
?type=image(ou uma lista:?type=image,video),?output_modalities=image;?modality=e?category=são sinônimos detype. - Tudo de uma vez:
?all=true,?type=allouGET /v1/models/all. A mídia é listada junto com suas variantes (model:alias), exatamente o id a ser enviado. GET /v1/models/{id}retorna um modelo; um ID desconhecido resulta em 404 comcode: "model_not_found".
curl "https://getvibeapi.com/v1/models?type=image,video" \
-H "Authorization: Bearer $GETVIBE_API_KEY"Assine as atualizações do catálogo (RSS e JSON Feed)
Cada modelo adicionado ao catálogo e nossas publicações de novidades são publicados em um feed aberto — sem necessidade de chave. Leia-o em um leitor de RSS ou por meio de um agente, para que ele possa mudar sua abordagem conforme os modelos mudam. O feed contém todo o histórico, página por página, e cada evento traz o que um agente precisa para chamar o modelo imediatamente.
/rss.xml(alias/feed.xml) é RSS 2.0;/feed.jsoné JSON Feed 1.1 com um bloco_metano nível do feed e um bloco_catalogpor evento.- Páginas: 50 eventos cada,
?limit=até 100, dos mais recentes para os mais antigos. A próxima página (mais antiga) énext_urlno JSON Feed e<atom:link rel="next">no RSS (RFC 5005, também comrel="first"erel="previous"). Os links contêm um cursor, de modo que um modelo publicado enquanto você percorre as páginas nunca desloca um evento que você já leu. Use os links conforme retornados. - Filtros:
?kind=text|image|video|audio|music|3d|newse?since=YYYY-MM-DD— somente eventos a partir desse dia em UTC, inclusive. Os filtros funcionam em conjunto com a paginação e são mantidos nos links. - Um evento
model_addedtraz o título, a data em que o modelo apareceu no catálogo, um link para a página do modelo, uma descrição e, em_catalog: os ids públicos para enviar comomodel(sem as formas de rota:aliase sem nomes de fornecedores), os endpoints, as modalidades de entrada e saída, a janela de contexto e o limite máximo de saída, os recursos (ferramentas, JSON / saída estruturada, visão, raciocínio e seus níveis, cache), o preço inicial público em USD com sua unidade, para mídia cada parâmetro de requisição com seus valores permitidos, uma requisição pronta (curle JSON) e um link para a documentação. Um eventonewsé uma publicação de novidades. - O
guidde um evento nunca muda. O feed não contém resultados de geração registrados, apenas uma solicitação de exemplo. - Consulte no máximo a cada poucos minutos: cada página tem seus próprios
ETageLast-Modified; envieIf-None-Match/If-Modified-Sincee uma página sem alterações responde304sem corpo. Para buscar apenas as novidades, guarde a data do último evento que você processou e faça uma requisição a?since=com essa data.
curl -sS "https://getvibeapi.com/feed.json?since=2026-10-01&limit=100"
curl -sS -i https://getvibeapi.com/feed.json -H 'If-None-Match: "<ETag from the previous response>"' # -> 304