← All ivy-agents
IVYXSTUDIO · IVY AGENT
C

Campaign banner set

ivy.agent.campaign-banner-set · v0.1.0

ivyx

Turns a client's brief into a display banner set: a model writes one line and a palette, and the banners are drawn as SVG in the three standard sizes (1200x628, 728x90, 300x250), each with the call to action. What comes out is kind deliverables for IVYX Agency.

Steps

In the order the agent's file lists them, each with where its inputs come from and the values the file fixes. A branch or a loop is a step too.

  1. 01
    Put the request together for the model
    ivy.node.design-brief

    Puts the request together as one text for the model's turn: the client, the service, the month, the brief and the figures, so the model writes for the right client.

    takes
    brief from the agent's input
    client from the agent's input
    service from the agent's input
    request_id from the agent's input
    Ivy Node
  2. 02
    Write the line and the palette from the brief

    The context is a client's brief for a web banner campaign, with the client's name. Return a JSON object with: headline (at most 7 words, the one thing to say), subline (at most 16 words), cta (at most 3 words, a verb), palette (an object with bg, accent and text as 6-digit hex colours that fit the brief's mood; dark bg with light text or the reverse, always readable), layout (one of poster, split, band, minimal; poster when unsure), brand (the client's name as given), caption (one sentence saying what the visual shows, for the record), art_style (one of gradient, waves, grid, blobs for the picture behind the campaign). Answer with the JSON object only. Colours are 6-digit hex. Keep the words short and concrete; no exclamation marks; no claims the brief does not make.

    takes
    context from step 1
    Model turn
  3. 03
    Draw the banners
    ivy.node.design-svg-card

    Draws a social post, a poster or a banner as SVG from a spec (headline, subline, cta, palette, layout, brand) in the sizes asked for.

    takes
    spec from step 2, output
    fallback_text from the agent's input, brief
    name_prefix from the agent's input, client
    set
    sizes ["1200x628","728x90","300x250"]
    Ivy Node
  4. 04
    Pack the deliverables
    ivy.node.design-pack

    Gathers the files the steps before it made into one answer of kind deliverables (request, client, service, brief, the spec, the files with their bytes).

    takes
    spec from step 2, output
    request_id from the agent's input
    client from the agent's input
    service from the agent's input
    brief from the agent's input
    files_a from step 3, files
    returns
    kind, request_id, client, service, brief, spec, files, count
    Ivy Node

Nodes it brings

Adding this agent in IVYX Studio adds these nodes with it. A node your workspace already has is kept as it is, even at another version.

What it touches

Collected from what each of its nodes declares, plus the model call when a step is a model turn. A declaration is the author's statement, and it is what policy rules select on.

Calls a model

Inputs

FieldTypeDescription
briefrequiredstringWhat the client asked for, in their words or the account lead's: the subject, the audience, the tone, the colours if any.
clientstringThe client's name, as IVYX Agency knows it.
servicestringThe service this is work for, as IVYX Agency knows it (e.g. Content Production).
request_idstringThe request's id on the channel it came from; the key that keeps one request from running twice.

Outputs

FieldTypeDescription
kindrequiredstringdeliverables: what this output is, for a receiver that takes several kinds.
request_idstringNot declared
clientstringNot declared
servicestringNot declared
briefstringNot declared
specobjectThe design spec the model wrote from the brief, as rendered.
filesrequiredarrayThe files made: name, mime, kind, bytes, data (base64), width, height, caption, variant.
countrequiredintegerNot declared

Tests

2 of 2 test cases passed on Oct 25, 2026, in the publisher's own environment, before this version was published. The registry keeps that record; it does not run the cases again.

Requires: python:3.9, a model core

  • spring-campaign

    A booking tool's spring campaign is three web banners in the three standard sizes.

    given
    brief Northwind runs a spring campaign for its booking tool: book in two taps. Blue and white, confident.
    client Northwind
    service Content Production
    request_id case-banners-1
    expects
    kind equals deliverables
    count equals 3
    client equals Northwind
    files.0.variant equals 1200x628
    files.1.variant equals 728x90
    files.2.variant equals 300x250
    files.2.data matches ^PHN2Zy
  • terse-brief

    A brief of a few words still draws all three sizes.

    given
    brief Winter sale, 20% off.
    expects
    kind equals deliverables
    count equals 3