designforyou

Generate logos, social posts, app screenshots, comic panels & visual-novel assets from prompts.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
88%
이름 품질
87%
오염 위험
100%
권한 일치
90%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'browse_templates' suggests web access but openWorldHint=falsebrowse_templates에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~4,976토큰 (도구 정의)
~3.2 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 3.89%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "designforyou": {
      "url": "https://designforyou.swapp1990.org/mcp/v2/"
    }
  }
}

원격 엔드포인트

https://designforyou.swapp1990.org/mcp/v2/streamable-http

할 수 있는 일

도구 목록

도구 (14)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢browse_templates(category, subcategory)

Browse the DesignForYou template catalog. Optionally filter by category (e.g. 'instagram', 'app-store', 'logo', 'living-panels'). Returns template IDs, names, and previews.

입력 스키마

{
  "type": "object",
  "properties": {
    "category": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Category",
      "description": "Filter by category (e.g. 'instagram', 'app-store', 'logo')"
    },
    "subcategory": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Subcategory",
      "description": "Optional subcategory filter (e.g. 'lettermark', 'wordmark', 'app_icon')"
    }
  },
  "required": []
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🟢recommend_template(use_case, needs, category, subcategory)

Recommend 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.

입력 스키마

{
  "type": "object",
  "properties": {
    "use_case": {
      "type": "string",
      "minLength": 1,
      "title": "Use Case",
      "description": "Describe what you need the template for (e.g. 'Instagram post for a restaurant daily special', 'logo for a fitness brand')"
    },
    "needs": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Needs",
      "description": "Optional explicit needs such as favicon, navbar, og-image"
    },
    "category": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Category",
      "description": "Optional category override. Auto-detected from use_case if not provided."
    },
    "subcategory": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Subcategory",
      "description": "Optional subcategory constraint such as lettermark or app_icon"
    }
  },
  "required": [
    "use_case"
  ]
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🟢widget_diagnostic(mode)

Return 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.

입력 스키마

{
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "pattern": "^(templates|recommendations|designs)$",
      "title": "Mode",
      "description": "Which widget payload shape to return without generation.",
      "default": "templates"
    }
  },
  "required": []
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🟢get_text_fields(template_id)

List 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.

입력 스키마

{
  "type": "object",
  "properties": {
    "template_id": {
      "type": "string",
      "minLength": 1,
      "title": "Template Id",
      "description": "The template ID to get text fields for"
    }
  },
  "required": [
    "template_id"
  ]
}
🟡generate(template_id, description, variants, context_ids, context_labels, ...)

Generate 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.

입력 스키마

{
  "type": "object",
  "properties": {
    "template_id": {
      "type": "string",
      "minLength": 1,
      "title": "Template Id",
      "description": "Template ID from browse_templates"
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "title": "Description",
      "description": "What you want - describe the scene, asset, or design in as much detail as needed"
    },
    "variants": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Variants",
      "description": "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'].",
      "default": [
        "default"
      ]
    },
    "context_ids": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Context Ids",
      "description": "Design IDs of prior outputs to use as visual context. Use for CG scenes that should match a previously generated character."
    },
    "context_labels": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Context Labels",
      "description": "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": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "maxItems": 6,
      "title": "Reference Urls",
      "description": "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_labels": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "maxItems": 6,
      "title": "Reference Labels",
      "description": "Optional labels aligned with reference_urls."
    },
    "reference_roles": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "maxItems": 6,
      "title": "Reference Roles",
      "description": "Optional roles aligned with reference_urls, such as identity or location."
    },
    "skip_prompt_merge": {
      "type": "boolean",
      "title": "Skip Prompt Merge",
      "description": "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.",
      "default": false
    },
    "session_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Session Id",
      "description": "Pass the session_id from a prior generate call to continue refining. The model will edit the previous image instead of generating from scratch."
    },
    "edit_tier": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^(fast|pro|expert)$"
        },
        {
          "type": "null"
        }
      ],
      "title": "Edit Tier",
      "description": "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."
    },
    "model": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "enum": [
        "grok-imagine-image-quality",
        "gemini-3.1-flash-image",
        "gpt-image-2",
        "minimax-h3-image-balanced",
        "minimax-h3-image-quality",
        "h3 balanced",
        "h3 quality"
      ],
      "title": "Model",
      "description": "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'."
    }
  },
  "required": [
    "template_id",
    "description"
  ]
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🔴vn_generate_sprite_sheet(character, style, sheet, cells, output, ...)

