Saltar al contenido principal

Novoads MCP & CLI para cualquier IA

Crea anuncios ganadores directamente desde tus prompts en cualquier herramienta de IA

3 días por 1 dólar en todos los modelos, en Claude y Cursor
  1. 1

    Copia la URL del conector

    La vas a pegar en Claude en el paso siguiente.

    https://novoads.ai/api/mcp
  2. 2

    Abre los conectores de Claude

    Configuración → Conectores → Agregar conector personalizado, y pégala ahí.

  3. 3

    Inicia sesión y empieza

    OAuth, sin API key. Aprueba dos permisos y pide un anuncio.

La línea de tiempo, los subtítulos y la clonación de voz viven en la app

Qué hace Claude con esto

No es un diagrama del protocolo. Son las llamadas que hace una corrida real, en orden, junto a lo que produjeron.

Esta es nuestra camiseta negra. Haz un anuncio vertical en español, alguien en su casa hablándole a la cámara. Dime cuánto cuesta antes de gastar nada.

camiseta-negra.jpg

Claude

Primero lo cotizo.

estimate_cost

video6sesugc

3.4 créditos, contrastados con tu saldo. No cobra nada ni crea ningún trabajo.

generate_video

Un joven en casa, luz natural de ventana, sostiene la cámara con una mano y habla directo al lente sobre su camiseta negra con el logo circular.

Seedance 2.09:166ses

Devuelve un jobId de inmediato. El render dura más que la llamada, así que no deja la conexión abierta.

Claude

Aquí está. Vertical, con audio nativo en español, listo para Reels o TikTok.

Resultado

Un anuncio real hecho con Novoads. La llamada de al lado es el contrato real de la herramienta: esos nombres de parámetros y esos límites son exactamente lo que acepta el servidor.

7 herramientas, y lo que cuesta cada una

Dos gastan créditos. El resto lee, cotiza e informa, que es lo que hace seguro arrancar una cadena que corre sin que nadie la mire.

Preparar

Mete tu material real y lee lo que ya está funcionando en el de otro.

upload_assetNo gasta créditos

Devuelve una URL prefirmada para una imagen o un video, más el assetId que lo identifica en cada llamada posterior.

analyze_adNo gasta créditos

Convierte un anuncio subido en una lectura estructurada: resumen, límite del hook, beats, texto en pantalla, casting y zonas del layout.

Crear

Las dos llamadas que cobran. Ambas validan el prompt antes de mover un crédito.

generate_videoGasta créditos

Envía un render de video y devuelve un jobId de inmediato. El prompt se valida antes de cobrar ningún crédito.

generate_imageGasta créditos

Genera una imagen de anuncio estático y devuelve las URLs y un jobId.

Cotizar y seguir

Cotiza antes de comprometerte y después sigue el trabajo. Ninguna de estas cobra por llamarla.

estimate_costNo gasta créditos

Cuánto costaría una generación, tu saldo y si alcanza. No gasta nada ni crea ningún trabajo.

get_generationNo gasta créditos

Estado, progreso y, cuando termina, una URL de salida con vigencia limitada para un trabajo.

list_generationsNo gasta créditos

Tus trabajos recientes, del más nuevo al más viejo. La vía de recuperación cuando lo que se perdió fue la respuesta que traía el jobId.

Modelo de video
Seedance 2.0
Duración
4 a 15s, hasta 7 créditos
Modelo de imagen
GPT Image 2, 0.3 créditos cada una
Formatos
6 relaciones de aspecto, 11 idiomas

El servidor revisa el prompt antes de cobrarte

Cada regla de abajo se midió en un render que salió mal, no se dedujo de una ficha del modelo. Se aplican en código, así que un prompt que rompe una regla cuesta una ida y vuelta en vez de un render.

generate_video: 8 reglas

Se muestran para la familia ugc, la que recibe una llamada sin especificar.

  • banned_polishRechazado

    Rejected: polish words (cinematic, cinematográfico, perfecto, 8k, masterpiece). A valid prompt names the light source, the surface and the flaw.

  • back_referenceRechazado

    Rejected: back-references to an earlier shot's actor ("the same woman", "la misma mujer"). Seedance re-casts on every cut, so the actor tag is repeated verbatim.

  • missing_actor_descriptorRechazado

    Required in every shot: an actor descriptor. Established once in 37-53 chars (age band, gender, wardrobe), then repeated as an 11-30 char tag, word for word.

  • chained_motionRechazado

    Rejected: chained motion ("then", "y luego", "em seguida"). One action per shot; a second beat renders as a smear.

  • bullety_promptRechazado

    Rejected: bullets and field:value pairs. Seedance reads flowing prose; a labelled list renders as literal on-screen text.

  • label_without_holdAdvertencia

    A visible label, package or screen needs the labelHold clause, or its printed text comes back garbled.

  • no_spoken_lineRechazado

    Required: the spoken line in double quotes, or a statement that the shot is silent / b-roll / voiceover. A silent talking head bills in full.

  • no_aspect_ratioAdvertencia

    The aspect ratio belongs at the end. Vertical 9:16 is the format for Reels, TikTok and Stories.

