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

Generator memów

Twórz memy przy użyciu wbudowanych szablonów lub własnych obrazów. Dodawaj tekst w klasycznej stylistyce memów (pogrubiony tekst z obrysem), z wieloma gotowymi układami i opcjami czcionek.

Punkt końcowy API

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

Przyjmuje jedno z dwóch:

  • Dane formularza multipart z plikiem obrazu i polem JSON settings (tryb własnego obrazu)
  • Treść JSON z templateId (tryb szablonu, bez potrzeby przesyłania pliku)

Parametry

ParametrTypWymaganyDomyślnieOpis
templateIdstringNie-ID wbudowanego szablonu memu. Jeśli podane, nie trzeba przesyłać obrazu
textLayoutstringNie"top-bottom"Układ pól tekstowych: top-bottom, top-only, bottom-only, center, side-by-side
textBoxesarrayNie[]Tablica obiektów pól tekstowych z polami id i text
fontFamilystringNie"anton"Czcionka: anton, arial-black, comic-sans, montserrat, bebas-neue, permanent-marker, roboto
fontSizenumberNieautoRozmiar czcionki w pikselach (8 do 200). Obliczany automatycznie, jeśli pominięty
textColorstringNie"#ffffff"Kolor wypełnienia tekstu
strokeColorstringNie"#000000"Kolor obrysu/konturu tekstu
textAlignstringNie"center"Wyrównanie tekstu: left, center, right
allCapsbooleanNietrueZamień tekst na wielkie litery

Pola tekstowe

Każdy wpis w tablicy textBoxes powinien mieć:

PoleTypOpis
idstringIdentyfikator pola pasujący do układu (np. "top", "bottom", "left", "right", "center")
textstringTekst memu do wyświetlenia

Identyfikatory pól dla układów tekstu

UkładDostępne ID pól
top-bottomtop, bottom
top-onlytop
bottom-onlybottom
centercenter
side-by-sideleft, right

Przykładowe żądanie

Własny obraz z tekstem u góry i u dołu:

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

Z użyciem wbudowanego szablonu (treść JSON, bez przesyłania pliku):

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

Przykładowa odpowiedź

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

Uwagi

  • Wymagane jest podanie templateId albo przesłanego pliku obrazu. Podanie obu naraz spowoduje użycie szablonu.
  • Szablony definiują własne pozycje pól tekstowych; parametr textLayout jest ignorowany przy użyciu szablonów.
  • Tekst jest renderowany jako SVG z obrysem, aby uzyskać klasyczny wygląd memu.
  • Rozmiar czcionki jest obliczany automatycznie tak, aby zmieścić tekst w polu, jeśli nie został ustawiony jawnie.
  • Puste pola tekstowe są pomijane (renderowanie nie następuje, jeśli wszystkie pola są puste).
  • Nazwa pliku wynikowego zawiera ID szablonu przy jego użyciu (np. meme-drake.png).
  • Pliki wejściowe HEIC, RAW, PSD i SVG są automatycznie dekodowane przed przetwarzaniem.