Conectar un agente con MCP

MCP es otra puerta de entrada a la misma API Pro: los mismos permisos, los mismos límites, los mismos créditos, el mismo registro de actividad. Un agente se conecta a una dirección y ve herramientas que puede usar en lenguaje natural. No hay nada que instalar ni nada que programar.

Claude Desktop, claude.ai, ChatGPT, Claude Code, Cursor, VS Code y Windsurf lo soportan.

La dirección es un secreto

https://api.tendre.ai/mcp/<key>

La clave es una clave API Pro, creada en la app en Ajustes > API.

Lee esa dirección de nuevo: la clave está dentro de ella. Cualquiera que tenga el enlace renderiza con tus créditos, hasta tus límites. Trátala exactamente como una contraseña. No la pegues en un documento compartido, un ticket ni una captura de pantalla, y si se filtra, revoca la clave en la app: el agente se detiene de inmediato.

Los agentes que permiten configurar una cabecera pueden usar https://api.tendre.ai/mcp con Authorization: Bearer <key> en su lugar, lo que mantiene la clave fuera de la URL.

Conectar tu agente

Todo lo que aparece a continuación fue comprobado el 22 de septiembre de 2026. Son menús de otras empresas, y cambian: Claude y OpenAI los modificaron los dos el mismo día en que se escribió esta página, y OpenAI también limita los servidores MCP personalizados a algunos planes. Si una ruta ya no coincide con lo que ves, busca "connectors" o "MCP" en los ajustes de ese producto. Lo único que no cambia es la dirección que pegas.

  • Claude Desktop, claude.ai y la app móvil: Customize > Connectors > Add custom connector, pega la dirección, sin autenticación adicional. Enlace directo: https://claude.ai/new#customize/connectors. Funciona de inmediato, en todos los dispositivos de la cuenta, sin necesidad de reiniciar nada. (Los conectores solían estar en Settings; esa página ahora apunta aquí.)
  • ChatGPT: activa el modo desarrollador en los ajustes primero, luego Plugins > New plugin > Custom tool. Ponle el nombre Tendre.AI, introduce la dirección en Server URL, establece Authentication en None, marca el aviso para confirmar que lo entiendes y pulsa Create.
  • Claude Code: claude mcp add --transport http tendre https://api.tendre.ai/mcp/<key>
  • Cursor, en ~/.cursor/mcp.json:
json
{ "mcpServers": { "tendre": { "url": "https://api.tendre.ai/mcp/<key>" } } }
  • VS Code, en mcp.json:
json
{ "servers": { "tendre": { "type": "http", "url": "https://api.tendre.ai/mcp/<key>" } } }
  • Windsurf, en ~/.codeium/windsurf/mcp_config.json:
json
{ "mcpServers": { "tendre": { "serverUrl": "https://api.tendre.ai/mcp/<key>" } } }

La forma más rápida de empezar es la pestaña Ajustes > Connectors de la app: crea la clave y escribe estos ajustes por ti, en un clic, para los agentes instalados en tu ordenador. Para los agentes web (claude.ai, ChatGPT), copia la dirección para que la pegues en sus ajustes de conector.

Las treinta y una herramientas

