Skip to main content
Glama

Server Details

Image, character, illustration and concept sets, and logo variations, for your AI agent.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.7/5.0

Scored across 18 tools

Disambiguation5/5

Every tool has a clearly distinct role, and the five generation tools are explicitly separated by use case: isolated subjects, one character, composed illustrations, idea concepts, and logo variations. The only mild overlap is between get_generations and list_recent_generations, but their descriptions clearly distinguish full records by id from paged recent indexing.

Naming Consistency5/5

All tool names use consistent snake_case with a leading verb: generate_*_set, extend_*_set, create_reference, list_references, delete_generations, edit_set, export_set, and so on. Minor deviations such as generate_logo_variations and list_recent_generations still fit the same predictable pattern.

Tool Count4/5

At 18 tools this is slightly above the typical well-scoped range, but the breadth is justified by five generation modes plus separate extend, delivery, export, credit, reference, retrieval, and deletion operations. Each tool has a clear role, though the overall surface is on the heavy side.

Completeness5/5

The surface covers the full lifecycle: credit check and purchase, reference creation/listing/deletion, five generation modes, extension for the three set types that support it, delivery editing, platform export, retrieval, and deletion. Concept and logo sets intentionally rely on re-calling generation rather than an extend tool, which is documented and not a dead end.

Publisher details

Operator
Logospell
Operator website
https://logospell.com
Vendor relationship
First-party
Trust center
Not available
Restrictions
Requires an API key from a free Logospell account; generations beyond the free credits need a paid credit pack.

Available Tools

18 tools
buy_creditsAInspect

Buy more credits for your API key. Returns a Stripe Checkout link for 1 to 10 credit packs, already tied to this key's account, so no sign-in is needed. Calling this charges nothing: open the link in a browser if you can, or give it to the user, and the user completes the payment there with a card or Stripe Link. The credits are added to this key within seconds of payment; call check_credits to confirm. The result gives the purchase's credits and price. Costs no credits.

Inputs: packs. Returns: packs, credits, priceUSD, expiresAt, +1 more

check_creditsA
Read-onlyIdempotent
Inspect

Check how many image generation credits remain on your account: one balance shared by your MCP calls and the logospell.com generate page. Call it before generating to confirm the balance covers the call (each generation tool states its cost), or afterwards to see what is left. When credits run out, buy_credits returns a checkout link for more. It only reads the balance, changes nothing, and costs no credits.

Returns: remaining

create_referenceAInspect

Create an upload slot for a reference image. Returns an upload URL and a ref_ token: upload the image file with one shell command (curl -T ''), then pass the ref_ token to the reference-image parameter you are filling - every parameter that takes reference images names this tool in its description. This is the ONLY way to supply reference images, and those parameters accept ref_ tokens and nothing else. Image data never goes inside a tool call: a call is JSON, so an embedded image would have to be base64 text that you, the caller, must emit character by character - slow, error-prone, and enough to exhaust your context window. The upload moves the bytes out-of-band instead: a plain HTTP PUT of the raw file, so any HTTP client works; if your environment has no way to send one, install curl. And when the image you want is from one of your OWN recent Logospell generations, skip the upload entirely: pass sourceGeneration and sourceImage and the server copies it directly (to grow an existing set, use its extend tool instead: extend_image_set, extend_character_set or extend_illustration_set). Accepts PNG, JPEG, or WebP, each at most 500KB, each side between 64px and 768px - resize before uploading if needed; larger reference images do not improve results. A reference is private to your API key and can be used in any number of later calls; it expires 7 days after its last use or re-upload (each use restarts the window), so uploading a few references once can serve a whole session of work. To update a reference, upload a new file to the same upload URL: its image is replaced and its ref_ token stays the same. Costs no credits.

Inputs: sourceImage, sourceGeneration. Returns: ref, expiresAt, uploadURL

delete_generationsA
DestructiveIdempotent
Inspect

Permanently delete one or more of your generations before their download window closes: each one's download URL stops working, and its images, its prompt.json and the full-resolution source kept for edit_set and export_set are removed from Logospell's servers. Call it only when the user asks to delete generations: it cannot be undone, the credits they cost are not refunded, and a deleted generation can no longer be edited or exported. Only the API key that made a generation can delete it. A set that grew over several calls has one id per call (list_recent_generations and get_generations show them); pass them all to delete the whole set in one call. Ids that are not found are reported without failing the call, which fails only when nothing was deleted. Up to 50 ids per call. Without this, every generation is removed automatically when its download window closes. Costs no credits.

Inputs: generations (required). Returns: deleted, notFound

delete_referencesA
DestructiveIdempotent
Inspect

Permanently delete one or more references you created with create_reference: each one's image is removed from Logospell's servers and its ref_ token stops working in any later call. Call it only when the user asks to delete references: it cannot be undone. Only the API key that created a reference can delete it; list_references shows yours. Tokens that are not found are reported without failing the call, which fails only when nothing was deleted. Up to 50 tokens per call. Without this, a reference expires on its own 7 days after its last use or re-upload. Costs no credits.

Inputs: refs (required). Returns: deleted, notFound

edit_setA
Idempotent
Inspect

