Figma plugin
Open editable image ads in Figma, edit visually, and sync the result back to the Static Ads Lab API.
The Static Ads Lab Figma plugin gives designers a visual editor for editable image ads. It pulls an ad's JSON tree into Figma, lets you edit on canvas, and syncs the result back through the API — keeping your tree, render, and version history aligned.
Install
Install Static Ads Lab from the Figma Community — open the listing inside Figma to add the plugin to your workspace.
You'll also need:
- An editable image ad in your Static Ads Lab workspace.
- A Static Ads Lab API key (create one at Settings → API Keys).
What it does
sequenceDiagram
participant U as Designer
participant F as Figma + plugin
participant API as Static Ads Lab API
U->>F: Open Figma, run Static Ads Lab plugin
F->>API: GET /v1/image-ads/:id
API-->>F: current_json_tree + figma_render_url
F->>U: Render frame on canvas
U->>F: Edit text, swap images, tweak layout
F->>API: POST /v1/image-ads/sync (items)
API-->>F: 200 { results }
Note over API: New version (iav_...) created- Loads an editable ad's JSON tree as a Figma frame.
- Lets you edit text, swap image fills, and adjust layout within Figma.
- Pushes the updated tree and a render PNG back to the API as a new version.
Workflow
- Generate an editable ad via the API. The ad must have
editable: true— flat ads have no JSON tree to edit. - Open the plugin in Figma. Sign in with your API key the first time.
- Load the ad by its
ia_…ID. - Edit on canvas. Standard Figma actions — change text, replace fills, adjust positioning — within the constraints of the template's tree.
- Sync. The plugin uploads the new tree and rendered PNG to
POST /v1/image-ads/sync. The API creates a new version (iav_…) you can list viaGET /v1/image-ads/:id/versions.
When to use the plugin vs API-only
| Scenario | Use |
|---|---|
| You want pixel-perfect designer touchups | Plugin |
| You want a human-in-the-loop step before publishing | Plugin |
| You're producing many programmatic variants | API (edit-and-rerender) |
| You don't need to modify ads after generation | API (flat ads — cheaper, simpler) |
Limits
- Sync requests can include up to 10 ads per call.
- Only editable image ads can be synced. Flat ads have no tree.
- Image fills must be public URLs; the plugin uploads any new images via
POST /v1/imagesfirst.
Programmatic alternative
If you're not using Figma but want the same round-trip flow (e.g. integrating a different design tool), you can call the same endpoints directly. See Figma sync for the request shape.