This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

Generador de memes

Crea memes usando plantillas integradas o imágenes personalizadas. Añade texto con el estilo clásico de los memes (texto en negrita con contorno), varios diseños predefinidos y opciones de fuente.

Endpoint de la API

POST /api/v1/tools/image/meme-generator

Acepta cualquiera de estas opciones:

  • Datos de formulario multipart con un archivo de imagen y un campo JSON settings (modo de imagen personalizada)
  • Cuerpo JSON con un templateId (modo plantilla, sin necesidad de subir un archivo)

Parámetros

ParámetroTipoObligatorioPredeterminadoDescripción
templateIdstringNo-ID de plantilla de meme integrada. Si se proporciona, no es necesario subir una imagen
textLayoutstringNo"top-bottom"Diseño de los cuadros de texto: top-bottom, top-only, bottom-only, center, side-by-side
textBoxesarrayNo[]Array de objetos de cuadro de texto con campos id y text
fontFamilystringNo"anton"Fuente: anton, arial-black, comic-sans, montserrat, bebas-neue, permanent-marker, roboto
fontSizenumberNoautoTamaño de fuente en píxeles (8 a 200). Se calcula automáticamente si se omite
textColorstringNo"#ffffff"Color de relleno del texto
strokeColorstringNo"#000000"Color del trazo/contorno del texto
textAlignstringNo"center"Alineación del texto: left, center, right
allCapsbooleanNotrueConvertir el texto a mayúsculas

Cuadros de texto

Cada entrada del array textBoxes debe tener:

CampoTipoDescripción
idstringIdentificador del cuadro que coincide con el diseño (por ejemplo, "top", "bottom", "left", "right", "center")
textstringEl texto del meme que se mostrará

IDs de los cuadros según el diseño del texto

DiseñoIDs de cuadro disponibles
top-bottomtop, bottom
top-onlytop
bottom-onlybottom
centercenter
side-by-sideleft, right

Ejemplo de solicitud

Imagen personalizada con texto arriba y abajo:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/meme-generator \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F 'settings={"textLayout": "top-bottom", "textBoxes": [{"id": "top", "text": "When the code works"}, {"id": "bottom", "text": "On the first try"}], "fontFamily": "anton", "allCaps": true}'

Usando una plantilla integrada (cuerpo JSON, sin subir archivo):

bash
curl -X POST http://localhost:1349/api/v1/tools/image/meme-generator \
  -H "Authorization: Bearer si_your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"templateId": "drake", "textBoxes": [{"id": "top", "text": "Manual testing"}, {"id": "bottom", "text": "Automated tests"}]}'

Ejemplo de respuesta

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/meme-drake.png",
  "originalSize": 450000,
  "processedSize": 520000
}

Notas

  • Se requiere templateId o un archivo de imagen subido. Si se proporcionan ambos, se usa la plantilla.
  • Las plantillas definen sus propias posiciones de cuadro de texto; el parámetro textLayout se ignora al usar plantillas.
  • El texto se renderiza como SVG con contornos de trazo para lograr el aspecto clásico del meme.
  • El tamaño de fuente se calcula automáticamente para ajustarse al cuadro de texto si no se establece de forma explícita.
  • Los cuadros de texto vacíos se omiten (no se renderiza nada si todos los cuadros están vacíos).
  • El nombre del archivo de salida incluye el ID de la plantilla cuando se usan plantillas (por ejemplo, meme-drake.png).
  • Las entradas HEIC, RAW, PSD y SVG se decodifican automáticamente antes del procesamiento.