Change how an existing set (an image, character, illustration or concept set, or logo variations) is delivered, without generating again: its width and height (both, one, or neither, exactly as on the set tools), its canvas when no size is fixed (one canvas for the whole set, or each image wrapped around its own subject), its minimum margin, its sizing (relative or fill), its format and quality, a file size limit per image on webp (maxKB), and its background (any color, or transparent) for a set drawn with its own transparency (a character set, concept set or logo variations) or an image set generated transparent. The set is delivered again from its full-resolution source and its download is replaced in place: the same download URL now serves the new delivery, and get_generations reports the new levers. Free; no credits are spent. What the pictures show (the style or character, the subjects, variations or scenes, and the references) cannot be edited - a different picture is a new set.

On an illustration set, width and height go together and must be one of the batch's own sizes: the size its scenes were drawn at (get_generations' nativeWidth and nativeHeight) or an exact half, quarter and so on of it, down to 256 pixels on the shorter side. Format and quality apply as on the other sets; canvas, margin, sizing, background and maxKB do not. At the native size in the model's own format, the originals themselves are delivered.

A lever left out keeps its current value, so one call can change one thing. Any earlier state, the original delivery included, is one edit away: nothing is kept as history because the same levers always produce the same bytes. Editing never extends a set's download window.

jpg has no alpha: asking for jpg on a set delivered transparent composes the images over white unless a background color is in force (given in the same call or kept from an earlier edit); jpg together with background "transparent" is rejected. background applies only to sets drawn with their own transparency (character sets, concept sets, logo variations) and to image sets generated transparent. Not available for sets generated before editing existed (they have no source).

The user asked for this change to see it: as soon as the call returns, fetch the replaced zip and show them every image exactly as delivered, each as its own file (open the extracted index.html, attach each file as it is, or give the viewer link). Never present a new image made from them.

Inputs: generation (required), maxKB, reset, width, +7 more. Returns: width, height, images, levers, +5 more

export_setA
Idempotent
Inspect

Export an existing set for the web, iOS, Android and Flutter, free: every image at the base size you name and at every density each platform needs, laid out as each expects (web files with @2x and @3x and an srcset line, an iOS asset catalog with one imageset per image, Android res/ density buckets, Flutter asset folders with the pubspec lines), plus a viewer and a ledger. Every set but an illustration set exports as icons; an illustration set exports its scenes whole, for the illustrations in an app or site. One export per call: one batch of a set (a set that grew over several calls is exported batch by batch; the trees merge by folder) at one base size (a second size is a second call; names carry the size, so two sizes never collide). The files come from the set's full-resolution source, so each is the batch as it is currently delivered, scaled: the size, canvas, sizing and margin of every set but an illustration set all carry (edit_set changes them), and an illustration set's shape; no pixel comes from a delivered image. How large a batch exports crisp is its crispBaseSize: every generation and edit_set result states it, and list_recent_generations and get_generations report it. Every set but an illustration set takes base sizes from 16 to 256 (48 to 128 is the usual range for icons), its crisp size set by how many images it holds at generation, and edits to its size, canvas, margin or sizing can move it; files up to 3x the 1x size (4x on Android) are always delivered, and where a density would enlarge a subject past its source pixels the ledger says so per tree ("soft": some blur) and by how much, never withholding a file. An illustration set takes base sizes from 16 up to its crispBaseSize, a quarter of the longest side its scenes were drawn at, so its export is always crisp. Not available for sets generated before editing existed (they have no source).

Inputs: baseSize (required), generation (required), format, quality. Returns: format, ledger, zipURL, quality, +3 more

extend_character_setAInspect

Add more variations to a set made with generate_character_set. The new batch is generated exactly as the set was - the same character text and character references, with the background (a color or transparent), size, format, quality, margin, sizing and file size limit of the batch you name - so a set grows past the 16-variation limit of one call without drifting; only the variations are new. A set made with character references is sent them again, and only them; a set made from text alone is sent up to 3 images from its first batch, so the new variations are drawn like the rest of the set. The new batch joins the set: listings show the batches together, and the whole set's download window restarts. Each call costs what a generation of the set costs: 1 credit per call. Run generation calls sequentially, never in parallel - only one generation runs at a time per API key.

Variations that do not describe distinct, drawable variations are refused before anything is generated or charged. To change the character, the size, or anything else, start a new set instead; to change only how an existing set is delivered, use edit_set.

IMPORTANT - variation description rules:

  • Describe each variation by what the character is doing in it: its action and pose, what it is feeling and how strongly, its expression, and anything it holds or wears. Specific feelings at specific intensities give the most expressive sets (a slow-burning silent glare and a mid-leap scream read very differently).

  • Each image is ONE isolated character, not a scene: describe the character and what it directly holds or interacts with, never the surrounding setting, environment, landscape, or sky.

  • Do not use size words (large, tiny, small, etc.) on the character as a whole - all images are produced at the same size. Size words on what it holds or wears are fine (e.g. 'holding a tiny umbrella').

  • Maximum 16 variations per call, or fewer when the batch you name is fixed at a width or height above 512, since the new batch takes that size: up to 9 at 600 or less, up to 4 at 700 or less, and 1 above that. To add more per call, lower that batch's size first with edit_set.

  • If the variation check returns a suggested cleanup, show the user the specific changes and get their confirmation, then resubmit the approved prompt with validation set to "skip" so it generates exactly as approved (resubmitting without "skip" re-runs the check and may return further suggestions). See the validation parameter for when to use "skip" and "auto-apply".

  • If a "Rate limit exceeded" error is returned, wait the suggested number of seconds before retrying. Do not retry immediately.

  • Showing the result: as soon as the call returns, show the user every delivered image before you put them to use, then keep working without waiting for a reply (unless the user asked to review first), so they can ask for a change before anything is built on them. Show each image exactly as delivered, as its own file: the files are the product, and their exact size, margin and background are what the user asked for. Never present a new image made from them, even to check them; it hides all three. Files on disk or a link in your context are not delivery. Where you can open files on the user's machine, open the extracted index.html with the host's file opener; it shows each image at its delivered size with its dimensions. Where you can attach files to your reply, attach each delivered file as it is (attaching is not inspecting). Otherwise give the online viewer link and the zip link. Show every image unless the user asked for only some, and say in one line what you left out; if you can show none, say the set was made but you could not show it, and give the viewer link.

