Cut.ProDocs

Converse com LLMs e gere embeddings

Chat Completions e embeddings no formato da OpenAI, para todos os modelos de texto do catálogo, cobrados por token.

POST /chat/completions e POST /embeddings seguem o formato da OpenAI, então qualquer SDK da OpenAI funciona: troque a URL base para https://api.cut.pro/api/v1 e use a sua chave. O model é um id com endpoint: chat_completions ou embeddings de GET /models.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.cut.pro/api/v1", apiKey: process.env.CUTPRO_API_KEY });

const answer = await client.chat.completions.create({
	model: "anthropic/claude-sonnet-5-5",
	messages: [{ role: "user", content: "Escreva três títulos para um vídeo sobre café." }],
});
curl -X POST https://api.cut.pro/api/v1/chat/completions \
  -H "X-Api-Key: $CUTPRO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "model": "deepseek/deepseek-v4.1-flash", "messages": [{ "role": "user", "content": "Oi!" }], "stream": true }'
  • Streaming: com stream: true, a resposta vem em server-sent events, como na OpenAI.
  • Esforço de raciocínio: reasoning_effort (low, medium, high) ou reasoning: { effort }, nos modelos que listam esse campo em supported_parameters.
  • Tools, imagens e saída estruturada: tools, partes image_url nas mensagens e response_format vão como você mandar, onde o modelo aceita.
  • Custo: por token lido e escrito, nos preços de GET /models. Frações de crédito somam e saem do saldo como créditos inteiros. Uma resposta sem streaming informa o custo em usage.credits.

O saldo precisa cobrir o máximo que a chamada pode custar, contando o max_tokens da resposta (ou o limite do modelo, quando não vier). Sem saldo, a resposta é 402 INSUFFICIENT_CREDITS.

Erros

CodeQuando
REQUEST_INVALIDO corpo não é um pedido válido, ou o modelo recusou os campos enviados.
MODEL_UNAVAILABLEO modelo não existe no catálogo ou não está disponível agora.
INSUFFICIENT_CREDITSSaldo insuficiente. extra.credits_needed diz quanto falta cobrir.
AI_UNAVAILABLEO modelo não respondeu. Tente de novo.

Nesta página