Home
Logospell · Docs

Image set tools

A set of separate images in one shared style, one subject each, all the same size. Use generate_image_set for a solid-color background, or generate_transparent_image_set for a transparent one.

scroll ↓
01 / 05 · Image set
Tool 1 of 2 · Solid background color sets

generate_image_set

A cohesive set of up to 18 subjects rendered in one style, each on a solid background color you pick. 1 credit per call.

generate_image_set call
Use Logospell to make an image set of home, search, settings, profile, and notifications icons in a flat minimalist style with thin strokes, on a #2c3e50 background, as 512px webp at quality 85 with 30px margins, saved to ~/my-project/icons.
stylestringat least one

Visual style applied to all images, as text. Accepts any descriptive prose: art movements, mediums, color palettes, specific artists, or aesthetic references. Provide this, styleReferences, or both; together they hold a style most tightly.

Text that does not describe a visual style is rejected. For background color, use the background parameter instead of mentioning it here. Image count, layout, and sizing should not appear in the style either. See the style examples section.

styleReferencesstring[]at least one

Up to 3 reference images that define the style by example, alone or alongside style. Each entry is a ref_ token from the free create_reference tool, which has its own guide covering uploads, limits, and token reuse. The references carry rendering technique only; their subjects never appear in your output.

subjectsstring[] or object[]required

Subjects to render. Each entry is a string description, OR an object with { description, filename } to control the output filename.

Maximum 18 per call. The count also sets how large the set's icons can later be exported (export_icons), crisp at every density: about a 136px base size with 13 to 18 subjects, 160 with 10 to 12, 180 with 7 to 9, 192 with 5 or 6, 256 with 4 or fewer; for larger icons, generate fewer subjects per call and extend the set. Each subject must name a drawable subject and be distinct: entries that differ only in case, punctuation, or spacing count as the same subject. Descriptive entries like "treasure chest overflowing with gold coins" produce more detailed results than vague ones like "chest".

backgroundstringoptional

