Picsart GenAI
Server Details
Generate and edit images, videos, and audio with 100+ Picsart AI models.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.9/5 across 14 of 14 tools scored.
Each tool has a clearly distinct purpose, with specific dedicated tools for common operations (change_bg, remove_bg, enhance, vectorize) and a general generate tool for others. The model listing tools are differentiated by UI presence, and all descriptions explicitly warn against overlap.
Most tools follow a consistent verb_noun pattern (e.g., change_bg, remove_bg, list_models), but a few deviate with noun_noun or bare noun (cinema_studio, music_studio, drive). The prefix 'picsart_' is uniform, and the naming is generally predictable.
14 tools is well-scoped for a multi-modal GenAI server covering image, video, audio, model management, file storage, and utilities like credits and preflight. Each tool earns its place without overwhelming the user.
The tool surface covers core workflows (CRUD-style image edits, generation, model discovery, drive management, and cost estimation). Minor gaps exist, such as no dedicated tool for text-to-speech or direct audio editing, but these are covered by studio tools or general generate.
Available Tools
14 toolspicsart_change_bgADestructiveInspect
Replaces the background of an image with a new scene described by a prompt, keeping the foreground subject intact. Auto-picks the newest enabled Picsart change-bg model unless overridden via the model param — no need to call picsart_list_models first. Use this when the user wants to "change the background to X", "put this on a beach", "swap the background for a marble counter", or any compositing where the subject is kept and the backdrop changes. Do NOT use this to strip the background to transparency (use picsart_remove_bg), upscale or sharpen (use picsart_enhance), convert raster to SVG (use picsart_vectorize), or generate a brand-new image from scratch (use picsart_generate). Required inputs: image — a publicly-accessible URL, not a local file path — and prompt describing the new background. Optional: model to pin a specific change-bg model. Example: { image: "https://example.com/product.jpg", prompt: "polished marble countertop with soft window light" }. Returns { assets, id, model, created_at, prompt, summary, why_relevant, url, results: [{ url, metadata? }], drive? } plus a resource_link block per result URL. id is the SDK's generation handle; metadata may include model-specific tags (e.g. exploreImageId for Recraft Explore models). Spends credits. Requires Authorization: Bearer .
| Name | Required | Description | Default |
|---|---|---|---|
| image | Yes | Input image URL | |
| model | No | Override model ID | |
| prompt | Yes | Description of the new background |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| url | No | |
| urls | No | |
| drive | No | |
| model | No | |
| assets | Yes | |
| prompt | No | |
| videos | No | |
| results | No | |
| summary | No | |
| finalUrl | No | |
| completed | No | |
| created_at | No | |
| iterations | No | |
| why_relevant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint true and readOnlyHint false. The description adds context: auto-picks newest model, spends credits, requires auth, and details the output structure including the resource_link block, going well beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement, usage guidelines, parameter details, example, and output structure. While comprehensive, it avoids unnecessary repetition and flows logically. It could be slightly shorter but remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 params, no enums, has output schema), the description covers all aspects: required inputs, optional parameter, output format with example, behavioral notes (auto-pick model, credits), and exclusions. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema provides 100% description coverage for the three parameters. The description adds meaning by specifying that 'image' must be a publicly accessible URL (not a local file), and explains the 'model' parameter's behavior (auto-pick unless overridden).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Replaces the background of an image with a new scene described by a prompt, keeping the foreground subject intact.' It also distinguishes from siblings by naming alternatives for removal, enhancement, vectorization, and generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides when to use (e.g., 'change the background to X', 'put this on a beach') and when not to use, listing specific sibling tools (picsart_remove_bg, picsart_enhance, picsart_vectorize, picsart_generate) with their correct purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picsart_cinema_studioARead-onlyIdempotentInspect
Opens the Picsart Cinema Studio: build a longer video as a sequence of Shots in a video-player UI. Pick one model per film (Seedance or Kling), generate each Shot (capped at the model max duration), optionally continue a shot from the previous shot's last frame, and save the film into a "Cinema Studio" folder in the user's Picsart Drive. Use when the user wants to MAKE a longer video, a multi-shot clip, or a short film. Takes no input. Returns { items, total, truncated } — the curated Seedance+Kling catalog with per-model capabilities the widget renders. Read-only; no credits, no auth.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| total | Yes | |
| truncated | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral details: 'pick one model per film', 'generate each Shot (capped at the model max duration)', 'optionally continue a shot from the previous shot's last frame', and 'save the film into a Cinema Studio folder'. This provides richer context beyond annotations, though it doesn't mention rate limits or auth specifics beyond 'no credits, no auth'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient paragraph that packs all critical information: purpose, usage, behavioral details, and return value. Every sentence adds value with no filler. It is front-loaded with the main action and use case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, read-only behavior, and an output schema (mentioned in description returning `{ items, total, truncated }`), the description covers everything needed. It explains the function, the workflow, constraints, and output format completely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters and 100% schema coverage. The description states 'Takes no input.' which is sufficient. According to guidelines, 0 parameters have a baseline of 4, and the description adds clear confirmation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool opens the Picsart Cinema Studio for building longer videos as sequences of shots. It specifies the verb 'opens', the resource 'Cinema Studio', and the exact use case ('make a longer video, a multi-shot clip, or a short film'). This distinguishes it from sibling tools like picsart_music_studio and picsart_generate by focusing on multi-shot video composition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when the user wants to MAKE a longer video, a multi-shot clip, or a short film.' This provides clear context for when to use the tool. However, it does not provide explicit when-not-to-use instructions or directly contrast with sibling tools, though the specificity implies alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picsart_creditsARead-onlyIdempotentInspect
Returns the current Picsart credit balance for the authenticated user — balance (active credits available now) plus the breakdown into resettable (recurring monthly/period quota) and accumulative (top-ups and add-ons), total (active credits across both pools), and overdraftUsage (credits spent past the balance, if any). When the resettable pool has a scheduled reset, nextResetDate is the ISO timestamp of the next refill. Use this before expensive operations to warn the user when the balance is low, or after a 402 from picsart_generate to confirm the issue is credits and not something else. Do NOT use it to estimate the cost of a specific generation (use picsart_preflight); this tool only reports the balance, not per-call cost. Takes no input. Returns { balance, total, resettable, accumulative, overdraftUsage, nextResetDate? } where each number is non-negative. Requires Authorization: Bearer (per-user account data).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | |
| balance | Yes | |
| resettable | Yes | |
| accumulative | Yes | |
| nextResetDate | No | |
| overdraftUsage | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Description adds valuable behavioral context: breakdown of resettable/accumulative/overdraft, meaning of nextResetDate, and that it takes no input. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is well-structured and front-loaded with main purpose. Every sentence adds value, explaining fields and usage context without redundancy. Appropriate length for the tool's details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Fully explains all return fields and their semantics, even though an output schema exists. Provides guidance on integration with sibling tools (picsart_generate, picsart_preflight). Complete for a zero-parameter, read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters; schema coverage is 100% (empty). Description correctly states 'Takes no input.' Baseline for 0 params is 4, and no further param info needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it returns the current Picsart credit balance, distinguishing from sibling tools like picsart_generate and picsart_preflight. The verb 'Returns' and resource 'credit balance' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: before expensive operations to warn low balance, or after a 402 from picsart_generate. Also clarifies when not to use: not for cost estimation (use picsart_preflight). Provides alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picsart_driveADestructiveInspect
Single entry point for the authenticated user's Picsart Drive. Pass action:
list: browse a folder.folderUidomitted = Drive root; set it to descend. Folders are returned first; files are paginated (page,pageSize<=128, optionalsort, optionaltypefilter). Setflat: trueto list every file across all folders (folders are omitted in flat mode).create_folder: requiresname;folderUid= parent (omit for root). Optionaldescription.upload: save a file. Provide EITHERfile(chat attachment) ORurl+name(an HTTPS URL or an inlinedata:URI — data URIs are pushed to the Picsart CDN first).folderUid= destination,type= resource kind.result.urlis the CDN-hosted URL of the saved file, ready to pass topicsart_generatereference params likeimageUrls.move: requiresitemUids;targetFolderUid= destination (omit = root).delete: requiresitemUids; soft-deletes to trash unlesspermanentis true.update: requiresitemUid+attributes; sets custom key/value attributes on a file (e.g.{ coverUrl }). Every action returns the current folder listing (folders, files, page math) so the widget can render. Requires Authorization: Bearer (per-user Drive content).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| file | No | ||
| flat | No | List action: when true, returns every file across the whole Drive (all folders) instead of just the items directly inside `folderUid`. Folders are not returned in flat mode. | |
| name | No | ||
| page | No | ||
| sort | No | ||
| type | No | ||
| action | Yes | ||
| itemUid | No | Update action: uid of the file whose attributes to set. | |
| itemUids | No | ||
| pageSize | No | ||
| folderUid | No | ||
| permanent | No | Delete action: true permanently purges; false/omitted moves to trash (recoverable). | |
| attributes | No | Update action: custom key/value attributes to set on the file (e.g. `{ coverUrl }`). | |
| description | No | ||
| targetFolderUid | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | Yes | |
| files | Yes | |
| result | No | |
| folders | Yes | |
| hasNext | Yes | |
| hasPrev | Yes | |
| pageSize | Yes | |
| folderUid | Yes | |
| breadcrumb | No | |
| totalFiles | Yes | |
| totalPages | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include destructiveHint: true, which the description confirms by detailing delete/move/update actions. It adds valuable context: soft-deletes go to trash unless permanent, every action returns current folder listing, and requires Authorization header. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer but well-structured with bulleted actions and clear labeling. It front-loads the purpose. However, some redundancy (e.g., repeating 'Requires Authorization') could be trimmed. Still efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (16 parameters, multiple actions, nested objects) and presence of output schema, the description covers all needed aspects: return values (e.g., result.url for upload), pagination, sorting, and nuances like data URI handling. No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%, but the description compensates thoroughly. It explains parameter behavior per action: e.g., folderUid defaults to root, flat:true omits folders, upload accepts file or url, etc. This far exceeds the schema's minimal descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'Single entry point for the authenticated user's Picsart Drive' and enumerates specific actions (list, create_folder, etc.). It distinguishes from sibling tools (all focused on image generation/editing) by being a file management tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use instructions for each action (e.g., 'list: browse a folder', 'upload: save a file'). It does not explicitly state when not to use, but the context of sibling tools makes alternatives clear. Minor exclusion of non-use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picsart_enhanceADestructiveInspect
Upscales and enhances an image — sharpens edges, denoises, and raises resolution by an optional scale factor. Auto-picks the newest enabled Picsart upscale / enhance model unless overridden via the model param. Use this when the user asks to "upscale", "enhance", "make it higher resolution", "sharpen", "clean up this photo", or "make this 4k". Do NOT use this to remove the background (use picsart_remove_bg), replace the background (use picsart_change_bg), convert raster to SVG (use picsart_vectorize), or generate a new image (use picsart_generate). Required input: image — a publicly-accessible URL, not a local file path. Optional: model to pin a specific enhance model, scaleFactor (e.g. 2 or 4) for upscale ratio. Example: { image: "https://example.com/photo.jpg", scaleFactor: 4 }. Returns { assets, id, model, created_at, summary, why_relevant, url, results: [{ url, metadata? }], drive? } plus a resource_link block per result URL. id is the SDK's generation handle; metadata may include model-specific tags. Spends credits. Requires Authorization: Bearer .
| Name | Required | Description | Default |
|---|---|---|---|
| image | Yes | Input image URL | |
| model | No | Override model ID (e.g. "picsart-enhance") | |
| scaleFactor | No | Upscale factor (e.g. 2, 4) |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| url | No | |
| urls | No | |
| drive | No | |
| model | No | |
| assets | Yes | |
| prompt | No | |
| videos | No | |
| results | No | |
| summary | No | |
| finalUrl | No | |
| completed | No | |
| created_at | No | |
| iterations | No | |
| why_relevant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite annotations already indicating destructiveHint=true and readOnlyHint=false, the description adds behavioral context: it spends credits, requires authorization, auto-selects the newest model, and lists effects (sharpen, denoise). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence is purposeful. Front-loaded with core action, then negative guidance, parameter details, example, return format, and finally credits/auth. No superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters and an output schema, the description fully covers purpose, usage, parameters, output fields, and constraints. It also explains credit spending and authorization, making it self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds beyond schema: clarifies image must be publicly accessible URL, model is an override, and scaleFactor is upscale ratio. Includes an example call, which further clarifies usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool upscales and enhances images by sharpening, denoising, and raising resolution. It distinguishes from siblings by explicitly listing tools not to use for background removal, SVG conversion, or generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use scenarios (e.g., 'upscale', 'enhance', 'make it higher resolution') and when-not-to-use alternatives (e.g., 'use picsart_remove_bg' for background removal). This is comprehensive and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picsart_generateADestructiveInspect
Runs any Picsart AI model end-to-end to produce an image, video, or audio result. Spends credits. Recommended flow: picsart_list_models to pick the model → picsart_model_params to learn its inputs → picsart_preflight to validate the payload and quote cost → picsart_generate to actually run. Do NOT use this for editing operations that have dedicated tools — background removal (picsart_remove_bg), background replacement (picsart_change_bg), upscale / enhancement (picsart_enhance), or raster-to-SVG conversion (picsart_vectorize). Also do NOT use it to validate params, quote cost, or browse the catalog — those are separate tools above. Required inputs: model (id) and prompt. Model-dependent optional inputs: duration (video seconds), aspectRatio (e.g. "16:9", "9:16", "1:1"), resolution (e.g. "1080p", "4k"), count (1–8 outputs), quality, style, negativePrompt, imageUrls (for image-to-X models), videoUrl (for video-to-X), enhancePrompt, generateAudio, and extra — a free-form record for model-specific params (discover them via picsart_model_params). Example (image): { model: "flux-2-pro", prompt: "a cat in a hat", aspectRatio: "16:9", count: 1 }. Example (video): { model: "kling-v3-pro", prompt: "a cat skiing down a mountain", duration: 5, aspectRatio: "16:9" }. Returns { assets, id, model, created_at, prompt, summary, why_relevant, url, results: [{ url, metadata? }], drive? } in structured content, plus one resource_link block per result URL — image models emit image links, video models emit video links (mime video/mp4). id is the SDK's generation handle; metadata may include model-specific tags (e.g. exploreImageId for Recraft Explore models). ChatGPT renders images and videos with the Picsart media gallery UI; clients fetch the assets from URLs, never base64. Spends credits and writes to the user's Picsart Drive when the Drive option is enabled. Requires Authorization: Bearer .
| Name | Required | Description | Default |
|---|---|---|---|
| async | No | Submit the job and return immediately with `{ job, status: "ACCEPTED" }` instead of waiting for the result. Meant for widget code that polls `picsart_job_status` with the returned handle; assistants should omit it and wait for the synchronous result. | |
| count | No | Number of outputs | |
| extra | No | Extra model-specific params. The accepted shape varies per model — picsart_model_params returns the JSON schema for any model, and picsart_preflight can pre-check (and price) a candidate object before generation. | |
| model | Yes | Model ID (e.g. "flux-2-pro", "kling-v3-pro") | |
| style | No | Style preset | |
| prompt | Yes | Generation prompt | |
| quality | No | Quality preset | |
| duration | No | Video duration in seconds | |
| videoUrl | No | Input video for video-to-X models | |
| imageUrls | No | Input images for image-to-X models | |
| resolution | No | Resolution (e.g. "1080p", "4k") | |
| aspectRatio | No | Aspect ratio (e.g. "16:9", "9:16", "1:1") | |
| saveToDrive | No | Auto-save the result into the user's Drive (default true). Set false when the caller persists the result itself (e.g. Music Studio saves into its own folder) to avoid a duplicate copy. | |
| enhancePrompt | No | AI-enhance the prompt before generating | |
| generateAudio | No | Generate audio track for video | |
| negativePrompt | No | What to avoid |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| url | No | |
| urls | No | |
| drive | No | |
| model | No | |
| assets | Yes | |
| prompt | No | |
| videos | No | |
| results | No | |
| summary | No | |
| finalUrl | No | |
| completed | No | |
| created_at | No | |
| iterations | No | |
| why_relevant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (destructiveHint=true, etc.), the description discloses critical details: credits are spent, results are saved to Drive when enabled, return format includes multiple data types and resource links, authentication via Bearer token is required, and rendering behavior for ChatGPT. This significantly surpasses annotation-only information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy (~400 words) but well-organized: core function, workflow, exclusions, parameters, examples, return format, side effects, and auth. It earns its length given the tool's complexity, though a slightly more concise presentation would improve clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 16 parameters, nested objects, output schema present, and model-dependent variability, the description covers all essential aspects: purpose, usage guidance, parameter semantics, examples, return format, side effects, and authentication. It is fully adequate for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions, but the description adds value by grouping required vs. model-dependent optional parameters, providing two concrete examples, explaining the 'extra' free-form record, and clarifying the 'async' parameter's intended use. This extra context raises the score above the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it runs any Picsart AI model to produce image/video/audio results, and explicitly lists operations for which dedicated tools exist (e.g., background removal, enhancement), preventing misuse. This distinguishes it from 12 sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a recommended workflow (list_models → model_params → preflight → generate) and explicitly states when NOT to use this tool: for editing operations with dedicated tools, validation, quoting cost, or browsing catalog. This gives agents concrete decision rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picsart_job_statusARead-onlyIdempotentInspect
Checks a generation job started by picsart_generate with async: true. Widget-facing: widgets poll this every few seconds with the returned job handle; assistants normally call picsart_generate synchronously and never need this tool. While running it returns { status: "ACCEPTED"|"IN_PROGRESS", progress?: { percent, estimatedSecondsLeft } }. Once finished it returns the same media payload picsart_generate would have returned ({ status: "COMPLETED", assets, results, url, ... }), or an error for FAILED/CANCELED jobs. Requires Authorization: Bearer .
| Name | Required | Description | Default |
|---|---|---|---|
| job | Yes | The job handle returned by `picsart_generate` when called with `async: true`. | |
| model | Yes | Model ID the job was submitted with (e.g. "seedance-2.0") | |
| prompt | No | Original prompt — echoed into the completed result metadata | |
| saveToDrive | No | Mirror of the original call's saveToDrive flag; pass false when the caller persists the result itself. |
Output Schema
| Name | Required | Description |
|---|---|---|
| assets | Yes | |
| status | Yes | ACCEPTED | IN_PROGRESS | COMPLETED (FAILED/CANCELED surface as tool errors) |
| progress | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint, etc.), the description details the return formats for running ('ACCEPTED'/'IN_PROGRESS' with progress) and completed states ('COMPLETED' with payload or error), plus auth requirements. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the primary purpose, and efficiently structured. Every sentence adds value, with no redundancy or unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of a detailed output schema (not shown), the description covers essential use context, parameter intent, return types, and authentication. It is fully sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds context: 'job' is explained as the job handle, 'model' as the model ID, 'prompt' as echoed metadata, 'saveToDrive' as mirror of original call. This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks a generation job started by 'picsart_generate' with 'async: true'. It distinguishes itself from the synchronous use case, making the purpose specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'widgets poll this every few seconds' and 'assistants normally call `picsart_generate` synchronously and never need this tool', providing clear guidance on when to use and when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picsart_list_modelsARead-onlyIdempotentInspect
Lists Picsart AI models across ALL modes (image / video / audio) and renders the Picsart Studio model-picker widget so the USER can browse, compare, and pick a model visually. Each item carries id, name, mode, inputType (and provider, badges, description when verbose is true). Use this when the user wants to SEE the available models or pick one themselves — especially when they have not committed to an output mode yet, or for cross-mode searches ("all flux models", "every model with image input"). For known output modes prefer the dedicated tools — picsart_list_image_models, picsart_list_video_models, picsart_list_audio_models — they route better from implicit prompts and need fewer filters. Do NOT use it to fetch a single model's parameter schema (use picsart_model_params) or estimate per-call cost (use picsart_preflight). If you only need catalog knowledge for your own reasoning (no UI shown to the user), use picsart_model_catalog instead. Inputs (all optional): mode (filter to image/video/audio), provider (case-insensitive substring like "flux", "kling", "google"), acceptsImage (true → only models that take an image input — i2i, i2v), acceptsVideo (true → only models that take a video input — v2v, v2a), acceptsAudio (true → only models that take an audio input — a2v, sts), inputType (exact-match escape hatch; one of t2v/i2v/v2v/a2v/t2i/i2i/t2a/v2a/tts/sts/sfx/music), limit (1–100, default 20), verbose (default false; when true each item adds provider/badges/description). inputType codes — first letter is input modality, second is output: t2i (text→image), i2i (image→image), t2v (text→video), i2v (image→video), v2v (video→video), a2v (audio→video), t2a (text→audio), v2a (video→audio), tts (text-to-speech), sts (speech-to-speech), sfx (sound effects), music (music gen). Example: { mode: "video", acceptsImage: true, limit: 10 } returns image-to-video models. Returns { items, total, truncated } — truncated is true when more matched than were returned; refine filters or raise limit (max 100) to see more. Read-only; spends no credits and works without authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Filter by generation mode | |
| limit | No | Max items to return (1–100, default 20) | |
| verbose | No | When true, include provider/badges/description per item. Default false. | |
| provider | No | Provider substring (e.g. "kling", "flux", "google") | |
| inputType | No | Exact inputType match (e.g. "i2v") | |
| acceptsAudio | No | Only return models that accept an audio input (a2v, sts) | |
| acceptsImage | No | Only return models that accept an image input (i2i, i2v) | |
| acceptsVideo | No | Only return models that accept a video input (v2v, v2a) |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| total | Yes | |
| truncated | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, idempotentHint true, destructiveHint false. Description adds that the tool is read-only, spends no credits, and works without authentication. No contradiction, and extra behavioral context is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence serves a purpose. It is front-loaded with the main action, then provides usage guidance, parameter details, and behavioral notes. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool complexity (8 optional params, widget rendering, return structure), the description covers usage context, alternatives, behavior, parameter semantics, and output format. Output schema exists and explains items/total/truncated, so no need to re-describe.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all properties have descriptions). Description adds explanation of inputType codes and an example filter usage, which adds value beyond schema. However, the schema already provides enums and descriptions, so the extra is marginal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists Picsart AI models across all modes (image/video/audio) and renders a UI widget for user selection. It distinguishes itself from siblings like picsart_list_image_models by noting cross-mode searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use (user wants to see models, cross-mode searches) and when not to use (prefer dedicated tools for known modes, not for single model schema or cost estimation). Names alternative tools like picsart_list_image_models, picsart_model_params, etc.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picsart_model_catalogARead-onlyIdempotentInspect
Returns the Picsart AI model catalog as plain data — renders NO widget or UI. Use this when YOU (the assistant) need catalog knowledge for your own reasoning: picking a model before picsart_generate, answering "which models support X", or comparing options — without pushing a model-picker widget into the conversation. When the user wants to SEE or browse models visually, use picsart_list_models instead (it renders the Picsart Studio picker). Same filters and result shape as picsart_list_models, but every item is rich by default: id, name, mode, inputType, provider, badges, description. Do NOT use it to fetch a single model's parameter schema (use picsart_model_params) or estimate per-call cost (use picsart_preflight). Inputs (all optional): mode (filter to image/video/audio), provider (case-insensitive substring like "flux", "kling", "google"), acceptsImage (true → only models that take an image input — i2i, i2v), acceptsVideo (true → only models that take a video input — v2v, v2a), acceptsAudio (true → only models that take an audio input — a2v, sts), inputType (exact-match escape hatch; one of t2v/i2v/v2v/a2v/t2i/i2i/t2a/v2a/tts/sts/sfx/music), limit (1–100, default 20), concise (default false; when true items carry only id/name/mode/inputType to save tokens). inputType codes — first letter is input modality, second is output: t2i (text→image), i2i (image→image), t2v (text→video), i2v (image→video), v2v (video→video), a2v (audio→video), t2a (text→audio), v2a (video→audio), tts (text-to-speech), sts (speech-to-speech), sfx (sound effects), music (music gen). Example: { mode: "audio", inputType: "music" } returns music-generation models. Returns { items, total, truncated } — truncated is true when more matched than were returned; refine filters or raise limit (max 100) to see more. Read-only; spends no credits and works without authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Filter by generation mode | |
| limit | No | Max items to return (1–100, default 20) | |
| concise | No | When true, items carry only id/name/mode/inputType. Default false (rich items). | |
| provider | No | Provider substring (e.g. "kling", "flux", "google") | |
| inputType | No | Exact inputType match (e.g. "i2v") | |
| acceptsAudio | No | Only return models that accept an audio input (a2v, sts) | |
| acceptsImage | No | Only return models that accept an image input (i2i, i2v) | |
| acceptsVideo | No | Only return models that accept a video input (v2v, v2a) |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| total | Yes | |
| truncated | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint, destructiveHint), description adds that it is read-only, spends no credits, works without authentication, and explains the truncated field behavior. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured and front-loaded with purpose, usage, and alternatives. However, it is somewhat lengthy with detailed parameter explanations; could be slightly more concise while retaining completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 optional parameters, 100% schema coverage, and presence of output schema, the description fully covers functionality, return shape (items, total, truncated), and constraints. No gaps for agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds significant value: explains inputType codes (t2i, i2v, etc.), provides an example filter, and describes the concise parameter default behavior. Goes well beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the Picsart AI model catalog as plain data without UI, distinguishing it from sibling picsart_list_models which renders a picker. Uses specific verb 'Returns' and resource 'Picsart AI model catalog'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (assistant reasoning, model selection, comparison) and when not to use (fetching params or cost estimate), with direct references to alternative tools picsart_model_params and picsart_preflight.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picsart_model_paramsARead-onlyIdempotentInspect
Returns the parameter schema for a specific Picsart model — a map of param name to descriptor ({ type, required, default, enum, min, max, step, label, accept }). Use this once you have a model id and need to construct the params payload for picsart_generate or feed picsart_preflight with a candidate object. Do NOT use it to discover which models exist (use picsart_list_models) or estimate cost (use picsart_preflight). Required input: model id. Example: { model: "flux-2-pro" }. Returns { model, schema: { <paramName>: { type: "string"|"number"|"boolean"|"file", required?, default?, enum?, min?, max?, step?, label?, accept? } } }. Read-only; spends no credits and works without authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Model ID (e.g. "flux-2-pro") |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | Yes | |
| schema | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable behavioral context: it is read-only, spends no credits, works without authentication, and describes the exact return structure. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise and well-structured: starts with primary purpose, then usage guidelines, an example, and return format. Every sentence is informative and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (single parameter, output schema described), the description is complete. It covers what the tool returns, how to use it, prerequisites, and relationships to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (single parameter 'model' with description). The description adds an example and clarifies that the model id is required, providing extra context beyond the schema. Baseline 3, elevated to 4 due to added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool returns the parameter schema for a specific Picsart model, using a specific verb ('Returns') and resource ('parameter schema'). Additionally, it distinguishes itself from siblings like picsart_list_models and picsart_preflight by specifying what it is not for.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when to use this tool (after getting a model id, to construct params for picsart_generate or picsart_preflight) and when not to (do not use to discover models or estimate cost, listing alternative tools).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picsart_music_studioARead-onlyIdempotentInspect
Opens the Picsart Music Studio: browse music/audio models, compose with a guided prompt builder, generate and play tracks, create AI album-cover art, revisit previously generated tracks, and save everything into a "Music Studio" folder in the user's Picsart Drive. Use when the user wants to MAKE music, a song, a soundtrack, a jingle, or sound effects. Covers text-to-music (MiniMax Music v2, Google Lyria 3 Pro/Clip), short audio clips (Kling T2A), and sound effects (ElevenLabs SFX). Does NOT edit existing audio (no trimming, remixing, or stem work), and is not for text-to-speech / voice cloning or image/video generation. Takes no input. Returns { items, total, truncated } — the curated music catalog the widget renders. Read-only; spends no credits and works without authentication.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| total | Yes | |
| truncated | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description confirms 'Read-only; spends no credits and works without authentication,' and describes the return format { items, total, truncated }. No contradictions; adds safety and authorization context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that efficiently front-loads the main purpose, lists features, states exclusions, and ends with return format and safety notes. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple models, features) but no parameters and an existing output schema, the description fully covers purpose, usage scope, limitations, return type, and safety. It leaves no ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and the description explicitly states 'Takes no input.' With 0 parameters, baseline score is 4, and the description appropriately confirms the absence without needing further detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool opens the Picsart Music Studio for making music, songs, soundtracks, jingles, and sound effects, listing specific capabilities. It distinguishes from siblings by stating what it does not do (e.g., no editing, TTS, image generation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when the user wants to MAKE music...' and lists exclusions like 'Does NOT edit existing audio' and 'not for text-to-speech / voice cloning.' It also notes it takes no input and is read-only, guiding appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picsart_preflightARead-onlyIdempotentInspect
Free pre-flight check before picsart_generate: in ONE call it (1) validates a candidate params object against the model's parameter schema + inter-parameter constraints, and (2) quotes the credit cost — without running the model or charging the user. Use this after assembling params (user input, derived defaults, model swaps) and before generating, to surface bad arguments and show cost. Do NOT use it to look up which params a model accepts (use picsart_model_params) or to actually generate (use picsart_generate). Required inputs: model id and a params object (put the prompt inside params). Example: { model: "flux-2-pro", params: { prompt: "a cat in a hat", aspectRatio: "16:9", count: 1 } }. Returns { model, valid, errors?, credits }: valid/errors are from local validation (always present, no auth needed; errors only when invalid); credits is the dry-run cost (a number), or null when pricing is unavailable or the request is unauthenticated.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Model ID | |
| params | Yes | Candidate params (include the prompt). Validated locally and priced. |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | Yes | |
| valid | Yes | |
| errors | No | |
| credits | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnly, idempotent, non-destructive. Description adds that it does not charge, returns validation results always, and credits only when available and authenticated. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single paragraph but packed with useful information, front-loaded with purpose. Could be slightly more structured but not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all aspects: purpose, when/not to use, required inputs, example, return format. Output schema is described. Complete given context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions. The description adds value by explaining that params should include prompt, providing an example, and detailing validation and pricing behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a pre-flight check for picsart_generate, validating params and quoting credit cost without running the model. It distinguishes from siblings picsart_model_params (parameter lookup) and picsart_generate (actual generation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (after assembling params, before generating) and when not to use (using picsart_model_params or picsart_generate). Also lists required inputs and provides an example.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picsart_remove_bgADestructiveInspect
Removes the background from an image, returning a transparent cutout of the foreground subject. Auto-picks the newest enabled Picsart remove-bg model unless overridden via the model param — no need to call picsart_list_models first. Use this when the user asks to "remove the background", "cut out the subject", or "make the background transparent". Do NOT use this to replace the background with a new scene (use picsart_change_bg), upscale or sharpen the result (use picsart_enhance), convert raster to SVG (use picsart_vectorize), or generate a new image from scratch (use picsart_generate). Required input: image — a publicly-accessible URL. Local files are not supported; if you only have a local file, first make it available as a public or app-authorized URL. Optional: model to pin a specific remove-bg model, outputFormat (e.g. "png"). Example: { image: "https://example.com/portrait.jpg" }. Returns { assets, id, model, created_at, summary, why_relevant, url, results: [{ url, metadata? }], drive? } plus a resource_link block per result URL. id is the SDK's generation handle; metadata may include model-specific tags. Spends credits. Requires Authorization: Bearer .
| Name | Required | Description | Default |
|---|---|---|---|
| image | Yes | Input image URL | |
| model | No | Override model ID (e.g. "picsart-remove-bg") | |
| outputFormat | No | Output format (e.g. "png") |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| url | No | |
| urls | No | |
| drive | No | |
| model | No | |
| assets | Yes | |
| prompt | No | |
| videos | No | |
| results | No | |
| summary | No | |
| finalUrl | No | |
| completed | No | |
| created_at | No | |
| iterations | No | |
| why_relevant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false. Description adds that it auto-picks model, spends credits, requires Authorization, and returns specific fields. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with main purpose, well-organized into clear sections: purpose, usage, exclusions, requirements, optional params, example. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given complexity, schema coverage, annotations, and output schema, the description covers input constraints, output format, credit usage, authentication, and model selection. Fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% but description adds value: explains model is optional (auto-picks), image must be public URL not local, and shows example. OutputFormat mention reinforces its purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it removes background and returns transparent cutout. Distinguishes from siblings like picsart_change_bg, picsart_enhance, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use (user asks to remove background, cut out subject, make transparent) and when NOT to use (replace background, upscale, vectorize, generate). Also provides context on model selection and input requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picsart_vectorizeADestructiveInspect
Converts a raster image (PNG, JPG) into an SVG vector. Auto-picks the newest enabled Picsart vectorize model unless overridden via the model param. Use this when the user asks to "vectorize", "convert to SVG", "make this a vector", or wants a scalable version of a logo or icon. Best results on logos, icons, and simple graphics — photographic images vectorize poorly and the user should be warned. Do NOT use this to remove the background (use picsart_remove_bg), replace the background (use picsart_change_bg), upscale a raster image (use picsart_enhance), or generate a new image (use picsart_generate). Required input: image — a publicly-accessible URL to a PNG or JPG (not a local file path). Optional: model to pin a specific vectorize model. Example: { image: "https://example.com/logo.png" }. Returns { assets, id, model, created_at, summary, why_relevant, url, results: [{ url, metadata? }], drive? } plus a resource_link block for the SVG URL (mime image/svg+xml). id is the SDK's generation handle. Clients fetch the SVG from that URL. Spends credits. Requires Authorization: Bearer .
| Name | Required | Description | Default |
|---|---|---|---|
| image | Yes | Input image URL | |
| model | No | Override model ID |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| url | No | |
| urls | No | |
| drive | No | |
| model | No | |
| assets | Yes | |
| prompt | No | |
| videos | No | |
| results | No | |
| summary | No | |
| finalUrl | No | |
| completed | No | |
| created_at | No | |
| iterations | No | |
| why_relevant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses automatic model selection, best use cases, poor performance on photos, credit spending, required authentication, and return structure. Annotations (destructiveHint=true, etc.) are consistent and complemented by these details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is thorough but not excessively wordy; each sentence serves a purpose. It is front-loaded with the main action and then provides necessary details. Slightly verbose but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (not shown but referenced), the description still covers input requirements, optional parameters, behavioral notes, return structure, and special scenarios (e.g., poor vectorization of photos). No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage, so baseline is 3. The description adds context for 'image' (must be public URL, not local file) and 'model' (overrides auto-pick), which provides meaningful guidance beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Converts a raster image (PNG, JPG) into an SVG vector' with specific triggers ('vectorize', 'convert to SVG', etc.) and clearly distinguishes from siblings by listing tools to avoid (e.g., picsart_remove_bg, picsart_enhance).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use this tool, provides example user queries, and lists when not to use it with specific alternative tools, such as 'Do NOT use this to remove the background (use picsart_remove_bg)'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!