Files
SnapOtter/apps/docs/es/tools/image/meme-generator.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

4.3 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Crea memes con plantillas o imágenes personalizadas, cuadros de texto con estilo y opciones de fuente. 0a4970112ca6 human 9b59ca094e7f

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ámetro Tipo Obligatorio Predeterminado Descripción
templateId string No - ID de plantilla de meme integrada. Si se proporciona, no es necesario subir una imagen
textLayout string No "top-bottom" Diseño de los cuadros de texto: top-bottom, top-only, bottom-only, center, side-by-side
textBoxes array No [] Array de objetos de cuadro de texto con campos id y text
fontFamily string No "anton" Fuente: anton, arial-black, comic-sans, montserrat, bebas-neue, permanent-marker, roboto
fontSize number No auto Tamaño de fuente en píxeles (8 a 200). Se calcula automáticamente si se omite
textColor string No "#ffffff" Color de relleno del texto
strokeColor string No "#000000" Color del trazo/contorno del texto
textAlign string No "center" Alineación del texto: left, center, right
allCaps boolean No true Convertir el texto a mayúsculas

Cuadros de texto

Cada entrada del array textBoxes debe tener:

Campo Tipo Descripción
id string Identificador del cuadro que coincide con el diseño (por ejemplo, "top", "bottom", "left", "right", "center")
text string El texto del meme que se mostrará

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

Diseño IDs de cuadro disponibles
top-bottom top, bottom
top-only top
bottom-only bottom
center center
side-by-side left, right

Ejemplo de solicitud

Imagen personalizada con texto arriba y abajo:

curl -X POST http://localhost:1349/api/v1/tools/image/meme-generator \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@photo.jpg" \
  -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):

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

{
  "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.