zoviz

Professional branding for any business, callable straight from your AI agent.

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноМожет изменять данные

Что умеет

  • Get Account Info: Retrieve the authenticated user's account information (name and email).
  • Get Credits: Retrieve the authenticated user's credit balance. Wraps ``POST /credit/get``. Returns the available credit and, if any credits are temporarily reserved by an in-flight operation (e.g. a b
  • Get Workspace Memberships: List every workspace the authenticated user belongs to, with their role. Wraps ``POST /workspace/memberships``. Each record is a workspace plus a single ``member`` block des

Какие данные видит

Нужен ли аккаунт

Не нужен: сервер работает без входа

Professional branding for any business, callable straight from your AI agent. Zoviz generates real editable vector logos, complete brand kits, and marketing assets in any language, with full RTL support for Arabic, Turkish, Indonesian, Brazilian Portuguese, and more.

Built on the Zoviz Logo Engine, the only programmatic vector logo generation API, trusted by 1.3M+ businesses across 190+ countries.

What you can do

  • Generate logo options for a brand and download them as real vector files
  • Create images from a prompt, edit them, and remove backgrounds
  • Produce ready to post social media content with captions
  • Manage brands and brand assets across your workspace

Logos are genuine editable vector files, not raster images.

Список инструментов сервера (15)

Технические названия из tools/list. Нужны только разработчикам.

