Documentación

Documentación

TypingMind

TypingMind no tiene un campo de URL base para los modelos personalizados: cada modelo es una entrada independiente con la ruta completa del endpoint, el ID de modelo, la longitud de contexto y la clave como encabezado que introduces manualmente. Esta es la entrada para Kunavo y la razón por la que ahora funciona desde el navegador, aunque hace un mes no funcionaba.

Models → Add custom model: la URL completa del endpoint https://api.kunavo.com/v1/chat/completions, un encabezado Authorization con Bearer y tu clave, el Model ID y su longitud de contexto — una entrada por modelo, llamada directamente desde el navegador.

typingmind.com — Añadir modelo personalizado
Models  →  Add custom model  →  Create Manually

Name                    Kunavo · Claude Sonnet 5
Model ID                claude-sonnet-5
Context Length          1000000

Authentication tab
  API Type              OpenAI Chat Completions API
  Endpoint URL          https://api.kunavo.com/v1/chat/completions
  Authentication Type   API Key via HTTP Header
    Header Key          Authorization
    Header Value        Bearer sk-kn-...

Capabilities tab        tick only what you have checked (see below)
Request Options tab     leave "Route requests via TypingMind Cloud" off

                        → Test & Save
Endpoint URL es la ruta completa, no una URL base. Para el tipo de API OpenAI Chat Completions, es https://api.kunavo.com/v1/chat/completions. TypingMind no añade nada: en sus propios ejemplos detallados se pegan rutas completas como https://api.minimax.io/v1/chat/completions. Por tanto, https://api.kunavo.com/v1 por sí sola envía la solicitud de chat a una ruta inexistente.
Se ejecuta en el navegador y ahora funciona con Kunavo. La documentación de TypingMind indica que las solicitudes se envían «directamente desde el navegador», así que el endpoint debe permitir el origen de la página. La API de Kunavo añadió encabezados CORS el 29 de septiembre de 2026. El 1 de octubre de 2026, una solicitud enviada desde la propia página typingmind.com devolvió access-control-allow-origin: * y una respuesta legible, tanto desde /v1/chat/completions, /v1/messages como desde /v1/models. No necesitas la opción Route requests via TypingMind Cloud para este endpoint.
Qué se ha probado y qué no. Las etiquetas de los campos anteriores se consultaron en la aplicación activa el 1 de octubre de 2026, y se envió desde esa página una solicitud entre orígenes con una clave deliberadamente no válida; lo que se ha comprobado es que el navegador permite a TypingMind acceder a Kunavo y leer la respuesta. No se ha ejecutado ninguna solicitud de completado, transmisión ni llamada a herramientas a través de TypingMind con una clave válida de Kunavo, y tampoco se pulsó el botón Test & Save. Tu propia prueba con Test & Save será la primera comprobación integral.
¿Aún no tienes una clave? Crea una cuenta de Kunavo, genera una clave (empieza por sk-kn-) y añade crédito desde $10; las llamadas se pagan con ese saldo y las llamadas fallidas no se facturan. El panel se abre entonces en la configuración de TypingMind.

Paso a paso

  1. Cree una clave en /app/keys y cópiela: se muestra una sola vez.
  2. En TypingMind, abre Models en la barra lateral izquierda y haz clic en Add custom model. Mantén seleccionada la opción Create Manually; Import JSON e Import OpenRouter son para otras fuentes.
  3. Rellena Name (cualquier nombre), Model ID (exactamente como aparece en GET /v1/models, por ejemplo claude-sonnet-5) y Context Length. El formulario rellena previamente el valor 128000; establece la ventana real del modelo a partir de la página de modelos, ya que TypingMind usa este número para decidir cuánto historial enviar.
  4. En la pestaña Autenticación, elige Tipo de API = OpenAI Chat Completions API, pega la URL completa del endpoint, establece Tipo de autenticación en API Key via HTTP Header e introduce Clave del encabezado Authorization con Valor del encabezado Bearer sk-kn-...: la palabra Bearer, un espacio y luego la clave.
  5. En Capacidades, marca las funciones manualmente o deja activada la opción Comprobar automáticamente las capacidades al guardar: el formulario indica que envía «unas cuantas solicitudes de prueba» al guardar, lo que consume unos cuantos tokens facturables. Opcionalmente, rellena Precios con las tarifas por millón de la tabla siguiente para que el coste que muestra TypingMind coincida con tu factura. Después, haz clic en Probar y guardar.
  6. Repite el proceso para cada modelo. No hay una entrada a nivel de proveedor para un endpoint personalizado: Claude Sonnet, Claude Haiku y un modelo GPT son tres modelos personalizados distintos con la misma URL de endpoint y el mismo encabezado.