Generate 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).

입력 스키마

{
  "type": "object",
  "properties": {
    "character": {
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "title": "Id"
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "title": "Name"
        },
        "age_range": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Age Range"
        },
        "role": {
          "type": "string",
          "minLength": 1,
          "title": "Role"
        },
        "description": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object",
          "title": "Description"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "role"
      ],
      "title": "VNSpriteCharacter"
    },
    "style": {
      "properties": {
        "preset": {
          "type": "string",
          "minLength": 1,
          "title": "Preset"
        },
        "rendering": {
          "type": "string",
          "minLength": 1,
          "title": "Rendering"
        },
        "consistency_reference_asset_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Consistency Reference Asset Id"
        },
        "consistency_reference_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Consistency Reference Url"
        }
      },
      "type": "object",
      "required": [
        "preset",
        "rendering"
      ],
      "title": "VNSpriteStyle"
    },
    "sheet": {
      "properties": {
        "layout": {
          "type": "string",
          "enum": [
            "2x2",
            "3x2",
            "4x2"
          ],
          "title": "Layout",
          "default": "3x2"
        },
        "cell_width": {
          "type": "integer",
          "minimum": 32,
          "title": "Cell Width"
        },
        "cell_height": {
          "type": "integer",
          "minimum": 32,
          "title": "Cell Height"
        },
        "background": {
          "properties": {
            "mode": {
              "type": "string",
              "const": "chroma_key",
              "title": "Mode",
              "default": "chroma_key"
            },
            "color": {
              "type": "string",
              "title": "Color",
              "default": "#00ff00"
            }
          },
          "type": "object",
          "title": "VNSpriteBackground"
        },
        "padding": {
          "type": "string",
          "title": "Padding",
          "default": "generous"
        },
        "full_body": {
          "type": "boolean",
          "title": "Full Body",
          "default": true
        }
      },
      "type": "object",
      "required": [
        "cell_width",
        "cell_height"
      ],
      "title": "VNSpriteSheetConfig"
    },
    "cells": {
      "items": {
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "title": "Id"
          },
          "pose": {
            "type": "string",
            "minLength": 1,
            "title": "Pose"
          },
          "expression": {
            "type": "string",
            "minLength": 1,
            "title": "Expression"
          },
          "props": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Props"
          },
          "camera": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Camera"
          },
          "direction": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Direction"
          },
          "notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes"
          }
        },
        "type": "object",
        "required": [
          "id",
          "pose",
          "expression"
        ],
        "title": "VNSpriteCell"
      },
      "type": "array",
      "minItems": 1,
      "title": "Cells"
    },
    "output": {
      "properties": {
        "include_source_sheet": {
          "type": "boolean",
          "title": "Include Source Sheet",
          "default": true
        },
        "include_crops": {
          "type": "boolean",
          "title": "Include Crops",
          "default": true
        },
        "include_alpha_sprites": {
          "type": "boolean",
          "title": "Include Alpha Sprites",
          "default": true
        },
        "include_contact_sheets": {
          "type": "boolean",
          "title": "Include Contact Sheets",
          "default": true
        },
        "format": {
          "type": "string",
          "const": "png",
          "title": "Format",
          "default": "png"
        }
      },
      "type": "object",
      "title": "VNSpriteOutputOptions"
    },
    "quality": {
      "properties": {
        "generation_quality": {
          "type": "string",
          "title": "Generation Quality",
          "default": "high"
        },
        "validate_cells": {
          "type": "boolean",
          "title": "Validate Cells",
          "default": true
        },
        "regenerate_on_validation_failure": {
          "type": "boolean",
          "title": "Regenerate On Validation Failure",
          "default": false
        },
        "hi_res_cells": {
          "type": "boolean",
          "title": "Hi Res Cells",
          "description": "Opt-in: after cropping each cell from the consistency grid, run a reference-grounded image-to-image re-render of that cell at full native model resolution (the crop is the identity/pose reference). Fixes cells being limited to ~1/N of the sheet resolution. Billed as an extra image call per cell (+2 credits each).",
          "default": false
        },
        "hi_res_model": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Hi Res Model",
          "description": "Optional model override for the per-cell hi-res re-render, e.g. gpt-image-2 for fabric fidelity. Defaults to the source sheet's provider/model. Accepts gemini, grok, and gpt-image-2 aliases."
        }
      },
      "type": "object",
      "title": "VNSpriteQualityOptions"
    },
    "provider": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Provider",
      "description": "Image provider override for the source sheet, e.g. gemini, grok, or a known model alias."
    },
    "model": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Model",
      "description": "Image model override for the source sheet, e.g. gemini-3.1-flash-image."
    }
  },
  "required": [
    "character",
    "style",
    "sheet",
    "cells"
  ]
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🟢comic_design_brief(premise)