get_account_infoRetrieve the authenticated user's account information (name and email).
get_creditsRetrieve the authenticated user's credit balance. Wraps ``POST /credit/get``. Returns the available credit and, if any credits are temporarily reserved by an in-flight operation (e.g. a background logo render that hasn't settled yet), surfaces that as a separate line so the user understands why the spendable balance might be lower than the headline figure. Returns: A short, human-readable summary of the user's credit balance.
get_workspace_membershipsList every workspace the authenticated user belongs to, with their role. Wraps ``POST /workspace/memberships``. Each record is a workspace plus a single ``member`` block describing the *current user's* role in that workspace - it does NOT enumerate other members. Use this when the user asks "what workspaces do I have", "what's my role in X", or before operations that depend on workspace permissions (owner / super_admin / admin / designer / viewer). Returns: A formatted summary of the user's workspaces with role, type, and status. If the user belongs to no workspaces, returns a friendly empty-state message.
get_brand_listRetrieve the list of brands for the authenticated user.
get_brand_logo_filesRetrieve detailed logo files / layouts for a specific brand.
add_brandAdd a selected brand to the user's main brand list.
download_logoDownload a logo file with a specified format and optional dimensions. Initiates a download request and polls the server until the file is ready, then returns the download URL. IMPORTANT FOR AI AGENTS: Act as a professional logo designer. Guide the user step-by-step: 1. Help them select the brand and logo file (use `get_brand_list` and `get_brand_logo_files`). 2. BEFORE proceeding, check the brand's package type from `get_brand_list`: - If the package is "free", the brand is a watermarked PREVIEW and the download is LOCKED. Do NOT promise a download - instead tell the user to upgrade the brand from its dashboard (`https://zoviz.com/app/brand/{brand_id}`) and try again afterwards. This tool also enforces the check server-side and returns an upgrade link if the brand is still free, so never claim a free logo was downloaded. 3. If the brand is not free, ask what file format they need (jpg, png, svg, or pdf) - explain the use cases for each. 4. Ask if they want to specify custom dimensions. 5. If yes, ask for width first (optional, 20-5000 pixels), then height. 6. Explain that leaving dimensions empty will use the original size. Do NOT ask for all parameters at once - create a conversational experience.
create_logoGenerate logo options for a brand. IMPORTANT FOR AI AGENTS: Act as a professional logo designer. Guide the user step-by-step rather than asking for all inputs at once: 1. Start by asking ONLY for the brand name. 2. Ask if they want to add a slogan (optional). 3. Colors: by DEFAULT do NOT pass `colors` at all. Zoviz performs smart color selection automatically and that produces the best results, so leave it empty unless the user explicitly asks for specific colors and insists. ONLY when they insist, pick hex colors that suit the brand - generate at least 3 for a coherent palette - and pass them as a list, e.g. colors=["#AA1F1A", "#1F4AAA", "#1AAA6B"]. Never invent colors the user didn't ask for. 4. Ask if they want to add a description to refine the design (optional). Make the user feel like they're working with a designer, not filling out a form. PREVIEW / UPSELL: The generated logos are FREE PREVIEWS - they are watermarked and CANNOT be downloaded until the brand is upgraded. After showing the options, ALWAYS make this clear and invite the user to unlock their favourite. Each option includes a brand dashboard URL (``https://zoviz.com/app/brand/{brand_id}``) - tell the user to open that link to upgrade the brand, after which `download_logo` will work. Do not promise a download for a brand that hasn't been upgraded.
generate_more_logosGenerate ADDITIONAL distinct logo options for an existing album. Companion to ``create_logo``. ``create_logo`` registers a new album AND draws the first batch of 3 options from it; this tool draws the NEXT batch from an album that already exists. The upstream album is stateful: every call to ``/album/brand/generate`` with the same ``id`` advances its internal cursor and returns a fresh, non- overlapping slice of the design space, so calling this tool 1, 2, 3, ... times yields 3, 6, 9, ... total distinct options for the same brand_name / slogan / color / description originally supplied. Calling ``create_logo`` again instead would mint a brand-new album and produce another top-3 that's visually similar to the first one, which is the bug this tool exists to avoid. IMPORTANT FOR AI AGENTS: when the user says "generate more", "show me other options", "I want different ones", or anything in that family AFTER a previous ``create_logo`` call, use THIS tool with the ``album_id`` from the previous result - never call ``create_logo`` a second time for the same brand. The album_id is surfaced both in the markdown and in ``structured_content.album_id`` of the previous result for exactly this reason.
generate_imageGenerate an image from a text prompt using the Zoviz image service. The result is saved by the configured output backend (today: local disk under MCP_GENERATED_DIR, served by nginx) with an unguessable filename, valid for ~24h. IMPORTANT FOR AI AGENTS: This is a paid operation - it consumes user credit. Confirm the prompt with the user before calling. If the user has no credit (the tool returns "Insufficient credit balance ..."), tell them they need to top up before retrying; do NOT silently retry.
remove_backgroundRemove the background from an image. Provide ONE of media_id or image_url. The result is a PNG with a transparent background, saved by the configured output backend (today: local disk under MCP_GENERATED_DIR, served by nginx) with an unguessable filename, valid for ~24h. IMPORTANT FOR AI AGENTS: This is a paid operation - it consumes user credit. Confirm the source with the user before calling. If the user has no credit (the tool returns "Insufficient credit balance ..."), tell them they need to top up before retrying; do NOT silently retry.
image_editEdit one or more images with a text prompt (up to 3 inputs). The output is a freshly-generated image (PNG by default), saved by the configured output backend (today: local disk under MCP_GENERATED_DIR, served by nginx) with an unguessable filename, valid for ~24h. IMPORTANT FOR AI AGENTS: This is a paid operation - it consumes user credit (see ``credits_charged`` in the result). Confirm the sources AND the prompt with the user before calling. If the user has no credit (the tool returns "Insufficient credit balance ..."), tell them they need to top up before retrying; do NOT silently retry. CALL SHAPE - READ CAREFULLY: source images go INSIDE the ``images`` list, NOT as top-level arguments. The tool does NOT accept ``media_id`` or ``image_url`` at the top level - those keys belong inside an entry of ``images``. Right: image_edit(prompt="...", images=[{"media_id": "abc"}]) Right: image_edit(prompt="...", images=[{"image_url": "https://..."}]) Wrong: image_edit(prompt="...", media_id="abc") # rejected Wrong: image_edit(prompt="...", image_url="https://...") # rejected
generate_social_contentGenerate a complete social media post or story (one image + caption + concept). Use this when the user wants a *ready-to-publish* social asset: one rendered image sized for a specific platform, plus a caption with hashtags and a one-line visual concept. This is a higher- level tool than ``generate_image`` (image only, no copy) or ``image_edit`` (transforms an existing image). REFERENCE IMAGES - ASK BEFORE GENERATING: Before calling this tool, **ask the user if they have a logo or any relevant image** (product photo, brand asset, mood board) they'd like included. Results with reference images are dramatically better - the engine uses them to match brand colors, place logos, and maintain visual consistency. Without them the output is generic. This is not strictly required (proceed without if the user declines or has nothing to share), but the quality difference is large enough that you should always offer. If the user already shared an image earlier in the conversation or you have a media_id from a prior upload, pass it automatically - no need to ask again. ONE IMAGE PER CALL: this tool generates exactly one image per invocation. If the user needs multiple sizes (e.g. 1:1 feed + 9:16 story), call the tool once for each size. This keeps credit usage predictable and avoids upstream timeouts. (The studio endpoint itself accepts up to 5 sizes in a single call - we deliberately surface only single-size calls through this tool for credit transparency.) POST vs STORY (read carefully - the LLM picks one): * ``format="post"`` -> standard feed post. All four platforms support this. Default size is the platform's 1:1 square feed post. * ``format="story"`` -> full-screen 9:16 story. Only ``facebook`` and ``instagram`` support stories; calling ``story`` for ``linkedin`` or ``twitter`` is rejected with a clear error. Default size is the platform's 9:16 story. Use ``story`` only when the user explicitly says "story" / "stories" / "9:16". Default to ``post`` otherwise. Pricing is ~7 credits per call (5 for the render + 2 for the visual-concept step). The exact total comes back as ``credits_charged``. Confirm with the user before calling.
upload_mediaGet presigned PUT URLs for uploading one or more local files. IMPORTANT FOR AI AGENTS: this is the FIRST step of a two-step flow. For each file you receive an ``upload_url`` plus a ready-to-paste ``curl`` snippet. Show the snippets to the user verbatim and ask them to run each one (or, if your environment can make outbound HTTPS to the returned host, run them yourself). Once every PUT completes, call ``media_confirm`` with the same list of ``media_ids`` to verify the uploads landed and obtain public URLs you can pass to downstream tools. The PUT URL is signed with ``sp=c`` (create-only) and expires in ~10 minutes by default - treat it like a one-time bearer token. A second PUT to the same URL will fail with HTTP 409 because the slot is already taken. DOMAIN-ALLOWLIST GUIDANCE: some MCP clients (Claude in particular) maintain a *per-user* code-execution domain allowlist that's independent of the global sandbox network policy. If running the returned ``curl`` errors with something like "host not allowed", "domain not in allowlist", or refuses outbound HTTPS to the upload host, surface ``structured_content.upload_host`` to the user and instruct them: For Claude: 1. Settings -> Capabilities 2. Code execution and file creation 3. Additional allowed domains 4. Add the host (from ``upload_host`` in this tool's response) 5. Save and start a new chat session 6. Re-run upload_media to mint a fresh SAS, then retry the curl The original SAS will most likely have expired during the user's settings change, so always call ``upload_media`` again rather than reusing the old ``upload_url``.
media_confirmConfirm one or more uploads landed and get their public URLs. Call this AFTER the user has run the curl snippets returned by ``upload_media``. There's no DB - we determine "uploaded" by asking the storage backend whether ``{media_id}.{ext}`` exists for any whitelisted ``ext``. A missing blob means either the PUT never landed or the storage backend's lifecycle policy has already pruned it (default 24h). Beyond existence, this tool runs two server-side checks before declaring an upload OK: 1. **Size cap** - blobs over MCP_UPLOAD_MAX_BYTES are rejected and deleted. The PUT URL itself can't enforce this (Azure SAS has no Content-Length-Range parameter); we enforce it here as a post-upload guard. 2. **Magic-byte sniff** - first 12 bytes are matched against the file-format magic for the declared content_type. Blocks MIME-spoofing attacks where a non-image (e.g. an .exe) is uploaded with content_type=image/png. Failed checks delete the blob immediately (idempotent) so a rejected upload can never squat on storage or be served from a public URL.
zoviz: подключить к Claude, ChatGPT, Cursor · Connectors.fun