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

Meme Generator

Crea meme usando i template integrati o immagini personalizzate. Aggiungi testo con lo stile classico dei meme (testo in grassetto con contorno), diversi preset di layout e scelte di font.

API Endpoint

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

Accetta uno tra:

  • Dati form multipart con un file immagine e un campo JSON settings (modalità immagine personalizzata)
  • Corpo JSON con un templateId (modalità template, senza bisogno di caricare un file)

Parameters

ParameterTypeRequiredDefaultDescription
templateIdstringNo-ID del template di meme integrato. Se fornito, non serve caricare un'immagine
textLayoutstringNo"top-bottom"Layout delle caselle di testo: top-bottom, top-only, bottom-only, center, side-by-side
textBoxesarrayNo[]Array di oggetti casella di testo con i campi id e text
fontFamilystringNo"anton"Font: anton, arial-black, comic-sans, montserrat, bebas-neue, permanent-marker, roboto
fontSizenumberNoautoDimensione del font in pixel (da 8 a 200). Calcolata automaticamente se omessa
textColorstringNo"#ffffff"Colore di riempimento del testo
strokeColorstringNo"#000000"Colore del contorno del testo
textAlignstringNo"center"Allineamento del testo: left, center, right
allCapsbooleanNotrueConverti il testo in maiuscolo

Text Boxes

Ogni voce nell'array textBoxes dovrebbe avere:

FieldTypeDescription
idstringIdentificatore della casella corrispondente al layout (ad es. "top", "bottom", "left", "right", "center")
textstringIl testo del meme da visualizzare

Text Layout Box IDs

LayoutAvailable Box IDs
top-bottomtop, bottom
top-onlytop
bottom-onlybottom
centercenter
side-by-sideleft, right

Example Request

Immagine personalizzata con testo in alto e in basso:

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 un template integrato (corpo JSON, nessun file da caricare):

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"}]}'

Example Response

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

Notes

  • È richiesto o un templateId o un file immagine caricato. Se si forniscono entrambi, viene usato il template.
  • I template definiscono le posizioni delle proprie caselle di testo; il parametro textLayout viene ignorato quando si usano i template.
  • Il testo viene renderizzato come SVG con contorni per ottenere il classico look dei meme.
  • La dimensione del font viene calcolata automaticamente per adattarsi alla casella di testo se non impostata esplicitamente.
  • Le caselle di testo vuote vengono ignorate (non avviene alcun rendering se tutte le caselle sono vuote).
  • Il nome file di output include l'ID del template quando si usano i template (ad es. meme-drake.png).
  • Gli input HEIC, RAW, PSD e SVG vengono decodificati automaticamente prima dell'elaborazione.