Return 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.

입력 스키마

{
  "type": "object",
  "properties": {
    "premise": {
      "type": "string",
      "minLength": 10,
      "title": "Premise",
      "description": "Premise the client will use to author the Living Panels PanelScript JSON itself."
    }
  },
  "required": [
    "premise"
  ]
}
🟡comic_submit_design(premise, story, client_name, client_model, start_production)

Accept 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.

입력 스키마

{
  "type": "object",
  "properties": {
    "premise": {
      "type": "string",
      "minLength": 10,
      "title": "Premise",
      "description": "Original premise the client used while authoring the submitted PanelScript story."
    },
    "story": {
      "additionalProperties": true,
      "type": "object",
      "title": "Story",
      "description": "Client-authored Living Panels Story JSON. The server validates it, clears any producer-owned asset fields, then produces art, motion, and voices."
    },
    "client_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Client Name",
      "description": "Host app or client name, for provenance."
    },
    "client_model": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Client Model",
      "description": "Model or agent that authored the story, for provenance."
    },
    "start_production": {
      "type": "boolean",
      "title": "Start Production",
      "description": "Start artifact generation immediately after validation.",
      "default": true
    }
  },
  "required": [
    "premise",
    "story"
  ]
}
🟡create_template(name, category, aspect_ratio, width, height, ...)

Create 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.

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 100,
      "minLength": 3,
      "title": "Name",
      "description": "Reusable template name; repeated identical names are idempotent."
    },
    "category": {
      "type": "string",
      "maxLength": 60,
      "minLength": 3,
      "title": "Category",
      "description": "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": {
      "type": "string",
      "title": "Aspect Ratio",
      "description": "One of 16:9, 1:1, 4:5, or 9:16."
    },
    "width": {
      "type": "integer",
      "maximum": 4096,
      "minimum": 320,
      "title": "Width",
      "description": "Canvas width in pixels, matching aspect_ratio."
    },
    "height": {
      "type": "integer",
      "maximum": 4096,
      "minimum": 320,
      "title": "Height",
      "description": "Canvas height in pixels, matching aspect_ratio."
    },
    "base_prompt": {
      "type": "string",
      "maxLength": 6000,
      "minLength": 40,
      "title": "Base Prompt",
      "description": "Visual subject, style, and data-rendering requirements; plain layout text only."
    },
    "layout_rules": {
      "type": "string",
      "maxLength": 3000,
      "minLength": 20,
      "title": "Layout Rules",
      "description": "Stable layout hierarchy and chart/diagram rules; plain text only."
    },
    "text_fields": {
      "items": {
        "properties": {
          "key": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1,
            "title": "Key",
            "description": "Stable snake_case field key, e.g. headline"
          },
          "label": {
            "type": "string",
            "maxLength": 60,
            "minLength": 2,
            "title": "Label",
            "description": "Human-readable field label"
          },
          "default_value": {
            "type": "string",
            "maxLength": 240,
            "minLength": 1,
            "title": "Default Value",
            "description": "Default editable copy"
          },
          "max_length": {
            "type": "integer",
            "maximum": 240,
            "minimum": 1,
            "title": "Max Length",
            "description": "Maximum copy length for this field",
            "default": 120
          }
        },
        "type": "object",
        "required": [
          "key",
          "label",
          "default_value"
        ],
        "title": "EditableTextFieldInput"
      },
      "type": "array",
      "maxItems": 12,
      "minItems": 1,
      "title": "Text Fields",
      "description": "Editable copy fields returned by get_text_fields."
    },
    "subcategory": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 60
        },
        {
          "type": "null"
        }
      ],
      "title": "Subcategory",
      "description": "Optional narrower catalog label."
    },
    "best_for": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "maxItems": 8,
      "title": "Best For",
      "description": "Optional concise use-case labels."
    }
  },
  "required": [
    "name",
    "category",
    "aspect_ratio",
    "width",
    "height",
    "base_prompt",
    "layout_rules",
    "text_fields"
  ]
}
🟡create_comic(premise)

