org.swapp1990.designforyou/designforyou
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Generate logos, social posts, app screenshots, comic panels & visual-novel assets from prompts.
| Author | org.swapp1990.designforyou |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2600 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"designforyou": {
"url": "https://designforyou.swapp1990.org/mcp/v2/",
"transport": "streamable-http"
}
}
}
Measured tools (14)
browse_templatesread-onlyBrowse the DesignForYou template catalog. Optionally filter by category (e.g. 'instagram', 'app-store', 'logo', 'living-panels'). Returns template IDs, names, and previews.
Parameters:
category— Filter by category (e.g. 'instagram', 'app-store', 'logo')subcategory— Optional subcategory filter (e.g. 'lettermark', 'wordmark', 'app_icon')
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
recommend_templateread-onlyRecommend the best matching templates for any use case. Describe what you need and the system auto-detects the category and ranks templates by relevance. Return the recommendations so the user can pick a template from the visual gallery; do not call `generate` in the same turn unless the user explicitly names a template_id or asks you to skip selection.
Parameters:
use_case(required) — string — Describe what you need the template for (e.g. 'Instagram post for a restaurant daily special', 'logo for a fitness brand')needs— Optional explicit needs such as favicon, navbar, og-imagecategory— Optional category override. Auto-detected from use_case if not provided.subcategory— Optional subcategory constraint such as lettermark or app_icon
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
widget_diagnosticread-onlyReturn a fixed, no-cost DesignForYou widget payload for ChatGPT Apps debugging. Use this only to verify the template gallery/result iframe renders correctly; it does not generate images, use an LLM, or charge credits.
Parameters:
mode— string — Which widget payload shape to return without generation.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
get_text_fieldsread-onlyList a template's editable text fields (headline, subhead, CTA, etc.) with their current values. Free. Use right after a template is chosen and BEFORE `generate` when you want to fill the template's fields precisely instead of relying on a freeform description.
Parameters:
template_id(required) — string — The template ID to get text fields for
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
generateGenerate one or more finished images from a template (get a template_id from recommend_template or browse_templates) plus a description. Use this after the user has selected or explicitly supplied a template_id; otherwise call `recommend_template` first so the visual gallery can collect the selection. Works for all categories (Instagram, logo, app-store, Visual Novel backgrounds/sprites, CG illustrations). Pass variants for multi-image output (expressions, time-of-day, etc.). Pass session_id to refine a prior result. Pass context_ids to ground a new image on prior designs (character consistency for VN CG scenes). Set model to 'minimax-h3-image-balanced' or 'minimax-h3-image-quality' (or use the 'h3 balanced'/'h3 quality' aliases) to render through the MiniMax H3 image service; context_ids are forwarded as ordered H3 reference images.
Parameters:
template_id(required) — string — Template ID from browse_templatesdescription(required) — string — What you want - describe the scene, asset, or design in as much detail as neededmodel— Optional image model override, such as grok-imagine-image-quality, gemini-3.1-flash-image, gpt-image-2, minimax-h3-image-balanced, or minimax-h3-image-quality. H3 aliases are 'h3 balanced' and 'h3 quality'.variants— array — For character sheets: expression names e.g. ['neutral','smile','angry']. For backgrounds: time variants e.g. ['day','sunset','night']. For single images: omit or pass ['default'].edit_tier— Quality tier when reference images (context_ids) are supplied. 'expert' routes the edit to gpt-image-2 for high-fidelity output; 'fast'/'pro' use Gemini. Ignored when no references are present.session_id— Pass the session_id from a prior generate call to continue refining. The model will edit the previous image instead of generating from scratch.context_ids— array — Design IDs of prior outputs to use as visual context. Use for CG scenes that should match a previously generated character.context_labels— array — Optional human labels for each context_id, in the SAME order. When the edit routes to a multi-reference model (gpt-image-2), an ordered legend ('reference image 1 = <label>, ...') is appended to the prompt so the model binds each named subject to its own reference instead of blending identities. Ignored for single-reference edits.reference_urls— array — Optional ordered inline or HTTPS image references for direct image-model grounding. Use with reference_labels and reference_roles when supplying cast or location images.reference_roles— array — Optional roles aligned with reference_urls, such as identity or location.reference_labels— array — Optional labels aligned with reference_urls.skip_prompt_merge— boolean — Skip the smart prompt-merge step (which compresses to ~150 words) and send the description through verbatim, with the template's base prompt concatenated for style. Use when the description is already complete and precise — e.g. a multi-character scene where each subject's outfit and a reference->subject legend must survive intact. Ignored on refines.
Hints: read-only no · destructive no · idempotent not declared · open-world yes
vn_generate_sprite_sheetGenerate one fixed-grid visual-novel character sprite sheet, crop it into cell assets, remove the chroma-key background, validate transparent sprites, and return a VN Creator-ready manifest. Base cost: 3 credits. Optional quality.hi_res_cells=true adds a reference-grounded per-cell re-render at full native resolution (fixes cells being limited to ~1/N of the sheet resolution) and bills +2 credits per cell re-rendered. quality.hi_res_model optionally routes the hi-res pass to a specific model (e.g. gpt-image-2 for fabric fidelity).
Parameters:
character(required) — objectstyle(required) — objectsheet(required) — objectcells(required) — arraymodel— Image model override for the source sheet, e.g. gemini-3.1-flash-image.output— objectquality— objectprovider— Image provider override for the source sheet, e.g. gemini, grok, or a known model alias.
Hints: read-only no · destructive no · idempotent not declared · open-world yes
comic_design_briefread-onlyReturn the no-server-LLM Living Panels authoring brief: PanelScript instructions, schema, unit templates, and success criteria. Use this when the MCP client will do the creative direction with its own model, then call comic_submit_design with the authored Story JSON.
Parameters:
premise(required) — string — Premise the client will use to author the Living Panels PanelScript JSON itself.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
comic_submit_designAccept a client-authored Living Panels Story JSON and start artifact production without using a server story LLM. The client does direction; DesignForYou validates, saves, generates character sheets, panel/unit art, motion clips, voice-over, and assembles the public reader.
Parameters:
premise(required) — string — Original premise the client used while authoring the submitted PanelScript story.story(required) — object — Client-authored Living Panels Story JSON. The server validates it, clears any producer-owned asset fields, then produces art, motion, and voices.client_name— Host app or client name, for provenance.client_model— Model or agent that authored the story, for provenance.start_production— boolean — Start artifact generation immediately after validation.
Hints: read-only no · destructive no · idempotent not declared · open-world yes
create_templateCreate a private reusable DesignForYou template from a structured brief. The returned template_id works immediately with get_text_fields and generate. This stores a user-owned template in the canonical catalog collection; it does not publish it to the anonymous gallery.
Parameters:
name(required) — string — Reusable template name; repeated identical names are idempotent.category(required) — string — Supported category: Infographics, Instagram Posts, Instagram Stories, App Store Previews, Logos, Visual Novel, Cinematic Stills, Comic Panels, Living Panels Comics, Character References, Architecture Diagrams, or Developer Tools.aspect_ratio(required) — string — One of 16:9, 1:1, 4:5, or 9:16.width(required) — integer — Canvas width in pixels, matching aspect_ratio.height(required) — integer — Canvas height in pixels, matching aspect_ratio.base_prompt(required) — string — Visual subject, style, and data-rendering requirements; plain layout text only.layout_rules(required) — string — Stable layout hierarchy and chart/diagram rules; plain text only.text_fields(required) — array — Editable copy fields returned by get_text_fields.best_for— array — Optional concise use-case labels.subcategory— Optional narrower catalog label.
Hints: read-only no · destructive no · idempotent not declared · open-world no
create_comicWrite and produce a Living Panels interactive comic from a one-paragraph premise. One call writes a complete 5-page comic (panels, dialogue, motion plan, voice casting) and starts generating every asset in the background: character sheet, ~13 panels of art with character consistency, ambient image-to-video motion for the liveliest panels, and per-line voice-over. Returns immediately with the story summary and a public reader_url where the comic can be read, watched live, and heard. Production takes several minutes — poll comic_status until ready, then share the reader_url.
Parameters:
premise(required) — string — The story premise, one paragraph is plenty: who, where, the hook, the tone. Example: 'A neo-noir time-loop short: a night-shift radio host takes a call from her own voice, one day ahead.'
Hints: read-only no · destructive no · idempotent not declared · open-world yes
comic_statusread-onlyCheck asset-production progress for a comic created with create_comic: panels, motion clips, and voice lines done vs total, plus ready=true when the whole comic is live at its reader_url. Free to call.
Parameters:
comic_id(required) — string — Comic id returned by create_comic
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
comic_revision_briefread-onlyReturn the current Story JSON, stale-write hash, allowed patch paths, and dirty-node contract for a client-authored Living Panels revision. Use this when the client will decide the edit with its own model, then call comic_submit_revision.
Parameters:
comic_id(required) — string — Comic id to revise.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
comic_submit_revisionApply a client-authored Living Panels revision without using a server revision LLM. Targeted changes regenerate only inferred dirty producer nodes such as panel:<id>, motion:<id>, or tts:<bubble_id>.
Parameters:
comic_id(required) — string — Comic id to revise.base_story_hash(required) — string — Hash from comic_revision_brief. Prevents applying a patch over a stale story.story— Optional full replacement Story JSON. Targeted changes are cheaper/faster when possible.changes— array — Targeted changes. Prefer this over full story replacement for small edits.summary— string — Client-authored one-line revision summary.client_name— Host app or client name, for provenance.dirty_nodes— Optional extra producer nodes, e.g. panel:p2u1, motion:p2u1, tts:p2u1a-b0.client_model— Model or agent that authored the revision, for provenance.start_production— boolean — Regenerate inferred dirty assets after saving.
Hints: read-only no · destructive no · idempotent not declared · open-world yes
get_creditsread-onlyReturn the authenticated user's current credit balance, usage, and Stripe subscription status. Free to call.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.