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

Générateur de mèmes

Créez des mèmes à partir de modèles intégrés ou d'images personnalisées. Ajoutez du texte avec le style classique des mèmes (texte gras et contouré), plusieurs préréglages de disposition et des choix de police.

Point de terminaison API

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

Accepte au choix :

  • Données de formulaire multipart avec un fichier image et un champ JSON settings (mode image personnalisée)
  • Corps JSON avec un templateId (mode modèle, aucun envoi de fichier nécessaire)

Paramètres

ParamètreTypeRequisDéfautDescription
templateIdstringNon-ID du modèle de mème intégré. S'il est fourni, aucun envoi d'image n'est nécessaire
textLayoutstringNon"top-bottom"Disposition des zones de texte : top-bottom, top-only, bottom-only, center, side-by-side
textBoxesarrayNon[]Tableau d'objets de zone de texte avec les champs id et text
fontFamilystringNon"anton"Police : anton, arial-black, comic-sans, montserrat, bebas-neue, permanent-marker, roboto
fontSizenumberNonautoTaille de police en pixels (8 à 200). Calculée automatiquement si omise
textColorstringNon"#ffffff"Couleur de remplissage du texte
strokeColorstringNon"#000000"Couleur du contour du texte
textAlignstringNon"center"Alignement du texte : left, center, right
allCapsbooleanNontrueConvertir le texte en majuscules

Zones de texte

Chaque entrée du tableau textBoxes doit comporter :

ChampTypeDescription
idstringIdentifiant de zone correspondant à la disposition (par exemple "top", "bottom", "left", "right", "center")
textstringLe texte du mème à afficher

ID de zones par disposition de texte

DispositionID de zones disponibles
top-bottomtop, bottom
top-onlytop
bottom-onlybottom
centercenter
side-by-sideleft, right

Exemple de requête

Image personnalisée avec texte en haut et en bas :

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

Utilisation d'un modèle intégré (corps JSON, aucun envoi de fichier) :

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

Exemple de réponse

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

Remarques

  • Soit un templateId, soit un fichier image envoyé est requis. Si les deux sont fournis, le modèle est utilisé.
  • Les modèles définissent leurs propres positions de zones de texte ; le paramètre textLayout est ignoré lors de l'utilisation d'un modèle.
  • Le texte est rendu en SVG avec des contours pour obtenir le look classique des mèmes.
  • La taille de police est calculée automatiquement pour s'adapter à la zone de texte si elle n'est pas définie explicitement.
  • Les zones de texte vides sont ignorées (aucun rendu n'a lieu si toutes les zones sont vides).
  • Le nom du fichier de sortie inclut l'ID du modèle lorsqu'un modèle est utilisé (par exemple meme-drake.png).
  • Les entrées HEIC, RAW, PSD et SVG sont automatiquement décodées avant le traitement.