KolWrite KolWrite Desarrolladores

Endpoints compatibles con OpenAI

La IA gestionada de KolWrite responde con los mismos formatos que la API de OpenAI. Apunta un SDK de OpenAI, o cualquier herramienta que permita fijar una URL base, a KolWrite y usa un token de acceso personal como clave de API:

Base URL: https://api.kolwrite.com/api/v1/ai/openai
API key:  your kol_... token (scope ai:use)

Las llamadas gastan créditos de la cuenta propietaria del token, medidos por tokens de uso. Son independientes de los trabajos de transcripción (consulta la guía para agentes).

Requisitos

Endpoints

EndpointQué hace
GET /modelsLos modelos que puedes usar, con credit_pricing de cada uno
POST /chat/completionsCompletados de chat, con streaming ("stream": true)
POST /responsesLa API Responses
POST /embeddingsEmbeddings
POST /audio/transcriptionsTexto de un clip de voz corto (file en multipart)
POST /images/generationsGeneración de imágenes

Los modelos se nombran con alias estables: kw-auto (elige entre un modelo rápido y otro más potente), kw-fast y kw-pro. GET /models es la fuente de verdad de lo que está disponible para tu token; cada entrada indica context_window y si admite herramientas, visión y audio.

Python

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.kolwrite.com/api/v1/ai/openai",
    api_key=os.environ["KOLWRITE_TOKEN"],
)

reply = client.chat.completions.create(
    model="kw-auto",
    messages=[{"role": "user", "content": "Summarize this transcript in five bullets: ..."}],
)
print(reply.choices[0].message.content)

vectors = client.embeddings.create(model="kw-embedding", input=["first text", "second text"])

JavaScript

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.kolwrite.com/api/v1/ai/openai",
  apiKey: process.env.KOLWRITE_TOKEN,
});

const stream = await client.chat.completions.create({
  model: "kw-fast",
  messages: [{ role: "user", content: "Write a title for this meeting." }],
  stream: true,
});
for await (const chunk of stream) process.stdout.write(chunk.choices[0]?.delta?.content ?? "");

curl

curl https://api.kolwrite.com/api/v1/ai/openai/chat/completions \
  -H "Authorization: Bearer $KOLWRITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"model": "kw-auto", "messages": [{"role": "user", "content": "Hello"}]}'

curl https://api.kolwrite.com/api/v1/ai/openai/audio/transcriptions \
  -H "Authorization: Bearer $KOLWRITE_TOKEN" \
  -F file=@clip.wav -F model=kw-fast -F language=auto

¿Un clip corto o una grabación completa?

/audio/transcriptions es una vía rápida para clips cortos: una petición, una respuesta, sin trabajo. No genera etiquetas de hablante ni la transcripción guardada con versiones. Para una reunión, una entrevista o un archivo largo, sube el archivo multimedia y crea un trabajo de transcripción: devuelve tiempos por palabra, hablantes, SRT y VTT.

Con want_words=true la respuesta del clip incluye además words como {w, start, end} en segundos desde el inicio del clip.

Qué se diferencia de OpenAI

Preguntas

¿Puedo usar el SDK de OpenAI con KolWrite?

Sí. Fija la URL base en https://api.kolwrite.com/api/v1/ai/openai y la clave de API en un token de KolWrite con el ámbito ai:use.

¿Admite streaming y herramientas?

El chat completa en streaming con "stream": true. GET /models indica, por modelo, si admite herramientas, visión y audio.

¿Qué endpoint transcribe audio?

POST /audio/transcriptions para clips cortos; los trabajos de transcripción para todo lo demás.

Versión Markdown de esta página