Write 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.

입력 스키마

{
  "type": "object",
  "properties": {
    "premise": {
      "type": "string",
      "minLength": 10,
      "title": "Premise",
      "description": "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.'"
    }
  },
  "required": [
    "premise"
  ]
}
🟢comic_status(comic_id)

Check 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.

입력 스키마

{
  "type": "object",
  "properties": {
    "comic_id": {
      "type": "string",
      "minLength": 1,
      "title": "Comic Id",
      "description": "Comic id returned by create_comic"
    }
  },
  "required": [
    "comic_id"
  ]
}
🟢comic_revision_brief(comic_id)

Return 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.

입력 스키마

{
  "type": "object",
  "properties": {
    "comic_id": {
      "type": "string",
      "minLength": 1,
      "title": "Comic Id",
      "description": "Comic id to revise."
    }
  },
  "required": [
    "comic_id"
  ]
}
🟡comic_submit_revision(comic_id, base_story_hash, changes, story, dirty_nodes, ...)

Apply 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>.

입력 스키마

{
  "type": "object",
  "properties": {
    "comic_id": {
      "type": "string",
      "minLength": 1,
      "title": "Comic Id",
      "description": "Comic id to revise."
    },
    "base_story_hash": {
      "type": "string",
      "minLength": 8,
      "title": "Base Story Hash",
      "description": "Hash from comic_revision_brief. Prevents applying a patch over a stale story."
    },
    "changes": {
      "items": {
        "properties": {
          "path": {
            "type": "string",
            "title": "Path",
            "description": "Allowed Story JSON path from comic_revision_brief, e.g. pages[0].panels[1].cells[0].art."
          },
          "value": {
            "title": "Value",
            "description": "Replacement value for the target path."
          }
        },
        "type": "object",
        "required": [
          "path",
          "value"
        ],
        "title": "ClientComicChangeInput"
      },
      "type": "array",
      "title": "Changes",
      "description": "Targeted changes. Prefer this over full story replacement for small edits."
    },
    "story": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Story",
      "description": "Optional full replacement Story JSON. Targeted changes are cheaper/faster when possible."
    },
    "dirty_nodes": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Dirty Nodes",
      "description": "Optional extra producer nodes, e.g. panel:p2u1, motion:p2u1, tts:p2u1a-b0."
    },
    "summary": {
      "type": "string",
      "title": "Summary",
      "description": "Client-authored one-line revision summary.",
      "default": ""
    },
    "client_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Client Name",
      "description": "Host app or client name, for provenance."
    },
    "client_model": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Client Model",
      "description": "Model or agent that authored the revision, for provenance."
    },
    "start_production": {
      "type": "boolean",
      "title": "Start Production",
      "description": "Regenerate inferred dirty assets after saving.",
      "default": true
    }
  },
  "required": [
    "comic_id",
    "base_story_hash"
  ]
}
🟢get_credits

Return the authenticated user's current credit balance, usage, and Stripe subscription status. Free to call.

입력 스키마

{
  "type": "object",
  "properties": {},
  "required": []
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 14개
검증됨버전이 기록되지 않음도구 28개
검증됨버전이 기록되지 않음도구 28개