HerramientaQué hace
tendre_generate_imageUna o varias imágenes (count de 1 a 8), con o sin LoRA, o el retoque de una imagen de origen (mode edit, img2img, o inpaint con mask_url). seed vuelve a renderizar una imagen anterior, o una variación de ella. Espera el renderizado por defecto, hasta 55 s, y pone las imágenes directamente en la conversación. wait=false devuelve identificadores en su lugar.
tendre_generate_videoEnvía un clip (formato, sonido, duración, cadencia fps, LoRA) a partir de un prompt, animando una imagen (más una imagen final para una transición), en modo Ultra (quality max, 1080p como máximo; por segundo, seconds da la duración, de 4 a 30 s), con imágenes clave (keyframes, modo Calidad), con coherencia reforzada (consistency enhanced, hasta 721 fotogramas por plano, es decir 30 s a 24 fps, extensiones incluidas), o extendiendo el clip anterior (extend_job_id, con sequence_id para un vídeo largo). Un plano Ultra se extiende hacia delante o hacia atrás (extend_direction); pasadas 24 horas, desde su archivo original (extend_video_url, o extend_upload_id mediante tendre_upload_link, enviado tal cual). seed vuelve a renderizar un clip anterior, o una variación de él. Un clip tarda varios minutos: por defecto la herramienta espera el final (55 s como máximo) y devuelve el enlace MP4, o el identificador si el renderizado no ha terminado; wait=false devuelve el identificador de inmediato. Mientras espera, el botón de parar del usuario cancela el renderizado, y no se cobra nada.
tendre_character_createCrea un personaje (siete vistas) a partir de una foto: un enlace de subida, un archivo adjunto en ChatGPT, una imagen renderizada en la conversación, o una dirección pública. Espera a que se cree (55 s como máximo) y pone las vistas en la conversación (vistas previas de 1024 px; los enlaces del texto dan las vistas a tamaño completo). 6 créditos, outfit incluido. Ver Personajes.
tendre_character_getEl estado de un personaje y sus vistas (wait espera al final de la creación; sheet_id elige una character sheet).
tendre_character_listLos personajes de la cuenta, incluidos los creados en la app, con la fecha en que se borrará cada uno.
tendre_character_redo_viewRehace una vista fallida, o una que mira en la dirección equivocada (1 crédito), con una instruction opcional en imperativo para un personaje o una character sheet creados a través de la API; sheet_id apunta a una character sheet concreta.
tendre_character_set_viewReemplaza una vista de un personaje creado a través de la API, o de una character sheet añadida con tendre_character_add_sheet (sheet_id), con una imagen del usuario, sin generar nada (gratis).
tendre_character_add_sheetAñade un outfit (una character sheet) a un personaje existente, de la API o de la app: vistas listas guardadas gratis (views, rol por rol), roles que faltan generados (1 crédito cada uno), o, sin vistas, el outfit puesto sobre su vista de cuerpo entero y seis vistas generadas (7 créditos). Devuelve el sheet_id, para pasarlo a tendre_character_get, tendre_character_redo_view, tendre_character_set_view y tendre_multiref_video. Ver Añadir un outfit.
tendre_character_deleteBorra un personaje y sus vistas.
tendre_subject_createGuarda un decorado, un objeto, un animal, un estilo o un outfit a partir de 1 a 6 imágenes del usuario, para reutilizarlo en Multi-Ref. Gratis. Ver Lugares, objetos, animales, estilos y outfits.
tendre_subject_list, tendre_subject_get, tendre_subject_deleteLos decorados, objetos, animales, estilos y outfits de la cuenta (incluidos los de la Biblioteca de la app), sus detalles e imágenes, y su eliminación. Los elementos regalados por Tendre.AI se suman a la lista en su primera lectura.
tendre_subject_generateGenera un lugar, un objeto, un animal, un estilo o un outfit sin imagen del usuario: una imagen de partida creada a partir de una descripción en inglés (o importada, gratuita), y luego vistas (consulta Generar un sujeto sin imágenes). 1 crédito por imagen renderizada, 6 imágenes como máximo; espera 55 s y luego devuelve el estado y las imágenes.
tendre_subject_add_views, tendre_subject_redo_viewAñade vistas a un sujeto generado, o rehace una (instructions sustituye su consigna; start rehace la imagen de partida mientras ninguna vista parta de ella).
tendre_multiref_videoUn clip Multi-Ref con 1 a 4 personajes, objetos y animales llamados por @Nombre en el prompt (subjects; en Ultra, hasta 30 imágenes en total, con 12 personajes como máximo, 8 recomendados), un decorado guardado (location_id) o una imagen de decorado puntual opcional, Calidad o Ultra (por segundo: seconds, de 4 a 30 s), formato, duración, cadencia fps, sonido, seed, y con sonido una voz para los dos primeros personajes (voice_url, la dirección pública de un archivo de audio de 4 MB como máximo; ordena los personajes como el diálogo). Espera el final como tendre_generate_video, y el botón de parar cancela el renderizado. En Ultra, también styles, outfits (con worn_by) y motion (un vídeo de movimiento: video_upload_id, video_job_id o video_url; mode camera o choreography). Ver Multi-Ref Vídeo. Con sonido, los dos primeros personajes hablan por defecto con la voz de su perfil (voice generated para una voz hecha por el modelo).
tendre_multiref_imageCrea una imagen con personajes (por su vista o su LoRA), objetos, animales y un decorado, llamados por @Nombre en el prompt en inglés (ver Crear una imagen). Devuelve el jobId de inmediato: la imagen tarda de 1 a 3 minutos, síguela con tendre_job_status (kind images). quote_only da el precio sin iniciar nada.
tendre_face_swapFace swap (el personaje entero, o solo la cabeza con part head): la persona que aparece en uno de tus vídeos (enlace de subida, archivo adjunto en ChatGPT, dirección pública, 95 MB como máximo) o en un vídeo renderizado en la conversación se convierte en uno de tus personajes, cara, cabello, cuerpo y outfit, manteniendo los gestos, los labios, el sonido y el escenario, en un fragmento de 20 s como máximo (start, duration), con scene, name, zone, likeness y, con sonido, la voz del personaje (voice_url, la dirección pública de un archivo de audio de 2 MB como máximo). Por defecto, el sonido toma la voz del perfil del personaje si tiene una (voice original conserva la voz filmada). Transiciones transition_in y transition_out: cut (por defecto), morphing (un fundido) o glitch (un efecto digital sobre la silueta); con una transición, vuelve el vídeo entero (60 s como máximo). La respuesta da los límites del pasaje (passage). 6 créditos por segundo de fragmento. Espera el final como tendre_generate_video, y el botón de parar cancela el renderizado. Ver Face swap.
tendre_sequence_createAbre una secuencia, para construir un vídeo largo plano a plano.
tendre_sequence_exportUne los planos de una secuencia en un único vídeo y devuelve su enlace MP4.
tendre_project_exportExporta la carpeta de proyecto de un render (job_id) o de una secuencia (sequence_id) de menos de 24 horas: el manifiesto en la respuesta, el ZIP mediante un enlace. manifest_only devuelve solo el manifiesto. Para una secuencia, include_film añade la película ensamblada. include_media, include_references y exclude_references eligen lo que entra, como la ventana de exportación de la app. Gratis. Consulta Exportar la carpeta del proyecto.
tendre_upload_linkCrea un enlace de subida para una de tus imágenes o vídeos (una foto o un vídeo adjunto a la conversación, un archivo en tu ordenador o teléfono). Lo abres y arrastras el archivo, o un agente con acceso a tus archivos lo envía él mismo. Un vídeo (MP4, MOV, WebM o MKV, 95 MB como máximo) va a tendre_face_swap. Gratis.
tendre_job_statusEn qué punto está un renderizado. Para un vídeo espera el final por defecto (55 s como máximo, wait=false para una consulta rápida), y el botón de parar cancela el renderizado mientras espera. Una vez terminado, una imagen vuelve a la conversación y un vídeo como enlace.
tendre_cancel_jobCancela un renderizado. No se cobra nada.
tendre_list_lorasLos personajes de la cuenta, con el nombre que hay que pasar como lora y la palabra clave que hay que poner en el prompt.
tendre_buy_creditsLos packs de créditos con los precios actuales, y el enlace de compra de tu licencia. Más allá del pack más grande, también ofrece una cantidad libre (parámetro credits). Esta herramienta no paga: tú abres el enlace y pagas, con tarjeta o criptomoneda.
tendre_purchase_creditsCompra un pack (o una cantidad libre) con tu tarjeta guardada, si has autorizado a tu agente a comprar en la recarga automática de tu página de cuenta, dentro de tu límite mensual. El agente debe anunciar el pack y su precio, y luego esperar tu sí en la conversación (confirmed). Si la compra se rechaza, te da el enlace de compra normal. Un correo electrónico confirma cada compra.
tendre_creditsSaldo, los límites de la clave, renderizados en curso.
tendre_pricingLa tabla de precios actual.
tendre_quoteLo que costará un renderizado, antes de iniciarlo: la creación de un personaje (kind characters) y un clip Multi-Ref (multiref true) incluidos. Acepta consistency para un clip en coherencia reforzada, y fps: la respuesta da la duración en segundos a esa cadencia. Para un Ultra facturado por segundo, seconds fija la duración. Para una extensión Ultra, extend_job_id y extend_direction.

