The Orshot Airtable integration uses Airtable's Scripting extension to generate dynamic images directly from your table data. This integration allows you to create images using your existing Airtable records as data sources, perfect for automating image generation based on database content.
<TABLE_NAME> with your actual table name<OUTPUT_COLUMN_NAME> with "Orshot Image"os-sjPyrek4eygmq with your actual Orshot API keytemplateId to your desired Studio template ID (e.g., 25)"canvasBackgroundColor": record.getCellValue('canvasBackgroundColor'),
"main-headline": record.getCellValue('main-headline'),
"sub-headline": record.getCellValue('sub-headline'),
"app-screenshot": record.getCellValue('app-screenshot'),
"cta-text": record.getCellValue('cta-text')const table = base.getTable("<TABLE_NAME>");
const record = await input.recordAsync("Pick a record", table);
const requestData = {
templateId: 25,
modifications: {
canvasBackgroundColor: record.getCellValue("canvasBackgroundColor"),
"main-headline": record.getCellValue("main-headline"),
"sub-headline": record.getCellValue("sub-headline"),
"app-screenshot": record.getCellValue("app-screenshot"),
"cta-text": record.getCellValue("cta-text"),
},
response: {
type: "url",
format: "png",
scale: 1,
},
};
const response = await fetch("https://api.orshot.com/v1/studio/render", {
method: "POST",
body: JSON.stringify(requestData),
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <YOUR_API_KEY>",
},
});
const responseData = await response.json();
await table.updateRecordAsync(record.id, {
"<OUTPUT_COLUMN_NAME>": [{ url: responseData.data.content }],
});