# Generator certyfikatów: PDF i obrazek z jednego szablonu

> Certyfikaty ukończenia kursu, wydarzeń i nagród z jednego szablonu: pojedynczo przez API albo setki z CSV, jako PDF i obrazek do udostępnienia.

Opublikowano 2026-11-04 · https://shareglint.com/pl/use-cases/certificates

Żeby wystawiać certyfikaty automatycznie, zaprojektuj jeden szablon, a potem wysyłaj do API imię i nazwisko, nazwę kursu i datę każdego odbiorcy — jedno zapytanie, gdy kursant kończy kurs, albo jedno zlecenie hurtowe dla całej grupy z arkusza. Shareglint zwraca **jednostronicowy PDF do druku** oraz, z tego samego szablonu, **obrazek do udostępnienia** w mailu albo na LinkedInie. Wbudowane są cztery szablony certyfikatów (`certificate`, `certification-earned`, `award-achievement`, `graduation`); możesz też użyć własnego HTML-a i CSS w rozmiarze papieru.

Kilka certyfikatów bez kodu zrobisz w darmowym [generatorze certyfikatów](https://shareglint.com/pl/tools/certificate-generator): wypełnia szablon w przeglądarce i pobiera gotowy plik.

## Szablony

| Szablon | Pola | Do czego |
|---|---|---|
| `certificate` | name, course, date, issuer, issuer_role, seal, logo… | Ukończenie kursu |
| `certification-earned` | credential, name, issuer, issued, expires, credential_id, verify_url, skills, badge | Certyfikaty zawodowe z identyfikatorem |
| `award-achievement` | recipient, award_name, placement, category, issuer, year, photo | Konkursy i nagrody |
| `graduation` | name, degree, school, class_year, honors, photo, school_logo | Absolwenci i roczniki |

Każdy wbudowany szablon renderuje się w każdym presecie rozmiaru (og 1200×630, square 1080×1080, portrait 1080×1350, story 1080×1920, pinterest 1000×1500, youtube 1280×720) i oprócz swoich pól przyjmuje `accent` oraz `theme` (dark albo light), więc ten sam certyfikat wychodzi w kolorze twojej marki jako karta 1200×630 do udostępnienia albo kwadratowy post. Obejrzysz je w [galerii szablonów](https://shareglint.com/pl/templates/certificate). Do druku skopiuj szablon i ustaw rozmiar papieru: 1123×794 px to A4 w poziomie, 1056×816 px to US Letter w poziomie. Strona PDF ma dokładnie rozmiar szablonu, co wyjaśnia strona o [API do generowania PDF](https://shareglint.com/pl/pdf-generation-api).

## Jeden certyfikat, gdy kursant kończy kurs

Większość platform LMS i kursowych potrafi wywołać webhook po ukończeniu kursu. Twój handler wysyła jedno zapytanie:

```javascript
const res = await fetch('https://shareglint.com/v1/images?wait=true', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.CERT_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    template: 'certificate',
    format: 'pdf',
    modifications: {
      name: learner.fullName,
      course: course.title,
      date: new Date().toLocaleDateString('pl-PL', { dateStyle: 'long' }),
      issuer: course.instructor,
      logo: 'https://example.com/logo.png',
    },
  }),
});
const { url } = await res.json(); // https://…/img_….pdf
```

Zapisz `url` przy zapisie na kurs i wstaw go do maila z gratulacjami. Zapytaj jeszcze raz z `"format": "png"`, żeby dostać obrazek, który ludzie publikują. Długie nazwiska zmniejszają się, żeby się zmieścić, zamiast się zawijać; obrazki, takie jak `logo`, są pobierane z publicznych adresów w chwili renderowania certyfikatu. Nie wywołuj API z kodu w przeglądarce: klucz stałby się publiczny.

## Cała grupa z arkusza

Po bootcampie albo konferencji wyeksportuj uczestników i wyślij jedno zlecenie hurtowe:

```bash
curl -X POST "https://shareglint.com/v1/batches" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "template": "certificate",
    "format": "pdf",
    "csv_url": "https://docs.google.com/spreadsheets/d/…/edit?usp=sharing"
  }'
```

Kolumny nazwane tak jak pola (`name`, `course`, `date`, `issuer`) przypisują się same; pozostałe przypiszesz przez `columns`. Kolumna `filename` nadaje nazwę każdemu PDF-owi w ZIP-ie (`amelia-nowak.pdf`), a `id` wraca przy wyniku każdego wiersza, więc łatwo dopasujesz certyfikaty do osób. `GET /v1/batches/{id}` podaje postęp, a po zakończeniu każdy adres i jedno archiwum ZIP. Limit wierszy na zlecenie według planu: Free 50, Starter 500, Pro 1 000, Scale 2 000, Business 5 000. Jeśli poprawisz literówkę i uruchomisz zlecenie jeszcze raz, nowymi renderami będą tylko zmienione wiersze; niezmienione zwrócą istniejące pliki za darmo. Formaty CSV opisuje [poradnik o renderowaniu hurtowym](https://shareglint.com/en/guides/bulk-og-images-from-csv-google-sheets) (po angielsku).

Strona **Bulk** w panelu robi to samo bez kodu — wgrywasz CSV albo wklejasz link do arkusza, przypisujesz kolumny, za darmo podglądasz pierwsze certyfikaty i pobierasz ZIP. Asystent AI podłączony do [serwera MCP](https://shareglint.com/pl/mcp-server) uruchomi to z czatu przez `create_batch`.

## Linki w mailu zamiast plików

Nie musisz renderować certyfikatów przed wysyłką. Podpisany adres (`/i/…/certificate.pdf?name=…&course=…&s=…`, podpisany twoim sekretem do podpisów) to kompletny link, który renderuje PDF przy pierwszym otwarciu, a potem serwuje plik z pamięci podręcznej. Wstaw go do szablonu maila w swoim narzędziu do mailingu z polami odbiorcy, a limit zużyją tylko certyfikaty, które ktoś otworzy. Podpis obejmuje każde pole, więc odbiorca nie zmieni nazwiska w linku. [Dokumentacja](https://shareglint.com/pl/docs#signed) pokazuje, jak podpisywać adresy w każdym języku.

## Weryfikacja i udostępnianie

Przy certyfikatach, które ludzie wpisują do CV, użyj `certification-earned`: jego `credential_id` i `verify_url` drukują się na certyfikacie i wskazują stronę w twoim serwisie, która potwierdza uprawnienie. My renderujemy ten link; strona weryfikacji i rekord za nią należą do ciebie. Na LinkedIn ludzie dołączają do posta PNG z tego samego szablonu. Wpis w sekcji *Licencje i certyfikaty* na profilu dodaje sam użytkownik; jako wystawca certyfikatów możesz udostępnić przycisk LinkedIna [Add to Profile](https://addtoprofile.linkedin.com/), który wypełnia go za niego — razem z identyfikatorem i adresem certyfikatu, więc trafia tam twoja strona weryfikacji ([Pomoc LinkedIn](https://www.linkedin.com/help/linkedin/answer/a528030/linkedin-add-to-profile-feature-faqs)).

## Ile to kosztuje

Każdy certyfikat to jeden render na format: grupa 300 osób w PDF-ie to 300 renderów, a wersje PNG kolejne 300. Plan Free ma 100 renderów miesięcznie ze znakiem wodnym — wystarczy, żeby zaprojektować i przetestować szablon, ale nie do wystawiania prawdziwych certyfikatów. Starter kosztuje $9 miesięcznie za 2 000 renderów bez znaku wodnego ($4,50 za 1000), a jednorazowa paczka 1 000 renderów za $8 pokryje miesiąc rozdania dyplomów bez zmiany planu. [Cennik](https://shareglint.com/pl/pricing) porównuje to z narzędziami do certyfikatów od Bannerbear, Placid i innych.

## Czego nie robi

- Nie wysyła maili i nie prowadzi portalu z certyfikatami; adres dostarcza twoja platforma kursowa albo narzędzie do mailingu.
- Każdy PDF ma jedną stronę. Certyfikat z wykazem ocen na drugiej stronie wymaga narzędzia do dokumentów.
- Kroje pisma to zainstalowane rodziny; własnego pliku z fontem nie wgrasz. Font do szablonu wybierz z `GET /v1/fonts`.
- Nie przechowujemy ani nie weryfikujemy uprawnień — `verify_url` jest drukowany, a nie sprawdzany.

## FAQ

### Czy mogę generować certyfikaty hurtowo z arkusza?

Tak. POST /v1/batches przyjmuje szablon certyfikatu, link do CSV lub Arkuszy Google i format, np. pdf, renderuje jeden certyfikat na wiersz i zwraca adres każdego pliku oraz ZIP ze wszystkimi. Strona Bulk w panelu robi to samo z wgranego pliku CSV.

### Certyfikaty są w PDF-ie czy jako obrazki?

Jedno i drugie, z tego samego szablonu: format pdf daje jednostronicowy, wektorowy PDF o rozmiarze szablonu, a png lub jpeg obrazek do maila i social mediów. Każdy format to osobny render.

### Czy wysyłacie certyfikaty odbiorcom mailem?

Nie. API zwraca adres każdego certyfikatu; wysyła go twoja platforma kursowa, narzędzie do mailingu albo krótki skrypt. Podpisany adres można wstawić prosto do szablonu maila, więc nic się nie renderuje, dopóki odbiorca go nie otworzy.

### Ile kosztuje jeden certyfikat?

Jeden render z miesięcznego limitu na certyfikat i format. Plan Free ma miesięczną pulę ze znakiem wodnym; plany płatne nie mają znaku wodnego. Ponowny render tego samego certyfikatu z tymi samymi wartościami jest darmowy.

### Czy certyfikat może mieć link weryfikacyjny albo identyfikator?

Szablon certification-earned ma pola credential_id i verify_url, które drukują się na certyfikacie. Strona weryfikacji należy do ciebie: renderujemy link, ale nie przechowujemy ani nie sprawdzamy uprawnień.