Si la conexión se corta antes de que responda tendre_generate_image, tendre_generate_video, tendre_multiref_video o tendre_face_swap (tiempo de espera de un proxy agotado, error 524, programa detenido), el renderizado no se inicia, o se cancela de inmediato, y no se cobra nada: simplemente vuelve a llamar a la herramienta. La creación de un personaje (tendre_character_create), en cambio, continúa: volver a llamarla con la misma foto y los mismos ajustes devuelve el mismo personaje, sin cobrar nada dos veces.

Al conectarse, el servidor entrega al agente las reglas de la casa: prompts en inglés, la palabra clave es obligatoria con un LoRA, anunciar el coste antes de un renderizado caro, comprobar las vistas de un personaje nuevo antes de su primer clip y rehacer una fallida, y un personaje, decorado, objeto o animal que lleve un año sin usarse se borra.

Empezar desde una imagen

Puedes pedir más que una imagen desde cero: "crea una imagen y luego anímala", una transición entre dos imágenes, un retoque.

El agente apunta a la imagen de una de dos formas. Bien por su identificador, cuando fue renderizada en la conversación (image_job_id; el archivo se recupera en nuestro lado mientras el motor lo conserva, durante unos pocos minutos). O por la dirección pública de un PNG o JPEG de 12 MB como máximo (image_url; las direcciones privadas se rechazan). Para una transición, la imagen final se indica de la misma forma (end_image_job_id, end_image_url). Si no estableces ningún formato, el clip toma el de la imagen. Una transición se genera al tamaño solicitado, de 480p a 1080p, y se factura como un clip de ese formato. Para imágenes clave (modo Calidad), keyframes acepta de 1 a 4 objetos { at, image_job_id | image_url | image_upload_id, strength } y requiere una duración fija (length).

