Introducción
Bienvenido a la documentación de la API de Dynamic Canvas. Nuestra API REST te permite generar imágenes dinámicamente mediante programación, perfecto para automatizar tu flujo de trabajo de diseño a escala.
¿Nuevo en Dynamic Canvas?
Comienza con nuestra guía de Inicio Rápido para hacer tu primera llamada API en minutos.
Inicio Rápido
Comienza con Dynamic Canvas en tres simples pasos.
1Obtén tu API Key
Regístrate para obtener una cuenta gratuita y obtén tu API key desde el dashboard.
2Crea tu primera solicitud
Usa curl o cualquier cliente HTTP para hacer una solicitud de render.
curl -X POST https://api.dynamiccanvas.com/v1/render \
-H "Authorization: Bearer $DYNAMIC_CANVAS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"template_id": "social-media-post",
"modifications": [
{ "name": "title", "text": "Hello World" },
{ "name": "image", "src": "https://example.com/image.jpg" }
],
"format": "png"
}'3Recibe tu imagen generada
La API devuelve una URL a tu imagen generada instantáneamente.
{
"success": true,
"render_id": "render_abc123",
"url": "https://cdn.dynamiccanvas.com/renders/abc123.png",
"width": 1080,
"height": 1080,
"format": "png",
"created_at": "2025-01-15T10:30:00Z"
}Autenticación
Todas las solicitudes API requieren autenticación usando Bearer tokens. Incluye tu API key en el header Authorization de cada solicitud.
Header de Autorización
Incluye tu API key como un Bearer token:
Nota de Seguridad
Nunca expongas tu API key en código del lado del cliente o repositorios públicos. Usa variables de entorno para almacenar tu key de forma segura.
Descripción General de la API
La API de Dynamic Canvas está organizada alrededor de REST. Nuestra API usa códigos de respuesta HTTP estándar, autenticación y verbos.
URL Base
Endpoints Disponibles
/renderGenerar una nueva imagen desde una plantilla/templatesListar todas las plantillas disponibles/templates/:idObtener detalles de una plantilla específica/renders/:idVerificar el estado de un renderEndpoint de Render
El endpoint de render es el núcleo de nuestra API. Envía una solicitud POST con tu ID de plantilla y modificaciones para generar una nueva imagen.
/renderCuerpo de la Solicitud
{
"template_id": "string (required)",
"modifications": [
{
"name": "string (required) - element name in template",
"text": "string (optional) - for text elements",
"src": "string (optional) - for image elements",
"value": "string (optional) - for color/style elements",
"visible": "boolean (optional) - show/hide element"
}
],
"format": "string (optional) - png, jpg, webp, pdf. Default: png",
"width": "number (optional) - override template width",
"height": "number (optional) - override template height",
"scale": "number (optional) - 1x, 2x, 3x. Default: 1x"
}Ejemplo de Solicitud
{
"template_id": "instagram-post",
"modifications": [
{
"name": "headline",
"text": "Summer Sale 50% OFF"
},
{
"name": "product_image",
"src": "https://example.com/product.jpg"
},
{
"name": "price",
"text": "$29.99"
},
{
"name": "accent_color",
"value": "#ff6b6b"
},
{
"name": "disclaimer",
"visible": false
}
],
"format": "png",
"scale": 2
}Respuesta
{
"success": true,
"render_id": "render_xyz789",
"url": "https://cdn.dynamiccanvas.com/renders/xyz789.png",
"width": 1080,
"height": 1080,
"format": "png",
"file_size": 245678,
"created_at": "2025-01-15T14:22:30Z",
"expires_at": "2025-01-22T14:22:30Z"
}Plantillas
Las plantillas son la base de tus imágenes dinámicas. Usa el endpoint de plantillas para listar e inspeccionar las plantillas disponibles.
/templates{
"templates": [
{
"id": "instagram-post",
"name": "Instagram Post",
"width": 1080,
"height": 1080,
"elements": ["headline", "product_image", "price", "cta"],
"thumbnail": "https://cdn.dynamiccanvas.com/templates/instagram-post.png"
}
],
"total": 1,
"page": 1,
"per_page": 20
}Modificaciones
Las modificaciones te permiten personalizar los elementos de la plantilla. Cada modificación apunta a un elemento específico por nombre y aplica el cambio deseado.
Modificación de Texto
Cambia el contenido de texto de los elementos de texto en tu plantilla.
Modificación de Imagen
Reemplaza imágenes en tu plantilla con URLs a tus propias imágenes.
Modificación de Color
Actualiza los colores de los elementos usando códigos de color hex.
Modificación de Visibilidad
Muestra u oculta elementos dinámicamente.
Formatos de Salida
Dynamic Canvas soporta múltiples formatos de salida para satisfacer tus necesidades.
Mejor para imágenes con transparencia. Compresión sin pérdida.
Mejor para fotos. Tamaño de archivo menor con compresión con pérdida.
Formato moderno con excelente compresión. Genial para web.
Perfecto para materiales impresos y documentos.
Manejo de Errores
La API usa códigos de respuesta HTTP convencionales para indicar el éxito o fracaso de una solicitud.
401 UnauthorizedError de AutenticaciónTu API key falta o es inválida. Verifica el header Authorization.
404 Not FoundNo EncontradoEl recurso solicitado (plantilla o render) no fue encontrado.
422 Unprocessable EntityError de ValidaciónEl cuerpo de la solicitud contiene parámetros inválidos o campos requeridos faltantes.
429 Too Many RequestsLímite de Tasa ExcedidoHas excedido el límite de tasa de tu plan. Espera y reintenta.
500 Internal Server ErrorError del ServidorOcurrió un error inesperado en nuestros servidores. Por favor intenta más tarde.
Crear Plantillas
Crea plantillas usando nuestro editor visual en el dashboard. Las plantillas definen el diseño base que será modificado vía API.
Pasos para Crear una Plantilla
- 1Ve al Dashboard y haz clic en 'Crear Plantilla'
- 2Diseña tu plantilla usando el editor visual
- 3Nombra cada elemento que quieras modificar dinámicamente
- 4Guarda y anota tu ID de plantilla para llamadas API
Imágenes Dinámicas
Reemplaza imágenes en tus plantillas dinámicamente. Las imágenes se obtienen de URLs que proporcionas.
Formatos de Imagen Soportados
Texto Dinámico
Modifica elementos de texto en tus plantillas con contenido dinámico.
Mejores Prácticas para Texto Dinámico
- check_circleUsa cajas de texto que puedan acomodar longitudes de texto variables
- check_circleConsidera el comportamiento de desbordamiento de texto en tu diseño
- check_circlePrueba con contenido realista para asegurar el formato correcto
Procesamiento por Lotes
Genera múltiples imágenes eficientemente iterando a través de tus datos.
# Example: Generate multiple social posts
templates = [
{ "title": "Product A", "image": "product-a.jpg" },
{ "title": "Product B", "image": "product-b.jpg" },
{ "title": "Product C", "image": "product-c.jpg" },
]
for item in templates:
response = requests.post(
"https://api.dynamiccanvas.com/v1/render",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"template_id": "instagram-post",
"modifications": [
{ "name": "headline", "text": item["title"] },
{ "name": "product_image", "src": item["image"] }
]
}
)
print(response.json()["url"])n8n
Conecta Dynamic Canvas a flujos de trabajo de n8n para automatización poderosa. Usa el nodo HTTP Request para llamar nuestra API.
Pasos de Configuración
- 1.Agrega un nodo HTTP Request a tu flujo de trabajo
- 2.Establece el método a POST y la URL a nuestro endpoint de render
- 3.Agrega tu API key en los headers y configura el body
Zapier
Integra Dynamic Canvas con más de 5000 apps usando Zapier. Crea Zaps que generen imágenes basadas en triggers de otras apps.
Make (Integromat)
Usa Make (antes Integromat) para crear escenarios de automatización complejos con Dynamic Canvas.
SDKs y Librerías
Usa nuestros SDKs oficiales para una integración más rápida en tu lenguaje preferido.
Node.js
Python
Límites de Tasa
Los límites de tasa varían por plan. Exceder los límites resultará en errores 429.
| Plan | Solicitudes/min | Renders/mes |
|---|---|---|
| Gratis | 10 | 100 |
| Pro | 60 | 5,000 |
| Enterprise | 500 | Ilimitado |
Precios
Dynamic Canvas ofrece precios flexibles para adaptarse a tus necesidades.
Visita la página de precios en nuestro sitio web para información detallada de planes y funciones.