Żeby generować obrazki w Airtable, dodaj automatyzację z akcją Run a script (uruchom skrypt): gdy rekord jest gotowy, skrypt wysyła jego pola do https://shareglint.com/v1/images?wait=true i zapisuje zwrócony obrazek w polu załącznika tego samego rekordu. Obrazek widać wtedy w widoku siatki i galerii, a jego adres możesz zapisać w drugim polu dla swojej strony albo narzędzia do planowania postów. Natywnego rozszerzenia Airtable nie ma; integracją jest skrypt poniżej.
Czego wymaga Airtable
Według pomocy i dokumentacji dla deweloperów Airtable (stan na 6 listopada 2026):
- Plan: akcja Run a script nie jest dostępna w planie Free ani w wersji próbnej planu Team (Pomoc Airtable).
- Czas działania: skrypt może obecnie działać do 120 sekund (Airtable pisze, że to limit tymczasowo podniesiony z 30 sekund), każde
fetch()kończy się po 30 sekundach, a jedno uruchomienie może wykonać 50 zapytań fetch (ta sama strona). - Załączniki z adresu URL: „To create new attachments, provide the url and optionally filename” (żeby utworzyć nowe załączniki, podaj url i opcjonalnie filename); adres musi być publicznie dostępny, a plik wgrywa się asynchronicznie (Airtable Web API). W skryptach „the specified array will overwrite the current cell value” (podana tablica nadpisze bieżącą wartość komórki), więc jeśli chcesz zachować dotychczasowe załączniki, dołącz je do tablicy.
Render trwa kilka sekund, czyli mieści się w tych limitach z dużym zapasem; animowane GIF-y i MP4 trwają dłużej, więc rób ich najwyżej kilka na uruchomienie.
Tabela
Załóż tabelę, w której kolumnami są pola szablonu, i dodaj do nich:
- Status (single select, pojedynczy wybór):
Draft,Ready,Done. - Image (attachment, załącznik).
- Image URL (URL) — przydaje się, bo adresy załączników samego Airtable „expire 2 hours after being returned from our API” (wygasają 2 godziny po tym, jak zwróci je API), a adres renderu pozostaje ten sam przez cały okres przechowywania w twoim planie.
Automatyzacja
- Wyzwalacz: When a record matches conditions (gdy rekord spełnia warunki) — Status to
Ready. - Akcja: Run a script. W Input variables (zmienne wejściowe) dodaj
recordId(identyfikator rekordu z wyzwalacza) i pola, których potrzebuje szablon, na przykładtitleiauthor. - Akcja: Update record (zaktualizuj rekord) — Status na
Done(albo zrób to w skrypcie, jak niżej).
Skrypt:
// Run a script — renderuje jeden obrazek dla rekordu, który uruchomił automatyzację.
const { recordId, title, author } = input.config();
const API_KEY = 'sk_live_...'; // klucz utworzony tylko dla tej bazy; unieważnij go, jeśli udostępniasz bazę
const response = await fetch('https://shareglint.com/v1/images?wait=true', {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
template: 'social-post',
format: 'png',
modifications: { text: title, name: author },
}),
});
const image = await response.json();
if (!response.ok) {
throw new Error(`Render failed (${response.status}): ${JSON.stringify(image)}`);
}
const table = base.getTable('Posts');
await table.updateRecordAsync(recordId, {
'Image': [{ url: image.url, filename: `${recordId}.png` }],
'Image URL': image.url,
'Status': { name: 'Done' },
});
Airtable pobiera plik spod image.url do pola załącznika. Nieudany render rzuca wyjątek, więc w historii automatyzacji to uruchomienie widać jako nieudane, a rekord zostaje w stanie Ready. Popraw dane, a potem ustaw Status na Draft i z powrotem na Ready, żeby uruchomić je jeszcze raz (wyzwalacz działa w chwili, gdy rekord zaczyna spełniać warunki).
O kluczu. Każdy, kto może edytować bazę, może przeczytać skrypt, a razem z nim klucz. Utwórz w panelu Shareglint osobny klucz API dla tej bazy — jego unieważnienie nie wpłynie wtedy na nic innego.
Kilka rozmiarów albo wiele rekordów naraz
- Rozmiary: dodaj do treści zapytania
sizes: ['square', 'story']. Odpowiedź zawiera listęrendersz jednymurlna rozmiar; każdy zapisz w osobnym polu załącznika albo wszystkie w jednym polu jako tablicę. - Wiele rekordów: skrypt, który renderuje jeden obrazek na jedno
fetch(), obsłuży do 50 rekordów w jednym uruchomieniu. Przy całej tabeli wyślij jednoPOST /v1/batchesz rekordami wrows(jedno zapytanie), potem odczytaj zlecenie przezGET /v1/batches/{id}i zapisz z powrotemurlkażdego wiersza. Limit wierszy na zlecenie według planu: Free 50, Starter 500, Pro 1 000, Scale 2 000, Business 5 000. Jeśli zapisujesz wyniki spoza Airtable, przez Web API, obowiązuje limit 5 zapytań na sekundę na bazę (limity zapytań Airtable).
Ponowne uruchomienie rekordu z niezmienionymi polami nic nie kosztuje: ten sam szablon i te same wartości zwracają istniejący obrazek bez zużywania limitu.
Do jakich baz to pasuje
W Airtable często już leżą dane, z których powstają powtarzalne grafiki, więc automatyzacja wpasowuje się w bazy, których zespoły i tak używają:
- Kalendarz treści. Jeden rekord na post, z cytatem albo nagłówkiem; obrazek czeka w rekordzie, gdy post zostanie zatwierdzony, w rozmiarach, których potrzebuje każda sieć (grafiki do social mediów).
- Katalog produktów. Nazwa, cena i zdjęcie każdego produktu; karta promocji albo obniżki dla rekordu, gdy zmieni się pole ceny (grafiki produktowe dla e-commerce).
- Wydarzenia. Prelegenci albo uczestnicy jako rekordy; karta prelegenta albo identyfikator dla każdego z nich (grafiki na wydarzenia).
- Kursy. Ukończenia jako rekordy; certyfikat dla każdego kursanta, jako PDF z
format: 'pdf'(certyfikaty).
W każdym przypadku to warunek wyzwalacza decyduje o tym, że wychodzi tanio: renderuj, gdy rekord zostanie zatwierdzony albo zmieniony, a nie przy każdej edycji.
Bez skryptu
W planie bez skryptów użyj Zapiera, Make albo n8n z wyzwalaczem Airtable i krokiem HTTP: to samo zapytanie, a potem krok Airtable Update record, który zapisuje adres w polu załącznika.
Koszt
Jeden render na obrazek i rozmiar; powtórki są darmowe. 100 renderów miesięcznie w planie Free ma znak wodny; Starter kosztuje $9 miesięcznie za 2 000 renderów (cennik).
Czego nie robi
- To nie jest rozszerzenie ani aplikacja Airtable: w interfejsie Airtable nie pojawia się żaden przycisk, działa tylko automatyzacja.
- Nie czyta twojej bazy: każde zapytanie zawiera tylko pola, które wysyła skrypt.
- Nie przechowuje obrazków dłużej niż okres przechowywania w twoim planie; pole załącznika Airtable przechowuje sam, jako część rekordu.