Tu propia foto

  • ChatGPT: adjunta la imagen a la conversación y pide. Nada más.
  • Cualquier otro agente (Claude, Cursor...): el agente te proporciona un enlace de subida (tendre_upload_link). Ábrelo, suelta la imagen o pégala, y luego dile al agente que está listo. Un agente con acceso a tus archivos (Claude Code, Cursor, VS Code) la envía él mismo.

Tu foto nunca se escribe en disco. Permanece en memoria durante 30 minutos, tiempo suficiente para el renderizado, y luego se olvida. El enlace de subida solo funciona con la clave que lo creó. Las excepciones son una foto usada para crear un personaje, que pasa a ser una de las vistas del personaje, y las imágenes de un decorado, objeto o animal guardado: ambas se almacenan cifradas, bajo tu control, hasta que las elimines o hasta un año sin uso (ver más abajo).

Personajes en el mismo clip

Pide "crea un personaje a partir de esta foto": el agente lo crea (6 créditos), te muestra las siete vistas y rehace una fallida. Luego pide la escena, "un clip donde Lea le pasa una taza a Tom en una cocina soleada": los incluye con Multi-Ref Vídeo, cada uno llamado por @Nombre, hasta cuatro por clip (doce en Ultra, ocho recomendados). Los personajes que creaste en la app también están disponibles. Una vista que sigue saliendo mal (una prótesis en el lado equivocado, por ejemplo) se rehace con una instrucción, o se reemplaza por tu propia imagen.

Dale al agente unas fotos de un lugar, un objeto o un animal y dile qué es: lo guarda (gratis), y luego puedes pedir "@Lea espera a @Tram en @Plaza". Hasta cuatro personajes, objetos y animales en total, más un decorado guardado como escenario; en Ultra, hasta 30 imágenes en total, con doce personajes como máximo (ocho recomendados). Los detalles están en la página de Personajes y en Multi-Ref Vídeo.