Inputs: generation (required), variations (required), unpackTo, validation. Returns: format, images, zipURL, unpackTo, +9 more

extend_illustration_setAInspect

Add more scenes to a set made with generate_illustration_set. The new batch is drawn exactly as the set was - the same style text and style references, with the format and quality of the batch you name, and its size unless width and height are given (any size generate_illustration_set lists, so one set can hold a wide hero and tall posters). A set made with style references is sent them again, and only them; a set made from text alone is sent up to 3 images from its first batch, so the new scenes are drawn like the rest of the set. A set made with sameScene is sent its first scene and its last scene instead, along with any style references: each new scene is drawn from the set's first scene and from the scene before it, the first new scene from the set's last scene, so write each new scene as only what is different from the scene before it. The new batch joins the set: listings show the batches together, and the whole set's download window restarts. Each call costs 1 credit. Run generation calls sequentially, never in parallel - only one generation runs at a time per API key.

Scenes that do not describe distinct illustrations are refused before anything is generated or charged. To change the style, start a new set instead; to change only how a batch is delivered, use edit_set.

  • Maximum 6 scenes per call. Scene max length: 2500 characters each.

  • If a "Rate limit exceeded" error is returned, wait the suggested number of seconds before retrying. Do not retry immediately.

  • Showing the result: as soon as the call returns, show the user every delivered image before you put them to use, then keep working without waiting for a reply (unless the user asked to review first), so they can ask for a change before anything is built on them. Show each image exactly as delivered, as its own file: the files are the product, and their exact size, margin and background are what the user asked for. Never present a new image made from them, even to check them; it hides all three. Files on disk or a link in your context are not delivery. Where you can open files on the user's machine, open the extracted index.html with the host's file opener; it shows each image at its delivered size with its dimensions. Where you can attach files to your reply, attach each delivered file as it is (attaching is not inspecting). Otherwise give the online viewer link and the zip link. Show every image unless the user asked for only some, and say in one line what you left out; if you can show none, say the set was made but you could not show it, and give the viewer link.

Inputs: scenes (required), generation (required), width, height, +1 more. Returns: style, format, images, zipURL, +6 more

extend_image_setAInspect

Add more subjects to a set made with generate_image_set. The new batch is generated exactly as the set was - the same style text and style references, with the background (a color or transparent), size, format, quality, margin, sizing and file size limit of the batch you name - so a set grows past the 16-subject limit of one call without drifting; only the subjects are new. A set made with style references is sent them again, and only them; a set made from text alone is sent up to 3 images from its first batch, so the new subjects are drawn like the rest of the set. The new batch joins the set: listings show the batches together, and the whole set's download window restarts. Each call costs what a generation of the set costs: 1 credit per call. Run generation calls sequentially, never in parallel - only one generation runs at a time per API key.

Subjects that do not describe distinct, drawable subjects are refused before anything is generated or charged. To change the style, the size, or anything else, start a new set instead; to change only how an existing set is delivered, use edit_set.

IMPORTANT - subject description rules:

  • Subject descriptions should describe WHAT to depict, not where to position it.

  • Each image is ONE isolated subject, not a scene. Describe the subject with its pose or action and anything it directly holds, rides, or interacts with, but not the surrounding setting, environment, landscape, or sky. For composed scenes (a figure set within an environment), use generate_illustration_set instead.

  • Do not use size words (large, tiny, small, etc.) on the overall image subject (e.g. 'a large elephant', 'a tiny mouse') - all images are produced at the same size. Size words on details within the image are fine (e.g. 'a plate with a small insignia').

  • Subjects must be distinct: entries that differ only in case, punctuation, or spacing count as the same subject and the call is rejected. Explicit filenames must be distinct too (a different extension alone is not distinct).

  • Maximum 16 subjects per call, or fewer when the batch you name is fixed at a width or height above 512, since the new batch takes that size: up to 9 at 600 or less, up to 4 at 700 or less, and 1 above that. To add more per call, lower that batch's size first with edit_set.

  • If the subject check returns a suggested cleanup, show the user the specific changes and get their confirmation, then resubmit the approved prompt with validation set to "skip" so it generates exactly as approved (resubmitting without "skip" re-runs the check and may return further suggestions). See the validation parameter for when to use "skip" and "auto-apply".

  • If a "Rate limit exceeded" error is returned, wait the suggested number of seconds before retrying. Do not retry immediately.

  • Showing the result: as soon as the call returns, show the user every delivered image before you put them to use, then keep working without waiting for a reply (unless the user asked to review first), so they can ask for a change before anything is built on them. Show each image exactly as delivered, as its own file: the files are the product, and their exact size, margin and background are what the user asked for. Never present a new image made from them, even to check them; it hides all three. Files on disk or a link in your context are not delivery. Where you can open files on the user's machine, open the extracted index.html with the host's file opener; it shows each image at its delivered size with its dimensions. Where you can attach files to your reply, attach each delivered file as it is (attaching is not inspecting). Otherwise give the online viewer link and the zip link. Show every image unless the user asked for only some, and say in one line what you left out; if you can show none, say the set was made but you could not show it, and give the viewer link.

