Figma plugin
Open 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 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 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 revision saved, image renders in the background- Loads an 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 ad via the API. Every ad is editable; wait for
status: "completed". - 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 saves a new revision and re-renders the image in the background. Earlier states are kept as versions (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 want quick changes from code or an agent | API (design edits) |
Limits
- Sync requests can include up to 10 ads per call.
- Only ads the editor supports (
editor_supported: true) can be synced. - 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.