Comprobado con Documentación de modelos de TypingMind el 1 de octubre de 2026. La configuración de terceros puede cambiar; si el nombre de un campo ya no coincide con lo que ves, esa página es la autoridad, no esta.

Esta es la versión breve. El tutorial completo —elección del modelo, coste de una sesión real y modos de fallo— está en Precios de TypingMind y coste de la API.

Verifica antes de depurar el cliente

Una solicitud determina si el fallo está en el endpoint, la clave o el archivo de configuración. Si devuelve JSON, la misma URL base y la misma clave funcionan en TypingMind.

# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
  -H "Authorization: Bearer sk-kn-..."

Qué ID de modelo introducir en el campo

Todos los modelos de texto están disponibles mediante un ID de modelo; la lista activa está en GET /v1/models, y el catálogo con precios está en la página de modelos. Las tarifas son USD por 1M de tokens, entrada / salida.

ID de modeloEntrada / salida de KunavoDónde encaja en TypingMind
claude-sonnet-5$1.40 / $7.00El modelo de uso diario para conversaciones largas y documentos — longitud de contexto: 1000000
claude-haiku-4-5$0.70 / $3.50Una opción secundaria económica para preguntas rápidas y títulos — longitud de contexto: 200000
claude-opus-5$3.50 / $17.50Razonamiento complejo en una sola conversación, para usar de forma deliberada — longitud de contexto: 1000000
La facturación es por token desde un saldo prepago, sin cuota mensual; consulta facturación. Con contexto repetido —que constituye la mayor parte de lo que envía un editor o cliente de chat—, la caché de indicaciones cambia más la factura que la elección del modelo.

Los otros tres tipos de API

El menú desplegable Tipo de API del formulario actual ofrece OpenAI Chat Completions API, OpenAI Responses API, Claude Messages API y Gemini API. Kunavo admite los tres primeros; cada uno necesita su propia ruta completa en Endpoint URL.

  • Claude Messages API — URL de endpoint https://api.kunavo.com/v1/messages. El ejemplo de TypingMind en formato Claude usa un encabezado x-api-key; Kunavo acepta ese encabezado o Authorization: Bearer en esta ruta. En esta ruta, Kunavo solo ofrece identificadores de la familia Claude.
  • OpenAI Responses API — URL de endpoint https://api.kunavo.com/v1/responses, con el mismo encabezado Bearer. La documentación de TypingMind no incluye un ejemplo práctico para este tipo, así que el formato de ruta completa se infiere de los otros tres; no es una cita.
  • Gemini API — no es compatible con este endpoint. Espera el formato de solicitud nativo de Google; accede a los modelos Gemini mediante el tipo Chat Completions.

Esta no es la API de TypingMind

«TypingMind API» suele referirse a la API REST de una instancia de TypingMind Teams (custom.typingmind.com), que administra esa instancia de chat. No vende tokens de modelos ni tiene relación con esta configuración. Un modelo personalizado simplemente consiste en que TypingMind llama al endpoint de otra persona con una clave que tú proporcionas.

Dos facturas distintas

La licencia de TypingMind paga la aplicación. Cada mensaje que envíes a través de un modelo personalizado se factura por token por quien posea la clave del encabezado; en este caso, Kunavo, con cargo a un saldo prepagado. En Precios de TypingMind y coste de la API se detallan los niveles de licencia y el coste de un mes de chat con estas tarifas.