Un personaje en tu propio vídeo (Face swap)

Envíale al agente un vídeo y nombra uno de tus personajes: con tendre_face_swap, la persona que aparece en cámara se convierte en ese personaje, cara, cabello, cuerpo y outfit, conservando los gestos, los labios, el sonido y el escenario, en un fragmento de 20 s como máximo (start, duration), con scene, name, zone, likeness y, con sonido, la voz del personaje (voice_url, la dirección pública de un archivo de audio de 2 MB como máximo). El vídeo llega:

  • desde un enlace de subida (tendre_upload_link también acepta vídeo: MP4, MOV, WebM o MKV, 95 MB como máximo);
  • como un archivo adjunto en ChatGPT;
  • desde una dirección pública (las direcciones privadas se rechazan);
  • o desde un vídeo renderizado en la conversación.

Para cambiar solo la cabeza (cara y cabello) y conservar el cuerpo filmado, la ropa y el entorno, pídeselo al agente: envía part head.

Por defecto, el sonido del vídeo toma la voz del perfil del personaje si tiene una; para conservar la voz filmada, pídeselo: el agente envía voice original. Una voz dada con voice_url tiene prioridad, y se usan sus primeros 20 segundos.

Un personaje creado en la app no tiene nombre en nuestro lado: el agente le da uno (name) para llamarlo por @Nombre en la escena. Para la voz del personaje, proporciona la dirección pública de un archivo de audio de 2 MB como máximo (voice_url): el sonido del vídeo se convierte a esa voz. Tu vídeo pasa por nuestros servidores mientras se prepara, y luego va a la tarjeta gráfica que lo renderiza. El resultado vuelve como un enlace de vídeo, como cualquier clip, en el formato de trabajo (aproximadamente un megapíxel): la resolución completa y varios personajes seguidos son exclusivos de la app de escritorio. El precio es por segundo de fragmento, ver Face swap.

Transiciones, como las esquinas de las tarjetas de la app: transition_in pasa de la persona filmada al personaje al principio del pasaje, transition_out vuelve del personaje a la persona al final. Cada una es cut (por defecto, sin transición), morphing (un fundido, unos 0,5 s) o glitch (un efecto digital limitado a la silueta, unos 0,4 s). No hay transición de entrada si el pasaje empieza el vídeo, ni de salida si lo termina.

Con una transición, recibes el vídeo entero, 60 s como máximo (uno más largo se rechaza): la persona filmada, la transición, el personaje en su pasaje, la transición y de nuevo la persona. Llega en el formato de trabajo (alrededor de un megapíxel) y a 24 o 30 fps; la app de escritorio, en cambio, vuelve a pegar el personaje en resolución completa y a la cadencia original. El pasaje renderizado (y facturado) se alarga unos 0,3 s por cada lado que tiene transición. Colocar las transiciones es gratis y tarda de unos segundos a un minuto después del render, mientras tendre_job_status responde pending (fase assembling the transitions). El video_job_id de un render así designa su vídeo entero: dáselo de nuevo a tendre_face_swap para poner un segundo personaje en el mismo vídeo. Nuestro servidor procesa dos face swaps con transiciones a la vez; por encima, la herramienta te pide que lo vuelvas a intentar en unos minutos.

La respuesta da los límites exactos del pasaje, en segundos (passage: start, end). Sin transición, un pasaje cuenta 8n+1 fotogramas, redondeado hacia abajo: 2,9 s pedidos dan 2,7 s. Para pegar otro pasaje justo después, empiézalo en end. Con transición, el pasaje es exacto al fotograma.

Para unir dos personajes, empieza el segundo en el passage.end del primero: encaja al fotograma, y su transición de entrada se hace entera justo antes de la unión (unos 0,4 s de glitch o 0,5 s de fundido renderizados de más por su lado), sin volver a pasar por la persona filmada. Deja el transition_out del primero en cut: si no, la herramienta avisa de que las dos transiciones se solaparían. La respuesta lleva entonces passage.joined_to_previous.

Usa solo vídeos de personas que hayan dado su consentimiento: es una norma de las condiciones de uso.