Solid background color as a 6-char hex (#RRGGBB). Every image in the set is rendered onto this color.

Default: #ffffff

Do NOT describe background in the style or in any image description, set the color here so we can ensure you get exactly the color you want. For transparent output, call generate_transparent_image_set instead.

formatstringoptional

png is always lossless. jpg and webp use the quality parameter.

Default: png
Values:pngjpgwebp
widthintegeroptional

Delivered width in pixels, 256 to 512 when given. Give both width and height for an exact box: every image lands on it, one uniform scale, the shorter axis padded. Give only one and the other axis hugs each subject at that scale plus the margin, so images in the set differ on it. Give neither and images come back at their native resolution with no resampling.

Default: not fixed

Leave both unset for highest quality when you plan to post-process; fix them for consistent dimensions across calls; fix one to let each image keep its subject's own proportion on the other. Native sizes track the subject count: up to 6 subjects typically delivers roughly 650-950px per side, around ten 500-700, and a full 18 roughly 400-650. Fewer subjects means larger native images.

heightintegeroptional

Delivered height in pixels, 256 to 512 when given; see width for how the two combine (both: an exact box; one: the other axis hugs each subject; neither: native size).

Default: not fixed

A hugging axis is not checked against the range: a wide subject fixed at 512 wide comes back well under 512 tall, which is the point, and its neighbors each take their own height.

minimumMarginintegeroptional

Minimum margin in pixels around each subject inside its output frame.

Default: 20

With relative sizing the actual margin varies by subject and never falls below this (only the set's largest subject sits exactly on it); with fill sizing every subject touches it on one axis. Raise for breathing room, drop to 0 when you will add your own margin. At most 15% of the smallest fixed side when a size is given, at most 80 without one.

sizingstringoptional

How subjects are scaled. relative keeps the sizes the model gave them in relation to one another: one scale for the whole set, so a small subject stays small in its frame. fill scales each subject on its own to fill the frame less the margin, touching it on one axis, so every image reads at the same visual weight.

Default: relative
Values:relativefill

The icon-set convention is fill; it gives up relative size and enlarges any subject smaller than the frame, which the result reports when it happens. Either can be changed later with edit_image_set.

qualityintegeroptional

Compression quality for jpg and webp, from 1 (smallest file) to 100 (best quality). Ignored for png.

Default: 90
Values:1 to 100
validationstringoptional

How the style/subject check is handled before generating. suggest returns a cleaned-up version of your prompt for review when the style and descriptions need separating; skip generates exactly as given without checking; auto-apply applies the cleanup and generates in one step.

Default: suggest
Values:suggestskipauto-apply

Set skip when resubmitting a prompt you already revised from a previous suggestion (so it is generated as-is and not re-checked) or when you are confident the prompt is clean. Use auto-apply when you just want the cleaned result without a review step.

unpackTostringoptional

Local filesystem path your MCP client should extract the returned zip into.

Pass an absolute path. If omitted, the client picks a destination.

02 / 05 · Transparent set
Tool 2 of 2 · Transparent background sets

generate_transparent_image_set

Same set shape as generate_image_set, but every result has a transparent background, ready to drop onto any brand color or surface. 1 credit per call.

generate_transparent_image_set call
Use Logospell to make a transparent image set of a crown, a key, a compass, a lantern, and a scroll in ornate art-nouveau botanical line art in burnished gold, as 512px webp at quality 85 with 30px margins, saved to ~/my-project/icons.
stylestringat least one

Visual style applied to all images, as text. Accepts any descriptive prose: art movements, mediums, color palettes, specific artists, or aesthetic references. Provide this, styleReferences, or both; together they hold a style most tightly.

Text that does not describe a visual style is rejected. Do not mention background in the style. Every result on this tool has a transparent background. Image count, layout, and sizing also should not appear here. See the style examples section.

styleReferencesstring[]at least one

Up to 3 reference images that define the style by example, alone or alongside style. Each entry is a ref_ token from the free create_reference tool, which has its own guide covering uploads, limits, and token reuse. The references carry rendering technique only; their subjects never appear in your output.

subjectsstring[] or object[]required

Subjects to render. Each entry is a string description, OR an object with { description, filename } to control the output filename.

Maximum 18 per call. The count also sets how large the set's icons can later be exported (export_icons), crisp at every density: about a 136px base size with 13 to 18 subjects, 160 with 10 to 12, 180 with 7 to 9, 192 with 5 or 6, 256 with 4 or fewer; for larger icons, generate fewer subjects per call and extend the set. Each subject must name a drawable subject and be distinct: entries that differ only in case, punctuation, or spacing count as the same subject. Descriptive entries like "treasure chest overflowing with gold coins" produce more detailed results than vague ones like "chest".

formatstringoptional

png is always lossless. webp uses the quality parameter.

Default: png
Values:pngwebp

jpg has no alpha channel and is rejected by this tool.

widthintegeroptional

Delivered width in pixels, 256 to 512 when given. Give both width and height for an exact box: every image lands on it, one uniform scale, the shorter axis padded. Give only one and the other axis hugs each subject at that scale plus the margin, so images in the set differ on it. Give neither and images come back at their native resolution with no resampling.

Default: not fixed

Leave both unset for highest quality when you plan to post-process; fix them for consistent dimensions across calls; fix one to let each image keep its subject's own proportion on the other. Native sizes track the subject count: up to 6 subjects typically delivers roughly 650-950px per side, around ten 500-700, and a full 18 roughly 400-650. Fewer subjects means larger native images.

heightintegeroptional

Delivered height in pixels, 256 to 512 when given; see width for how the two combine (both: an exact box; one: the other axis hugs each subject; neither: native size).

Default: not fixed

A hugging axis is not checked against the range: a wide subject fixed at 512 wide comes back well under 512 tall, which is the point, and its neighbors each take their own height.

minimumMarginintegeroptional

Minimum margin in pixels around each subject inside its output frame.

Default: 20

With relative sizing the actual margin varies by subject and never falls below this (only the set's largest subject sits exactly on it); with fill sizing every subject touches it on one axis. Raise for breathing room, drop to 0 when you will add your own margin. At most 15% of the smallest fixed side when a size is given, at most 80 without one.

sizingstringoptional

How subjects are scaled. relative keeps the sizes the model gave them in relation to one another: one scale for the whole set, so a small subject stays small in its frame. fill scales each subject on its own to fill the frame less the margin, touching it on one axis, so every image reads at the same visual weight.

Default: relative
Values:relativefill

The icon-set convention is fill; it gives up relative size and enlarges any subject smaller than the frame, which the result reports when it happens. Either can be changed later with edit_image_set.

qualityintegeroptional

Compression quality for webp, from 1 (smallest file) to 100 (best quality). Ignored for png.

Default: 90
Values:1 to 100
validationstringoptional

How the style/subject check is handled before generating. suggest returns a cleaned-up version of your prompt for review when the style and descriptions need separating; skip generates exactly as given without checking; auto-apply applies the cleanup and generates in one step.

Default: suggest
Values:suggestskipauto-apply

Set skip when resubmitting a prompt you already revised from a previous suggestion (so it is generated as-is and not re-checked) or when you are confident the prompt is clean. Use auto-apply when you just want the cleaned result without a review step.

unpackTostringoptional

Local filesystem path your MCP client should extract the returned zip into.

Pass an absolute path. If omitted, the client picks a destination.

03 / 05 · Delivery
What lands on your filesystem

A folder of files
ready to use

Both set tools deliver the same way: your AI client receives a short-lived download URL, fetches the ZIP, and extracts it into the path you passed as unpackTo. Optionally switch each subject entry from its description to { description, filename } and you control exactly what those files are called on disk.

Call with filenames
Use Logospell to make a transparent image set in ornate art-nouveau botanical line art in burnished gold, 512px, saved to ~/my-project/icons: a regal crown as crown.png, an ornate key as key.png, a compass rose as compass.png, an oil lantern as lantern.png, and a rolled scroll as scroll.png.

After the client unzips the result you get exactly those files on disk:

your filesystem
~/my-project/icons/
├── crown.png
├── key.png
├── compass.png
├── lantern.png
├── scroll.png
├── prompt.json      (the request, for your records)
└── index.html       (preview viewer for the set)

Omit the filename field and one is generated from the description. The index.html is a small preview page showing every generated file with its description, and the style references when you used them; open it in a browser for a quick visual check. If a connection ever drops mid-generation, list_recent_generations recovers the result.

04 / 05 · Style examples
How to write a good style

The style parameter takes prose.

The style is the one visual treatment shared by every subject in the set. More specific prompts produce more distinctive, more cohesive output. Name an art movement, an artist, a medium, a decade, or all of those at once.

style

Art Deco

style
Generate images in an art deco style with geometric symmetry and gold on black

A short prompt works fine when the art movement has a well-known look.

style

Retro Travel Poster

style
Generate images in a 1930s WPA national park travel poster style with bold flat shapes, earthy greens and burnt oranges, and heavy black outlines

Name the decade. 1930s WPA gives a tighter reference than just retro.

style

Pixel Art

style
Generate images as 16-bit pixel art game sprites with a limited 8-color palette, crisp blocky outlines, and chunky dithered shading, no anti-aliasing

For sprite and asset packs, name the bit-depth and palette size to keep every icon on the same grid.

style

Stained Glass

style
Generate images as stained glass panels with thick black leading, jewel-toned glass in sapphire, ruby, and amber, and a hand-soldered cathedral look

Pick a craft with built-in structure (leading, soldering) and the set reads as one coherent collection.

style

Pencil Sketch

style
Generate images as loose hand-drawn pencil sketches on cream paper with visible hatching, imperfect lines, and a warm analog feel

Describing imperfections prevents overly polished output.

style

Botanical Line Art

style
Generate images as delicate single-weight botanical line drawings with no fill, just continuous ink outlines

Constrain the rendering. No fill and single-weight prevent unwanted embellishment.

05 / 05 · Tips
Things worth knowing

Small habits that get you better sets.

It is a set, not a scene

Both tools render up to 18 separate isolated subjects in one shared style, each placed in a uniform frame. Think icon packs, logos, game sprites, and UI elements, not a single composed picture. For one full-bleed picture, use generate_illustration.

Style describes the treatment only

style covers how each subject is drawn (medium, technique, palette) and nothing else. Leave background color, image count, layout, sizing, grid lines, captions, frames, and drop shadows out of it, those are handled for you or set by other parameters.

Avoid the painted-canvas trap

Phrasings like oil painting, gouache painting, or pastel painting tend to render each subject as a framed rectangle with its own colored backdrop. Prefer a specific technique: watercolor illustration, pen-and-ink sketch, ink wash, relief etching, or woodblock print.

Skip atmospheric color fields

Color-field phrasings like luminous backgrounds of violet, rose, and gold or set against jewel-tone fields flood each image with colored atmosphere and produce framed compositions instead of isolated subjects. Describe the subject's own rendering, not the air around it.

Be specific in both fields

Name a concrete art movement, medium, or artist in style, plus a distinguishing detail or two (decade, technique, palette). In each image, treasure chest overflowing with gold coins beats chest: give a defining quality, material, or action.

Say what images, not where or how large

Each image description names the subject, not its position or overall size. a brass key with engraved teeth is good; a large key in the top-left corner is not, since placement and scale are set automatically. Size words on internal details (a key with tiny teeth) are fine.

Backgrounds and transparency

On generate_image_set (1 credit), set a solid background through the background parameter as a hex value like #2c3e50, never in the style. For a transparent background use generate_transparent_image_set (1 credit), which has no background parameter and rejects jpg since it has no alpha channel.

Format, size, and quality

png is lossless and ignores quality; webp and jpg use quality 1 to 100 (default 90). Omit size for native resolution (dimensions vary per generation, and native is the path to the largest output); set it for uniform dimensions across the set, with each axis 256 to 512px.

Length limits and margins

style caps at 500 characters and each image description at 200; a tight 150-character description usually beats a padded one. minimumMargin (default 20) is the least margin any subject gets; the actual margin varies by subject. Raise it for cards or hero placements, drop to 0 to add your own. It caps at 15% of the smallest fixed side, or 80 when no size is given.

Style by reference

styleReferences lets images define the style: upload up to 3 with the free create_reference tool and pass their ref_ tokens. References work best when they share form with what you are making: three icons from an existing set carry its style onto new subjects far better than a photo of a mural. Combine with style text for the tightest hold, the words pin the style, the images show it applied.

Sets bigger than 18: chain your calls

The 18-subject ceiling is per call, not per set. Generate once, upload 3 of the results as references, then keep calling with the same style text, the same 3 tokens, and fresh subjects each time; every batch extends one cohesive set. Hold background, size, format, quality, and minimumMargin steady too: a batch at a different size or margin mismatches the family as visibly as a strayed style. Always reference the original batch's images rather than the latest batch's, so the style never drifts more than one step from the source. Expanding a set from your generations does all of this holding automatically.