Static Ads Lab

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

  1. Generate an editable ad via the API. The ad must have editable: true — flat ads have no JSON tree to edit.
  2. Open the plugin in Figma. Sign in with your API key the first time.
  3. Load the ad by its ia_… ID.
  4. Edit on canvas. Standard Figma actions — change text, replace fills, adjust positioning — within the constraints of the template's tree.
  5. 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 via GET /v1/image-ads/:id/versions.

When to use the plugin vs API-only

ScenarioUse
You want pixel-perfect designer touchupsPlugin
You want a human-in-the-loop step before publishingPlugin
You're producing many programmatic variantsAPI (edit-and-rerender)
You don't need to modify ads after generationAPI (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/images first.

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.