generate_image: 3 reglas

Se revisan antes de mover ningún crédito, igual que en video.

  • banned_polishRechazado

    Rejected: polish words (cinematic, cinematográfico, perfecto, 8k, masterpiece). A valid prompt names the light source, the surface and the flaw.

  • blank_labelRechazado

    Rejected: unbranded and blank-label products. A valid prompt names the real brand, with its photo passed via upload_asset + referenceAssetIds.

  • unfilled_placeholderRechazado

    Rejected: unfilled [PLACEHOLDER] tokens left over from a template.

El texto de arriba es exactamente lo que vuelve en el error, en inglés, sea cual sea el idioma de tu anuncio. Las familias de estilo (ugc, pixar) cambian qué reglas aplican: un personaje principal sin rostro humano no puede cumplir las de talking head.

Lo que construimos encima

Cuatro skills que usamos internamente, cada una una cadena sobre las mismas siete herramientas.

novoads-pixar-ad

Entra un producto, sale un anuncio 3D animado con estilo. Imagen y diálogos hablados desde una sola llamada de generación.

estimate_costgenerate_imagegenerate_video
clone-hook

Lee el hook del video de un competidor hasta la señal que lo cierra, y después rearma ese hook con tu producto y tu actor.

upload_assetanalyze_adgenerate_videoget_generation
clone-static-ad

Lee las zonas del layout y la jerarquía del texto de un anuncio estático, y rearma esa estructura alrededor de tu producto.

upload_assetanalyze_adgenerate_imageget_generation
spy-competitor-ads

Trae lo que un competidor está corriendo ahora y reporta el patrón que hay detrás, no solo los archivos.

analyze_ad

Son instrucciones, no software. El criterio vive en la skill; el render pasa aquí, en tu cuenta.

Preguntas que sí tiene un desarrollador

Si la respuesta que necesitas no está aquí, pregúntale directo a Pablo. Él contesta.

Escríbenos por WhatsApp

Por MCP, el estándar abierto para darle a un agente acceso a herramientas externas. Agregas una URL como conector e inicias sesión una vez. A partir de ahí Claude puede usar 7 herramientas de Novoads dentro de cualquier conversación, y los resultados vuelven en el chat en vez de en un panel que tengas que ir a revisar.

Cualquiera que hable MCP sobre Streamable HTTP con OAuth. Claude y Claude Code son los dos que usamos a diario, y las instrucciones de arriba son las que corremos nosotros mismos. Otros clientes toman la misma URL; lo único que cambia es la pantalla donde la pegas.

No, y no hay ninguna key que emitir. El conector te autentica con OAuth contra la cuenta de Novoads que ya tienes. Los permisos que pide son mcp, offline_access, y puedes revocarlos desde tu cliente cuando quieras.

Créditos de tu plan, con la misma tabla que cobra la app. Un video con la duración por defecto son 3 créditos y sube a 7 a los 15 segundos; las imágenes son 0.3 créditos cada una. estimate_cost cotiza la cifra exacta y lee tu saldo antes de que se cobre nada, y llamarla no cuesta.

generate_video devuelve un jobId de inmediato en vez de dejar la conexión abierta, porque un render dura más que una llamada. Consulta get_generation para el estado y la URL de salida. Si lo que se perdió fue la respuesta que traía el jobId, list_generations igual encuentra el trabajo, incluso si ya terminó y se cobró.

El idioma hablado del anuncio se declara en cada llamada y se aceptan 11. Se declara en vez de adivinarse del texto, así que un anuncio en español nunca termina reescrito en inglés solo para pasar una regla.

Sí. list_generations devuelve tus trabajos recientes con una URL de salida de vigencia limitada, y upload_asset vuelve a tomar cualquier imagen o video como un assetId que le puedes pasar a la siguiente llamada.

Los errores vuelven estructurados, con un código y un mensaje escrito para una persona, porque quedarse sin créditos es un paso siguiente distinto a que el proveedor esté caído. Si las herramientas nunca aparecen en Claude Code, casi siempre es el reinicio del paso 3. Cualquier otra cosa, escríbenos y la revisamos.
Pablo, co-fundador de Novoads
Pablo, co-fundador · Estoy aquí si necesitas algo

Tu primer anuncio, hoy.

Prueba 3 días por $1. Cancela cuando quieras. Sin llamadas de ventas.

Hecho en LatAm · Soporte por WhatsApp · Derechos comerciales incluidos.

¿Prefieres preguntar primero? Chatea con Pablo por WhatsApp