Inputs: subjects (required), generation (required), unpackTo, validation. Returns: style, format, images, zipURL, +9 more

generate_character_setAInspect

Generate a SET of images of ONE character - the same mascot, creature, person, or single product in every image - one isolated variation of it per image, on one SOLID-COLOR background or a TRANSPARENT one (sticker and reaction packs, mascot poses, a product shown many ways; transparent for stickers that drop onto any chat or backdrop). The character parameter describes who or what it is; characterReferences shows it in up to 3 reference images, the most faithful way to keep one specific character; the variations parameter says what it is doing in each image; the background parameter is a color or "transparent". Returns a zip download URL. Cost: 1 credit per call. Run generation calls sequentially, never in parallel - only one generation runs at a time per API key.

For many DIFFERENT subjects sharing one style, use generate_image_set instead.

For a logo shown many ways, use generate_logo_variations.

Output formats: PNG (lossless), JPEG, or WebP; JPEG has no alpha channel, so a set delivered transparent is PNG or WebP.

Size and quality considerations match generate_image_set: leaving width and height unset delivers native resolution (best quality, varies between generations; relative sizing scales nothing but a variation far larger than the rest, fill scales each variation to its frame); fixing them resamples to that box, and fixing one axis lets the other hug each variation.

IMPORTANT - character and variation description rules for best results: The character and its references decide WHO appears in every image; each variation decides only what that one character is doing in its image.

  • Describe each variation by what the character is doing in it: its action and pose, what it is feeling and how strongly, its expression, and anything it holds or wears. Specific feelings at specific intensities give the most expressive sets (a slow-burning silent glare and a mid-leap scream read very differently).

  • Each image is ONE isolated character, not a scene: describe the character and what it directly holds or interacts with, never the surrounding setting, environment, landscape, or sky.

  • Do not use size words (large, tiny, small, etc.) on the character as a whole - all images are produced at the same size. Size words on what it holds or wears are fine (e.g. 'holding a tiny umbrella').

  • Do not put background color or background descriptions in the character or variation text.

  • No captions, labels, or annotations. Text that is part of a depicted object is fine.

  • Do not connect the images to each other; each must be drawable on its own.

  • Maximum 16 images per generation.

  • Character description max length: 500 characters. Variation description max length: 200 characters each.

  • Size: width and height are separate parameters, each from 256 pixels up to a maximum set by the variation count: 1800 with 1, 700 with 2 to 4, 600 with 5 to 9, 512 with 10 or more. Both given is an exact box; one given fixes that axis and the other hugs each variation (so images in the set differ on it, and it may fall below 256); neither given delivers native resolution, which is also the path to larger images.

  • Sizing: relative (the default) keeps the sizes the model gave the variations in relation to one another, one scale for the whole set; fill scales each variation on its own to fill its frame less the margin, the icon-set convention, giving up relative size and enlarging variations smaller than the frame (the result says by how much). Both can be changed later with edit_set.

  • If the character check returns a suggested cleanup, show the user the specific changes and get their confirmation, then resubmit the approved prompt with validation set to "skip" so it generates exactly as approved (resubmitting without "skip" re-runs the check and may return further suggestions). See the validation parameter for when to use "skip" and "auto-apply".

  • To add more variations to a set, call extend_character_set with the id of any batch in it, as often as the set needs.

  • If a "Rate limit exceeded" error is returned, wait the suggested number of seconds before retrying. Do not retry immediately.

  • Showing the result: as soon as the call returns, show the user every delivered image before you put them to use, then keep working without waiting for a reply (unless the user asked to review first), so they can ask for a change before anything is built on them. Show each image exactly as delivered, as its own file: the files are the product, and their exact size, margin and background are what the user asked for. Never present a new image made from them, even to check them; it hides all three. Files on disk or a link in your context are not delivery. Where you can open files on the user's machine, open the extracted index.html with the host's file opener; it shows each image at its delivered size with its dimensions. Where you can attach files to your reply, attach each delivered file as it is (attaching is not inspecting). Otherwise give the online viewer link and the zip link. Show every image unless the user asked for only some, and say in one line what you left out; if you can show none, say the set was made but you could not show it, and give the viewer link.

Inputs: variations (required), maxKB, width, format, +9 more. Returns: format, images, zipURL, unpackTo, +9 more

generate_concept_setAInspect