Si falla «Probar y guardar»

  • 404 con «POST /v1 es la URL base, no un endpoint» (o «No encontrado: /» si la URL termina en el host): a la URL de endpoint le falta la ruta. Debe terminar en /v1/chat/completions (o en /v1/messages, /v1/responses para esos tipos). Antes del 1 de octubre de 2026, ambos casos devolvían una página HTML.
  • 404 con «No existe ese endpoint»: la ruta está mal escrita, por ejemplo /v1/chat/completion. El mismo mensaje indica la ruta más cercana que ofrece Kunavo.
  • 404 con «No encontrado: /chat/completions. La API de Kunavo está bajo /v1»: la ruta existe, pero falta /v1; la URL de endpoint es https://api.kunavo.com/chat/completions. Añade /v1 antes de la ruta. (Comprobado el 1 de octubre de 2026; antes de ese día, el mismo error devolvía una página HTML).
  • 401 «Falta la clave de API o no es válida»: el encabezado es incorrecto; Clave del encabezado debe ser Authorization y el valor debe comenzar con Bearer , o bien se revocó la clave.
  • Error de modelo no disponible: el identificador del modelo no está escrito como aparece en GET /v1/models. Los identificadores van en minúsculas y separados por guiones.
  • Error de red o CORS en la consola del navegador: comprueba que la URL de endpoint sea https://api.kunavo.com y no el dominio del sitio web; el host de la API es el que envía los encabezados CORS.

Preguntas frecuentes

¿Cómo añado un modelo personalizado con mi propia clave de API en TypingMind?

Abre Models en la barra lateral izquierda y haz clic en Add custom model; después, selecciona Create Manually. Asígnale un Name, el Model ID exacto y su Context Length. En la pestaña Authentication, elige el API Type, pega la URL completa de Endpoint URL —para un proveedor compatible con OpenAI, termina en /v1/chat/completions— y establece Authentication Type en API Key via HTTP Header, con Header Key Authorization y Header Value Bearer seguido de tu clave. Haz clic en Test & Save. Esas etiquetas se leyeron en la aplicación actual el 1 de octubre de 2026; la documentación anterior de TypingMind describe el mismo proceso con una redacción ligeramente distinta.

¿TypingMind necesita una URL base o el endpoint completo?

El endpoint completo. El campo se llama Endpoint URL y todos los ejemplos prácticos de la documentación de TypingMind pegan una ruta completa, como https://api.minimax.io/v1/chat/completions o una URL de Azure que termina en /anthropic/v1/messages. TypingMind no añade ninguna ruta, así que una URL base como https://api.kunavo.com/v1 por sí sola dirige la solicitud a una ruta inexistente y devuelve un 404.

¿Puede TypingMind llamar a Kunavo directamente desde el navegador?

Sí, desde el 29 de septiembre de 2026, cuando la API de Kunavo empezó a enviar encabezados CORS. TypingMind realiza las solicitudes a los modelos desde la propia página web, por lo que el endpoint debe permitir el origen de esa página. El 1 de octubre de 2026, las solicitudes enviadas desde typingmind.com a /v1/chat/completions, /v1/messages y /v1/models de Kunavo devolvieron access-control-allow-origin: * con un cuerpo legible. Esas solicitudes usaron deliberadamente una clave no válida, así que demuestran que la ruta desde el navegador está abierta, pero no que se haya probado una conversación completa.

¿Necesito el proxy de TypingMind o el enrutamiento de TypingMind Cloud?

No para Kunavo. La pestaña Request Options tiene un interruptor Route requests via TypingMind Cloud, que el formulario describe como una opción para enrutar las solicitudes a través del servidor de TypingMind y eludir las restricciones CORS del navegador. La API de Kunavo ya permite llamadas desde el navegador, así que, si lo dejas desactivado, la solicitud irá directamente desde tu navegador al endpoint.

¿Kunavo ha probado TypingMind de extremo a extremo?

No con una clave válida. Lo que se comprobó el 1 de octubre de 2026 fue el formulario actual Add Custom Model y una solicitud del navegador desde la página typingmind.com a Kunavo con una clave no válida, que devolvió una respuesta legible con encabezados CORS. No se ha ejecutado ninguna finalización, respuesta en streaming ni llamada a herramientas desde TypingMind contra Kunavo, y tampoco se hizo clic en el botón Test & Save. Usa tu propia prueba con Test & Save y tu primer mensaje para comprobar el flujo de extremo a extremo.