Cut.ProDocs

Conversa con LLMs y genera embeddings

Chat Completions y embeddings en el formato de OpenAI, para todos los modelos de texto del catálogo, cobrados por token.

POST /chat/completions y POST /embeddings siguen el formato de OpenAI, así que cualquier SDK de OpenAI funciona: cambia la URL base a https://api.cut.pro/api/v1 y usa tu clave. model es un id con endpoint: chat_completions o 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: "Escribe tres títulos para un video 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": "¡Hola!" }], "stream": true }'
  • Streaming: con stream: true, la respuesta llega en server-sent events, como en OpenAI.
  • Esfuerzo de razonamiento: reasoning_effort (low, medium, high) o reasoning: { effort }, en los modelos que lo listan en supported_parameters.
  • Tools, imágenes y salida estructurada: tools, partes image_url en los mensajes y response_format van como los envíes, donde el modelo los acepta.
  • Costo: por token leído y escrito, a los precios de GET /models. Las fracciones de crédito se suman y salen del saldo como créditos enteros. Una respuesta sin streaming informa su costo en usage.credits.

El saldo tiene que cubrir lo máximo que la llamada puede costar, contando el max_tokens de la respuesta (o el límite del modelo, si no viene). Sin saldo, la respuesta es 402 INSUFFICIENT_CREDITS.

Errores

CodeCuándo
REQUEST_INVALIDEl cuerpo no es un pedido válido, o el modelo rechazó los campos enviados.
MODEL_UNAVAILABLEEl modelo no está en el catálogo o no está disponible ahora.
INSUFFICIENT_CREDITSSaldo insuficiente. extra.credits_needed dice cuánto necesita la llamada.
AI_UNAVAILABLEEl modelo no respondió. Inténtalo de nuevo.

En esta página