Generate a SET of DIFFERENT CONCEPTS from one brief - each image its own idea drawn in its own style - on one SOLID-COLOR background or a TRANSPARENT one: logo ideas for a business, mascot concepts, app icon directions. Use it to explore before choosing; to show one chosen concept many ways, pass its image to generate_logo_variations (fill a reference with create_reference's sourceGeneration and sourceImage). The brief parameter says what the concepts are for; the optional concepts parameter lists them, each its own idea in a named style, and left out, the model invents 16 concepts from the brief; the background parameter is a color or "transparent". Returns a zip download URL. Cost: 1 credit per call. Run generation calls sequentially, never in parallel - only one generation runs at a time per API key.

For many different subjects in ONE shared style, use generate_image_set instead.

Output formats: PNG (lossless), JPEG, or WebP; JPEG has no alpha channel, so a set delivered transparent is PNG or WebP.

Size and quality considerations match generate_image_set: leaving width and height unset delivers native resolution (best quality, varies between generations; relative sizing scales nothing but a concept far larger than the rest, fill scales each concept to its frame); fixing them resamples to that box, and fixing one axis lets the other hug each concept.

IMPORTANT - brief and concept rules for best results:

  • Listing the concepts says exactly what each one is; leaving them out lets the model invent them, each file and caption numbered and named from what it shows (concept_01_boat_on_waves.png, "Concept 1: boat on waves"), and the brief is all it has to go on.

  • Give each listed concept its own idea and its own named style, ranging widely across media, eras and design traditions; no two concepts should share an idea or a style.

  • Put a name, must-haves, things to avoid and a mood in the brief. A name in the brief is lettered into the concepts.

  • Each image is ONE isolated concept, not a scene: never describe a surrounding setting, scenery or backdrop.

  • Do not put background color or background descriptions in the brief or concept text.

  • Lettering is welcome: a name, initials, a wordmark, a tagline.

  • Maximum 16 images per generation.

  • Brief description max length: 500 characters. Concept description max length: 200 characters each.

  • Size: width and height are separate parameters, each from 256 pixels up to a maximum set by the concept count: 1800 with 1, 700 with 2 to 4, 600 with 5 to 9, 512 with 10 or more. Both given is an exact box; one given fixes that axis and the other hugs each concept (so images in the set differ on it, and it may fall below 256); neither given delivers native resolution, which is also the path to larger images.

  • Sizing: relative (the default) keeps the sizes the model gave the concepts in relation to one another, one scale for the whole set; fill scales each concept on its own to fill its frame less the margin, the icon-set convention, giving up relative size and enlarging concepts smaller than the frame (the result says by how much). Both can be changed later with edit_set.

  • More concepts: call this tool again with the same brief and new concepts, or none for another invented set. Concept sets have no extend tool.

  • If a "Rate limit exceeded" error is returned, wait the suggested number of seconds before retrying. Do not retry immediately.

  • Showing the result: as soon as the call returns, show the user every delivered image before you put them to use, then keep working without waiting for a reply (unless the user asked to review first), so they can ask for a change before anything is built on them. Show each image exactly as delivered, as its own file: the files are the product, and their exact size, margin and background are what the user asked for. Never present a new image made from them, even to check them; it hides all three. Files on disk or a link in your context are not delivery. Where you can open files on the user's machine, open the extracted index.html with the host's file opener; it shows each image at its delivered size with its dimensions. Where you can attach files to your reply, attach each delivered file as it is (attaching is not inspecting). Otherwise give the online viewer link and the zip link. Show every image unless the user asked for only some, and say in one line what you left out; if you can show none, say the set was made but you could not show it, and give the viewer link.

Inputs: brief (required), maxKB, width, format, +7 more. Returns: brief, format, images, zipURL, +7 more

generate_illustration_setAInspect

Generate a SET of illustrations in one consistent style - scenes, environments, hero images, banners, posters, portraits - one composed illustration per scene, every illustration in the call at the same size. The style parameter says how they are drawn, styleReferences shows that style in up to 3 reference images, and the scenes parameter says what each illustration shows. Without style references, the first scene is drawn first and the rest are drawn to match it. Returns a zip download URL. Each call costs 1 credit. Run generation calls sequentially, never in parallel - only one generation runs at a time per API key.

For separate isolated subjects on a plain or transparent background (icons, sprites, asset packs), use generate_image_set instead; for one character in many variations, generate_character_set.

width and height must be one of the supported pixel pairs below; any other pair is rejected. These are the maximums offered - nothing larger is available. Each line is one shape: the first pair is that shape's largest size, the rest are exact proportional downscales of it. To add scenes later, at this size or another from the list, use extend_illustration_set; to deliver a batch again at another of its sizes, format or quality, use edit_set.

2752x1536, 1376x768, 688x384 2048x2048, 1024x1024, 512x512, 256x256 1024x4128, 512x2064, 256x1032 704x5856, 352x2928 3168x1344, 1584x672, 792x336 1696x2528, 848x1264, 424x632 2528x1696, 1264x848, 632x424 1792x2400, 896x1200, 448x600 4128x1024, 2064x512, 1032x256 2400x1792, 1200x896, 600x448 1856x2304, 928x1152, 464x576 2304x1856, 1152x928, 576x464 5856x704, 2928x352 1536x2752, 768x1376, 384x688

IMPORTANT - style and scene rules for best results:

  • The style is how every illustration is drawn (medium, technique, palette, lighting treatment); each scene is what one illustration shows (its subject, setting, moment and composition). Keep the shared look in the style, so the set stays consistent.

  • Scene craft, since each call costs a credit: name the light and the time of day (cold blue twilight, one warm lamp from the left); fix the camera (wide establishing shot, three-quarter portrait, viewed from the doorway); and ask for open space on a named side when text will be laid over the illustration later.

  • Illustrations carry no text unless a scene asks for it: write any words that belong in an illustration, such as the name on a shop sign, into its scene.

  • Scenes must describe distinct illustrations; a scene that describes nothing to draw, or repeats another, is rejected, as is a style that does not describe a visual style.

  • For scenes that share people and a place (a story, a before and after), set sameScene to true: write the first scene in full, and each later scene as only what is different from the scene before it.

  • Maximum 6 scenes per call. Style max length: 500 characters. Scene max length: 2500 characters each.

  • Formats: png (default, lossless), jpg, webp. quality (1-100) applies to jpg and webp; default 90.

  • To add more scenes to a set, call extend_illustration_set with the id of any batch in it, as often as the set needs.

  • If a "Rate limit exceeded" error is returned, wait the suggested number of seconds before retrying. Do not retry immediately.

  • Showing the result: as soon as the call returns, show the user every delivered image before you put them to use, then keep working without waiting for a reply (unless the user asked to review first), so they can ask for a change before anything is built on them. Show each image exactly as delivered, as its own file: the files are the product, and their exact size, margin and background are what the user asked for. Never present a new image made from them, even to check them; it hides all three. Files on disk or a link in your context are not delivery. Where you can open files on the user's machine, open the extracted index.html with the host's file opener; it shows each image at its delivered size with its dimensions. Where you can attach files to your reply, attach each delivered file as it is (attaching is not inspecting). Otherwise give the online viewer link and the zip link. Show every image unless the user asked for only some, and say in one line what you left out; if you can show none, say the set was made but you could not show it, and give the viewer link.

Inputs: width (required), height (required), scenes (required), style, +5 more. Returns: style, format, images, zipURL, +6 more

generate_image_setAInspect

Generate a cohesive SET of custom images on one SOLID-COLOR background or a TRANSPARENT one, each one a separate isolated subject sharing one visual style (icons, logos, game assets, UI elements, sprite/asset packs; transparent for images that drop onto any backdrop). The style parameter says how everything is drawn; the subjects parameter says what to draw; the background parameter is a color or "transparent". The style can also come from reference images via the styleReferences parameter - alone, or best combined with the style text (text plus references holds a style tightest). Returns a zip download URL. Cost: 1 credit per call. When a solid color fits the user's use case, it is the faster choice. Run generation calls sequentially, never in parallel - only one generation runs at a time per API key.

For composed, full-bleed pictures (scenes, hero images, banners, posters, environments), use generate_illustration_set instead.

For several images of ONE character (the same mascot, creature, person, or product in different poses or moods), use generate_character_set instead.

For many different ideas from one brief, each in its own style (logo ideas, mascot concepts), use generate_concept_set instead.

For ONE logo shown many ways, use generate_logo_variations instead.

Output formats: PNG (lossless), JPEG, or WebP; JPEG has no alpha channel, so a set delivered transparent is PNG or WebP. Images can be delivered at a fixed width and height, at one fixed axis with the other hugging each subject, or at their native resolution.

Size and quality considerations: Leaving width and height unset delivers images at their native resolution, unscaled under relative sizing except that a subject far larger than the rest is shrunk (fill sizing scales each subject to its frame), which produces the highest quality results and is recommended when images will be post-processed, composited, or resized downstream. Native dimensions vary between generations and grow as the subject count falls, to about the largest fixed size for the count (see Size below). Fixing width and height (e.g. 512 and 512) guarantees consistent dimensions across all images and generations but applies resampling which may soften fine details; fixing one axis lets each image keep its subject's own proportion on the other.

IMPORTANT - style and subject description rules for best results: The style applies to every image in the set, so it is what keeps them visually consistent. Put HOW the images are drawn (technique, palette, surface treatment) in the style, and make each subject description only about WHAT that one subject is, not how it looks. A quick test for any phrase: is it WHAT the subject is, or HOW it is drawn? HOW belongs in the style, shared across the set.

  • Get the style and the subject descriptions right with the user before you call. When their request puts how an image is drawn, a background, or a scene into a subject description (or names the subjects to draw in the style rather than as separate entries in the subjects list), fix it as you compose the call: routine moves of shared technique into the style you can just make, but when a change drops or alters something they explicitly asked for, tell them what you are adjusting and why first. Each call costs a credit, so it is worth getting this right up front rather than spending one on a framed or scene-filled result.

  • The style describes the visual treatment of the images (e.g. 'watercolor', 'pixel art', 'stained glass'). It must NOT mention background color, image count, layout, or sizing.

  • Do not list the subjects to draw in the style (e.g. 'illustrations of a fox, an owl, and a deer'); the style is only the shared visual treatment, and the subjects belong in the subjects list, one per entry. A category or theme word is fine (e.g. 'insect illustration').

  • Do not put background color or background descriptions in the style or subject descriptions.

  • Avoid framing the style as a type of painted canvas ('oil painting', 'acrylic painting', 'gouache painting', 'pastel painting'). These tend to produce each image as a rectangular framed canvas with its own colored background, rather than an isolated subject. Prefer 'illustration' or a specific technique: 'watercolor illustration', 'pen-and-ink sketch', 'ink wash', 'relief-etching', 'pastel drawing', 'woodblock print'.

  • Avoid color-field or atmospheric phrasings in the style ('luminous backgrounds of violet, rose, and gold', 'set against jewel-tone fields', 'dreamlike rainbow atmosphere'). These instruct the image model to fill each image with colored atmosphere, producing framed compositions rather than isolated subjects. Describe only the linework, palette, and technique of the subjects themselves.

  • Do not describe an aged, weathered, cracked, or textured surface, ground, wall, panel, or paper that the whole artwork sits on ('on aged wood', 'cracked fresco wall', 'aged parchment surface'); name the art tradition(s) or style(s) instead ('fresco-style illustration'). Texture that belongs to a subject's own material is fine ('a weathered bronze shield', 'a cracked ceramic vase').

  • No captions, labels, or annotations. Text that is part of the depicted object is fine (e.g. 'STOP' on a stop sign, 'EXIT' on an exit sign).

  • No grid lines, borders, frames, or separators.

  • No overlapping or collage-style arrangements.

  • Do not connect the subjects to each other or give them shared physical elements: no wires, cords, chains, ropes, ribbons, vines, or threads running between subjects, no frame or banner they share, no phrasing like 'connected by' or 'strung together', and no single continuous line or tube forming multiple subjects. Each subject must be drawable in complete isolation; connections inside one subject (a chain on an amulet, laces on a boot) are fine.

  • No dramatic/long drop shadows (subtle shadows are fine).

  • Subject descriptions should describe WHAT to depict, not where to position it.

  • Each image is ONE isolated subject, not a scene. Describe the subject with its pose or action and anything it directly holds, rides, or interacts with, but not the surrounding setting, environment, landscape, or sky. For composed scenes (a figure set within an environment), use generate_illustration_set instead.

  • Do not use size words (large, tiny, small, etc.) on the overall image subject (e.g. 'a large elephant', 'a tiny mouse') - all images are produced at the same size. Size words on details within the image are fine (e.g. 'a plate with a small insignia').

  • Maximum 16 images per generation. Do not put the image count in the style.

  • Subjects must be distinct: entries that differ only in case, punctuation, or spacing count as the same subject and the call is rejected. Explicit filenames must be distinct too (a different extension alone is not distinct).

  • The style must actually describe a visual style, and each subject must name a drawable subject; text that does not is rejected.

  • Style description max length: 500 characters. Subject description max length: 200 characters each.

  • Size: width and height are separate parameters, each from 256 pixels up to a maximum set by the subject count: 1800 with 1, 700 with 2 to 4, 600 with 5 to 9, 512 with 10 or more. Both given is an exact box; one given fixes that axis and the other hugs each subject (so images in the set differ on it, and it may fall below 256); neither given delivers native resolution, which is also the path to larger images.

  • Sizing: relative (the default) keeps the sizes the model gave the subjects in relation to one another, one scale for the whole set; fill scales each subject on its own to fill its frame less the margin, the icon-set convention, giving up relative size and enlarging subjects smaller than the frame (the result says by how much). Both can be changed later with edit_set.

  • Icons: the subject count sets how large a batch's icons can later be exported with export_set, crisp at every density: about a base size of 256 with 1, 174 with 2 to 4, 150 with 5 to 9, 128 with 10 or more. Every generation result states its batch's own crisp base size.

  • If the style check returns a suggested cleanup, show the user the specific changes and get their confirmation, then resubmit the approved prompt with validation set to "skip" so it generates exactly as approved (resubmitting without "skip" re-runs the check and may return further suggestions). See the validation parameter for when to use "skip" and "auto-apply".

  • To add more subjects to a set, call extend_image_set with the id of any batch in it, as often as the set needs.

  • If a "Rate limit exceeded" error is returned, wait the suggested number of seconds before retrying. Do not retry immediately.

  • Showing the result: as soon as the call returns, show the user every delivered image before you put them to use, then keep working without waiting for a reply (unless the user asked to review first), so they can ask for a change before anything is built on them. Show each image exactly as delivered, as its own file: the files are the product, and their exact size, margin and background are what the user asked for. Never present a new image made from them, even to check them; it hides all three. Files on disk or a link in your context are not delivery. Where you can open files on the user's machine, open the extracted index.html with the host's file opener; it shows each image at its delivered size with its dimensions. Where you can attach files to your reply, attach each delivered file as it is (attaching is not inspecting). Otherwise give the online viewer link and the zip link. Show every image unless the user asked for only some, and say in one line what you left out; if you can show none, say the set was made but you could not show it, and give the viewer link.

Inputs: subjects (required), maxKB, style, width, +9 more. Returns: style, format, images, zipURL, +9 more

generate_logo_variationsAInspect

Generate a SET of VARIATIONS of ONE logo - the logo recognizable in every image, each image showing it a different way - on one SOLID-COLOR background or a TRANSPARENT one: the logo restyled, in materials and finishes (gold foil, embroidery, neon, carved wood), in seasonal versions, or a mascot mark doing different things. The logo parameter is the logo itself, as 1 to 3 reference images; the optional brief parameter says what applies to every image, such as lettering to add; the optional variations parameter says how each image shows it, and left out, the model invents 16 variations from the logo; the background parameter is a color or "transparent". Returns a zip download URL. Cost: 1 credit per call. Run generation calls sequentially, never in parallel - only one generation runs at a time per API key.

For first ideas when there is no logo yet, use generate_concept_set.

Output formats: PNG (lossless), JPEG, or WebP; JPEG has no alpha channel, so a set delivered transparent is PNG or WebP.

Size and quality considerations match generate_image_set: leaving width and height unset delivers native resolution (best quality, varies between generations; relative sizing scales nothing but a variation far larger than the rest, fill scales each variation to its frame); fixing them resamples to that box, and fixing one axis lets the other hug each variation.

IMPORTANT - brief and variation rules for best results:

  • The brief is optional and applies to every image: a name, initials or a tagline to letter in, must-haves, and things to avoid. The logo itself comes from the logo images.

  • Listing the variations says exactly how each image shows the logo; leaving them out lets the model invent them, each file and caption numbered and named from what it shows (variation_01_cast_in_gold.png, "Variation 1: cast in gold"), and the logo is all it has to go on.

  • With a list, the logo keeps its shape unless the brief or a variation says otherwise; without one, the model varies its design too, keeping the logo's pictured elements and words. Each variation decides its style, material, color, finish, or what it is doing, and whatever a variation does not mention stays as the logo shows, so variations that name only an action keep the logo's look.

  • Each image is ONE isolated logo, not a scene: never describe a surrounding setting, scenery or backdrop.

  • Do not put background color or background descriptions in the variation text.

  • Lettering is welcome: the logo's own lettering is kept and restyled with it, and the brief or a variation can add a name, initials or a tagline.

  • Maximum 16 images per generation.

  • Brief description max length: 500 characters. Variation description max length: 200 characters each.

  • Size: width and height are separate parameters, each from 256 pixels up to a maximum set by the variation count: 1800 with 1, 700 with 2 to 4, 600 with 5 to 9, 512 with 10 or more. Both given is an exact box; one given fixes that axis and the other hugs each variation (so images in the set differ on it, and it may fall below 256); neither given delivers native resolution, which is also the path to larger images.

  • Sizing: relative (the default) keeps the sizes the model gave the variations in relation to one another, one scale for the whole set; fill scales each variation on its own to fill its frame less the margin, the icon-set convention, giving up relative size and enlarging variations smaller than the frame (the result says by how much). Both can be changed later with edit_set.

  • More variations: call this tool again with the same logo and new variations, or none for another invented set. Logo variations have no extend tool.

  • If a "Rate limit exceeded" error is returned, wait the suggested number of seconds before retrying. Do not retry immediately.

  • Showing the result: as soon as the call returns, show the user every delivered image before you put them to use, then keep working without waiting for a reply (unless the user asked to review first), so they can ask for a change before anything is built on them. Show each image exactly as delivered, as its own file: the files are the product, and their exact size, margin and background are what the user asked for. Never present a new image made from them, even to check them; it hides all three. Files on disk or a link in your context are not delivery. Where you can open files on the user's machine, open the extracted index.html with the host's file opener; it shows each image at its delivered size with its dimensions. Where you can attach files to your reply, attach each delivered file as it is (attaching is not inspecting). Otherwise give the online viewer link and the zip link. Show every image unless the user asked for only some, and say in one line what you left out; if you can show none, say the set was made but you could not show it, and give the viewer link.

Inputs: logo (required), brief, maxKB, width, +8 more. Returns: brief, format, images, zipURL, +7 more

get_generationsA
Read-onlyIdempotent
Inspect

Get the full record of generations of yours by id: each one's download URL and expiry, promptJSON (the original call, so the generation can be extended or reproduced), its current delivery settings, where its reference images came from, and its parents (the set it extends, or the generations its references were copied from). The ids come from list_recent_generations or from a generation's download URL. Ids that are not found are reported without failing the call, which fails only when none was found. Up to 50 ids per call. Costs no credits.

Inputs: generations (required). Returns: notFound, generations

list_recent_generationsA
Read-onlyIdempotent
Inspect

List your recent successful generations and return their download URLs again. Use this to recover a generation whose result message was lost (for example a dropped connection mid-call): generations are billed when they complete, and their downloads stay available until their original expiry even if the response never arrived; re-listing does not extend the expiry. Generations made on the logospell.com generate page appear here too. Returns an index, newest first and a page at a time (limit and offset; total says how many there are): each generation's id, tool, creation and expiry times, zip download URL, its style, character or brief text, its image count, whether it can be edited, and its parents (the set it extends, or the generations its references were copied from). For a generation's full record (the original call as promptJSON, where its reference images came from, and its current delivery settings), for example to extend or reproduce a set, pass its id to get_generations. Costs no credits.

Inputs: limit, offset. Returns: total, generations

list_referencesA
Read-onlyIdempotent
Inspect

List your live reference images, most recently used or uploaded first: each one's ref_ token, its upload URL, when it expires, whether its image is in place, and the generation image it was filled from, if any. Use it to recover a token you lost instead of uploading the image again. References are private to your API key, at most 10 are live at once, and each expires 7 days after its last use or re-upload. Costs no credits.

Returns: total, references

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Generates logos, social media posts, app-store screenshots, comic panels, and visual-novel assets from natural-language prompts using 119 templates.
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables coding agents to create a reusable brand mascot and generate consistent poses, emotions, compositions, and transparent animations, then place the finished PNG, SVG, or WebM assets directly into a project.
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables agents to generate images by routing requests across already-authenticated backends, reusing existing AI subscriptions and keys without exposing credentials. It also provides tested prompt recipes and visual styles for agent-driven image creation.
      87 npm
      3
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources