Logo concepts
ivy.agent.logo-concepts · v0.1.0
ivyx
Turns a client's brief into three first logo concepts (a mono mark, a badge, a wordmark) as SVG: a model chooses the initials, a tagline and a palette from the brief, the marks are drawn from them. Concepts to react to, not an identity; 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.
- 01Ivy NodePut the request together for the modelivy.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
brieffrom the agent's inputclientfrom the agent's inputservicefrom the agent's inputrequest_idfrom the agent's input
- 02Model turnChoose the name, initials, tagline and palette
The context is a client's brief for a logo, with the client's name. Return a JSON object with: name (the brand name to draw, as given), initials (2 or 3 capital letters), tagline (at most 5 words, or an empty string), palette (bg, accent, text as 6-digit hex colours fitting the brief's mood, readable), caption (one sentence on the direction taken). 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
contextfrom step 1
- 03Ivy NodeDraw the three marksivy.node.design-logo-mark
Draws three monogram concepts (a mono mark, a badge, a wordmark) from a name, initials and a palette, as SVG.
- takes
specfrom step 2,outputnamefrom the agent's input,client
- 04Ivy NodePack the deliverablesivy.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
specfrom step 2,outputrequest_idfrom the agent's inputclientfrom the agent's inputservicefrom the agent's inputbrieffrom the agent's inputfiles_afrom step 3,files- returns
kind,request_id,client,service,brief,spec,files,count
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.
Inputs
| Field | Type | Description |
|---|---|---|
| briefrequired | string | What the client asked for, in their words or the account lead's: the subject, the audience, the tone, the colours if any. |
| client | string | The client's name, as IVYX Agency knows it. |
| service | string | The service this is work for, as IVYX Agency knows it (e.g. Content Production). |
| request_id | string | The request's id on the channel it came from; the key that keeps one request from running twice. |
Outputs
| Field | Type | Description |
|---|---|---|
| kindrequired | string | deliverables: what this output is, for a receiver that takes several kinds. |
| request_id | string | Not declared |
| client | string | Not declared |
| service | string | Not declared |
| brief | string | Not declared |
| spec | object | The design spec the model wrote from the brief, as rendered. |
| filesrequired | array | The files made: name, mime, kind, bytes, data (base64), width, height, caption, variant. |
| countrequired | integer | Not 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
- echo-loop
A new line's brief is three logo concepts: a mono mark, a badge and a wordmark.
- given
briefEcho Retail opens a second-hand electronics line called Echo Loop. Friendly, green, trustworthy.clientEcho RetailserviceDesignrequest_idcase-logo-1- expects
kindequals deliverablescountequals 3files.0.variantequals monofiles.1.variantequals badgefiles.2.variantequals wordmarkfiles.0.datamatches ^PHN2Zy
- name-only
A brief that is only a name still gets the three concepts.
- given
briefLogo for Kestrel.- expects
kindequals deliverablescountequals 3