Chat with LLMs and make embeddings
Chat Completions and embeddings in OpenAI's format, for every text model in the catalog, billed by the token.
POST /chat/completions and POST /embeddings follow OpenAI's format, so any OpenAI SDK works: change the base URL to https://api.cut.pro/api/v1 and use your key. model is an id with endpoint: chat_completions or embeddings from 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: "Write three titles for a video about coffee." }],
});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": "Hi!" }], "stream": true }'- Streaming: with
stream: true, the answer comes as server-sent events, as with OpenAI. - Reasoning effort:
reasoning_effort(low,medium,high) orreasoning: { effort }, on the models that list it insupported_parameters. - Tools, images and structured output:
tools,image_urlparts in the messages andresponse_formatgo as you send them, where the model supports them. - Cost: by the tokens read and written, at the prices of
GET /models. Fractions of a credit add up and leave the balance as whole credits. A non-streamed answer reports its cost inusage.credits.
The balance must cover the most the call can cost, counting the answer's max_tokens (or the model's limit, when left out). Without it the answer is 402 INSUFFICIENT_CREDITS.
Errors
| Code | When |
|---|---|
REQUEST_INVALID | The body is not a valid request, or the model refused the fields sent. |
MODEL_UNAVAILABLE | The model is not in the catalog or is not available right now. |
INSUFFICIENT_CREDITS | Not enough balance. extra.credits_needed says how much the call needs. |
AI_UNAVAILABLE | The model did not answer. Try again. |
Generate image, video, voice, music, sound and 3D
Choose a model, confirm the price, generate from text, images, video or sound and use the result in the editor or in a post.
Recipes
Whole flows ready to copy: from link to published post, a queue of videos and the best moments of a live stream posted automatically.