Las imágenes vuelven a la conversación, los vídeos son un enlace con caducidad

Una imagen llega a la conversación: el protocolo tiene un lugar para contenido de imagen.

Un vídeo no, y pesa demasiado para eso. Vuelve como un enlace que redirige el archivo desde la salida del motor y sigue siendo válido durante unos pocos minutos. Después no se conserva nada en nuestro lado.

Por eso, un agente que puede escribir en tu disco (Claude Code, Cursor, VS Code) recibe instrucciones de guardar el archivo por ti. Uno que no puede, como un chat web, solo puede darte el enlace. Descárgalo mientras esté activo: cuando expire, el clip habrá desaparecido, y volver a renderizarlo cuesta créditos de nuevo.

Hay tres excepciones. Un vídeo largo: sus planos permanecen en nuestro servidor solo mientras se ensambla, y se borran 30 minutos después de que se añadió el último; el vídeo ensamblado se conserva durante 24 horas, para que puedas encontrarlo si vuelves más tarde, y luego también se borra. Y un personaje: sus vistas, incluida la foto que enviaste, se almacenan cifradas bajo tu licencia hasta que lo elimines (tendre_character_delete) o lleve un año sin usarse. Por último, un Face swap con transición: el vídeo entero se queda en la memoria de nuestro servidor hasta que se colocan el personaje y sus transiciones, el vídeo final 30 minutos más, y tu vídeo solo pasa por el disco mientras se prepara. Nada más permanece con nosotros.

Calidad máxima

Para el renderizado más fino, simplemente pídelo ("en calidad máxima"): el agente cambia al modo Ultra, te informa del precio primero, y te avisa de que el renderizado tarda más. El vídeo llega hasta 1080p: no hay 4K.

Vídeo largo

Un clip dura 20 segundos como máximo a 24 fps (16 s a 30, el valor por defecto), 30 s en coherencia reforzada a 24 fps. Para más tiempo, simplemente pide el vídeo completo ("un vídeo de un minuto de..."): no hay nada más que saber. El agente lo renderiza plano a plano, cada plano continuando el movimiento del anterior sin corte en la unión, y luego los une en un único MP4 y te da su enlace.

Los planos se renderizan uno tras otro, y cada uno tarda varios minutos. Cada uno cuesta el precio de un clip, que tendre_quote indica antes de que empiece nada. En coherencia reforzada (consistency enhanced), un minuto cabe en dos planos de 30 s a 24 fps, cada uno al doble del precio de su formato. El sonido continúa de un plano al siguiente, excepto en coherencia reforzada y en Ultra, donde empieza de nuevo con cada plano. Las reglas y las llamadas detrás de todo esto están en la página de Vídeos.

Varios planos con cortes duros, de hasta 20 segundos, no necesitan secuencia: pide los planos y el agente los escribe en un único clip (cómo describirlos).

Bajo el capó

El transporte es MCP Streamable HTTP, versión de protocolo 2025-06-18, sin estado: un mensaje JSON-RPC por POST, una respuesta JSON, sin flujo del servidor (un GET responde con 405). Los métodos son initialize, ping, tools/list y tools/call, y cada herramienta llama a la misma API descrita en estas páginas, con la clave del agente.

Windows · Mac · Nube o local

Genera en privado. Esta noche.

Descarga tendre.AI gratis y genera sin límites, de forma privada, en tu propia GPU.

OS Windows 10/11GPU NVIDIA 8GB+VRAM 12GB recomendadoDisco 20GB

Mac: Apple silicon (M1 o posterior), macOS 13 o posterior. Los Mac con Intel no son compatibles.

La generación de imágenes local en Mac necesita un M4 con 24 GB de memoria, o un M2 o M3 Pro, Max o Ultra con 24 GB. Por debajo de eso, todo se ejecuta online con créditos. El retoque y el video se ejecutan online en Mac por ahora.

Todo sobre tendre.AI para Mac

¿No tienes GPU NVIDIA? Empieza 100% en la nube: 5 imágenes y 1 vídeo gratis cada día. Una tarjeta NVIDIA (8GB+) desbloquea la generación local ilimitada.