docs
/
AI skills

Ad creatives for a campaign

Design a campaign's ads in Creative Studio, one frame per platform at its feed size, with the featured products' photos and the campaign's copy. The finished frames go back onto the campaign as its creatives, and a draft post can carry one. Nothing launches.

A campaign opens Creative Studio with what to design for: one frame per platform, the featured products' photos and descriptions as material, and a link back. Use These Designs sends the finished frames to the campaign. The link back exists only when the person opens the studio from the campaign, so that step is theirs.

Ask first

  • Which campaign? By name. If it's new: its name, type: "social" (or display for banners), and the platforms.
  • The platforms. Each one gets a frame at its feed size:
PlatformFrame (px)
facebook1200 × 630
instagram1080 × 1080
linkedin1200 × 627
twitter1200 × 675
tiktok1080 × 1920
pinterest1000 × 1500
youtube1280 × 720

google has no frame size, so it gets no frame.

  • The featured products, if any. Their photos and descriptions become the studio's material.
  • The copy: headline, description, call to action. Use only what they give, or write it and get a yes.
  • Pictures: the products' own photos, their files, or generated ones. Generating costs money (see the Stop in step 4).
  • The brand: is there a brand design (Brand kit for designs)?

Steps

1. Marketing & Ads: the campaign and its copy

Find it with marketing_list_campaigns { search }, or make it with marketing_create_campaign { name, type, platforms, objective?, description?, targetAudience? }. It is always a draft. Save the copy per platform with marketing_save_ad_copy { campaignId, platform, headlines, descriptions, cta }. Nothing is published.

Don't create or change campaigns with create_record, update_record or call_appengine. The marketing_* tools are the Campaigns screen's own API.

Hands on: the campaign's id. Check: the campaign is on the Campaigns list in Marketing & Ads (/ads), as a draft, with its platforms.

2. Marketing & Ads: open Creative Studio from the campaign (the person)

Ask the person to open the campaign, go to its Creatives tab, and press one of these:

ButtonOpens
Design in Creative StudioThe design this campaign last used, or a new one with a frame per platform
Pick a designThe library. The design they open is the one designed for the campaign.
Generate (on a featured product)The studio, with a request to the Design AI to make that product's ad in each frame

To start from the brand, first copy the brand design (see Brand kit for designs), then use Pick a design and open the copy. A new design from the campaign starts with the default brand kit.

navigate can't open the studio for a campaign: the link back can't travel in route params. A design opened from the library is not linked, and Use These Designs doesn't appear.

Check: the editor shows a chip with the campaign's name at the top, and one frame per platform.

3. Creative Studio: the material

The featured products' photos and descriptions are in the Material panel. The Design AI is not told the campaign's brief, its products or their photos. It sees only the canvas. To use a product photo, the person clicks it in the Material panel, which drops it on the canvas. Then the AI can place it with cs_update_objects, or rework it when the person selects it.

On a new design, a platform that already has a creative on the campaign gets that picture placed in its frame.

4. Creative Studio: each frame

Work frame by frame. The frames and their ids are in context.canvas.frames. Pass frameId on every tool.

  • The brand kit, if there's no brand copy: cs_apply_design_system.
  • Pictures: cs_add_to_canvas with an image url and fit: "cover", or cs_generate_image { prompt, placement: "background", frameId }.
  • The copy: cs_add_to_canvas textboxes, sized to each frame (headline about frame width ÷ 10). The tall TikTok frame needs its own layout, not a stretched copy of the square one.
  • Then cs_save.

Stop: every generated image is billed to the business per image (see Service rates), or by their own AI provider if they use their own key. With several frames, say how many images will be generated before starting, then wait for yes.

Check: every tool answered confirmed: true, and the library card shows the first frame.

5. Creative Studio: Use These Designs (the person)

Ask the person to press Use These Designs on the campaign chip. It saves the design, exports every frame as a PNG at twice the frame's size into Files (creative-studio/exports/marketing-campaign/<campaign id>/), and writes them onto the campaign's creatives: one per frame, with designId, frameId, platform, url and source: "creative-studio". Pressing it again replaces this design's earlier frames instead of adding copies.

Hands on: each creative's url and platform. Check: the campaign's Creatives tab shows one picture per frame.

6. Social Media: a draft post (if asked)

marketing_draft_social_post { platform, text, campaignId, imageUrl: "<creative url>" } saves a draft post linked to the campaign. No account is chosen yet.

Stop: nothing here launches or posts. Launching a campaign spends its budget, and publishing posts to the public. The person presses Launch on the campaign, and Publish or Schedule on the post in Social Media → Posts (/social-manager?tab=posts). There is no AI tool for either.

Check: the draft is in Social Media → Posts with the picture, linked to the campaign.

When it's done

Tell the person:

  • the campaign and its platforms, still a draft;
  • the design's name and its frames;
  • whether images were generated, and how many (billed);
  • the creatives now on the campaign;
  • any draft posts, and that they publish or launch themselves.

Open the campaign on its Creatives tab.

What it can't do yet

  • The AI can't open the studio for a campaign or press Use These Designs. Both are the person's clicks.
  • The Design AI doesn't see the campaign. Its brief, audience, products and copy are not sent with Design AI requests. The Generate button on a product asks the AI to use "its product photo from the campaign material", which the AI can't see. Put the photo on the canvas first.
  • No video creatives. The frames are still images, including TikTok's.
  • The design's own preview is not a creative. Only Use These Designs renders the frames at full size.

Don'ts

  • Don't launch, schedule or publish anything. Those buttons are the person's.
  • Don't design the campaign on the brand design itself. Copy it first.
  • Don't generate images for every frame without saying how many and getting a yes.
  • Don't put prices, discounts or dates on the ads that the person didn't give.