Picsart GenAI
REMOTE · API.PICSART.COM · SCANNED AUG 3
Generate and edit images, videos, and audio with 100+ Picsart AI models.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (picsart_drive). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability73
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5753 tokens (~319/item across 18 items; 13 tools + 5 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management19
- Stability check failed: schema churn in the 8 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 0 additions. See how to fix → Fail
Tool Coverage95
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 82% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · api.picsart.com
claude mcp add --transport http com-picsart-api-gen-ai https://api.picsart.com/gen-ai/mcp
[mcp_servers.com-picsart-api-gen-ai] url = "https://api.picsart.com/gen-ai/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-picsart-api-gen-ai": {
"type": "remote",
"url": "https://api.picsart.com/gen-ai/mcp",
"enabled": true
}
}
} openclaw mcp add com-picsart-api-gen-ai --url https://api.picsart.com/gen-ai/mcp --transport streamable-http
mcp_servers:
com-picsart-api-gen-ai:
url: "https://api.picsart.com/gen-ai/mcp" {
"mcpServers": {
"com-picsart-api-gen-ai": {
"type": "http",
"url": "https://api.picsart.com/gen-ai/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +7
- Schema quality: unverified → excellent ▲ functional
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 9 to 12.
- 31 Jul 26 −7
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 64
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://api.picsart.com/gen-ai/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=picsart.com | CN=WE1,O=Google Trust Services,C=US | 26 Jul 2026 | 24 Oct 2026 | ECDSA 256 | ECDSA-SHA256 | e8a5c60fcf25300c13e6ce40449b447f |
| SANs: picsart.com, api.picsart.com, *.api.picsart.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC insecure
Validation of api.picsart.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| picsart.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=2592000 |
| x-content-type-options | nosniff |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.picsart.com/gen-ai/mcp | Verified | 200 | |
| http (plaintext) | http://api.picsart.com/gen-ai/mcp | HTTPS enforced | 301 | https://api.picsart.com/gen-ai/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
picsart_change_bg ~408
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; preflight the explicit model id you plan to use (the default path may select `recraftv3-replace-bg` rather than the legacy `picsart-change-bg`). 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 <picsart_token>.
| Name | Type | Req | Description |
|---|---|---|---|
| image | string | yes | Input image URL |
| model | string | — | Override model ID (e.g. "recraftv3-replace-bg") |
| prompt | string | yes | Description of the new background |
| Name | Type | Req | Description |
|---|---|---|---|
| assets | array | yes | — |
| completed | number | — | — |
| created_at | string | — | — |
| drive | — | — | — |
| finalUrl | string | — | — |
| id | string | — | — |
| iterations | number | — | — |
| model | string | — | — |
| prompt | string | — | — |
| results | — | — | — |
| summary | string | — | — |
| url | string | — | — |
| urls | array | — | — |
| videos | array | — | — |
| why_relevant | string | — | — |
No examples provided.
picsart_credits ~228
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 <picsart_token> (per-user account data).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| accumulative | number | yes | — |
| balance | number | yes | — |
| nextResetDate | string | — | — |
| overdraftUsage | number | yes | — |
| resettable | number | yes | — |
| total | number | yes | — |
No examples provided.
picsart_drive ~535
Single entry point for the authenticated user's Picsart Drive. Pass `action`: - `list`: browse a folder. `folderUid` omitted = Drive root; set it to descend. Folders are returned first; files are paginated (`page`, `pageSize`<=128, optional `sort`, optional `type` filter). Set `flat: true` to list every file across all folders (folders are omitted in flat mode). - `create_folder`: requires `name`; `folderUid` = parent (omit for root). Optional `description`. - `upload`: save a file. Provide EITHER `file` (chat attachment) OR `url`+`name` (an HTTPS URL or an inline `data:` URI — data URIs are pushed to the Picsart CDN first). `folderUid` = destination, `type` = resource kind. `result.url` is the CDN-hosted URL of the saved file, ready to pass to `picsart_generate` reference params like `imageUrls`. - `move`: requires `itemUids`; `targetFolderUid` = destination (omit = root). - `delete`: requires `itemUids`; soft-deletes to trash unless `permanent` is true. - `update`: requires `itemUid` + `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 <picsart_token> (per-user Drive content).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | — |
| attributes | object | — | Update action: custom key/value attributes to set on the file (e.g. `{ coverUrl }`). |
| description | string | — | — |
| file | object | — | — |
| flat | boolean | — | 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. |
| folderUid | string | — | — |
| itemUid | string | — | Update action: uid of the file whose attributes to set. |
| itemUids | array | — | — |
| name | string | — | — |
| page | integer | — | — |
| pageSize | integer | — | — |
| permanent | boolean | — | Delete action: true permanently purges; false/omitted moves to trash (recoverable). |
| sort | object | — | — |
| targetFolderUid | string | — | — |
| type | string | — | — |
| url | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| breadcrumb | array | — | — |
| files | array | yes | — |
| folderUid | string|null | yes | — |
| folders | array | yes | — |
| hasNext | boolean | yes | — |
| hasPrev | boolean | yes | — |
| page | number | yes | — |
| pageSize | number | yes | — |
| result | object | — | — |
| totalFiles | number | yes | — |
| totalPages | number | yes | — |
No examples provided.
picsart_enhance ~345
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 <picsart_token>.
| Name | Type | Req | Description |
|---|---|---|---|
| image | string | yes | Input image URL |
| model | string | — | Override model ID (e.g. "picsart-enhance") |
| scaleFactor | number | — | Upscale factor (e.g. 2, 4) |
| Name | Type | Req | Description |
|---|---|---|---|
| assets | array | yes | — |
| completed | number | — | — |
| created_at | string | — | — |
| drive | — | — | — |
| finalUrl | string | — | — |
| id | string | — | — |
| iterations | number | — | — |
| model | string | — | — |
| prompt | string | — | — |
| results | — | — | — |
| summary | string | — | — |
| url | string | — | — |
| urls | array | — | — |
| videos | array | — | — |
| why_relevant | string | — | — |
No examples provided.
picsart_generate ~931
Runs any Picsart AI model end-to-end to produce an image, video, audio, or text 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–10 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: "1:1", 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). Text/LLM models (mode "text" in the catalog — e.g. gemini-3-pro, gpt-5.5, claude-*) run synchronously (`async` is ignored) and return the generated text as the text content block plus `text` in structured content. ChatGPT renders images and videos with the Picsart…
| Name | Type | Req | Description |
|---|---|---|---|
| aspectRatio | string | — | Aspect ratio (e.g. "16:9", "9:16", "1:1") |
| async | boolean | — | 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… |
| count | integer | — | Number of outputs |
| duration | number | — | Video duration in seconds |
| enhancePrompt | boolean | — | AI-enhance the prompt before generating |
| extra | object | — | 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 befor… |
| generateAudio | boolean | — | Generate audio track for video |
| imageUrls | array | — | Input images for image-to-X models |
| model | string | yes | Model ID (e.g. "flux-2-pro", "kling-v3-pro") |
| negativePrompt | string | — | What to avoid |
| prompt | string | yes | Generation prompt |
| quality | string | — | Quality preset |
| resolution | string | — | Resolution (e.g. "1080p", "4k") |
| saveToDrive | boolean | — | 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. |
| style | string | — | Style preset |
| videoUrl | string | — | Input video for video-to-X models |
| Name | Type | Req | Description |
|---|---|---|---|
| assets | array | yes | — |
| completed | number | — | — |
| created_at | string | — | — |
| drive | — | — | — |
| finalUrl | string | — | — |
| id | string | — | — |
| iterations | number | — | — |
| model | string | — | — |
| prompt | string | — | — |
| results | — | — | — |
| summary | string | — | — |
| url | string | — | — |
| urls | array | — | — |
| videos | array | — | — |
| why_relevant | string | — | — |
No examples provided.
picsart_job_status ~234
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 <picsart_token>.
| Name | Type | Req | Description |
|---|---|---|---|
| job | object | yes | The job handle returned by `picsart_generate` when called with `async: true`. |
| model | string | yes | Model ID the job was submitted with (e.g. "seedance-2.0") |
| prompt | string | — | Original prompt — echoed into the completed result metadata |
| saveToDrive | boolean | — | Mirror of the original call's saveToDrive flag; pass false when the caller persists the result itself. |
| Name | Type | Req | Description |
|---|---|---|---|
| assets | array | yes | — |
| progress | object | — | — |
| status | string | yes | ACCEPTED | IN_PROGRESS | COMPLETED (FAILED/CANCELED surface as tool errors) |
No examples provided.
picsart_list_models ~802
Lists Picsart AI models across ALL modes (image / video / audio / text) 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/text — text = LLM models that return generated text), `provider` (case-insensitive substring like "flux", "kling", "google"), `acceptsImage` (true → only models that take an image input — i2i, i2v, i2t), `acceptsVideo` (true → only models that take a video input — v2v, v2a, v2t), `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/t2t/i2t/v2t), `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), t2t/i2t/v2t (LLM text output from text/image/video input). Example: `{ m…
| Name | Type | Req | Description |
|---|---|---|---|
| acceptsAudio | boolean | — | Only return models that accept an audio input (a2v, sts) |
| acceptsImage | boolean | — | Only return models that accept an image input (i2i, i2v) |
| acceptsVideo | boolean | — | Only return models that accept a video input (v2v, v2a) |
| inputType | string | — | Exact inputType match (e.g. "i2v") |
| limit | integer | — | Max items to return (1–100, default 20) |
| mode | string | — | Filter by generation mode |
| provider | string | — | Provider substring (e.g. "kling", "flux", "google") |
| verbose | boolean | — | When true, include provider/badges/description per item. Default false. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | — |
| total | number | yes | — |
| truncated | boolean | yes | — |
No examples provided.
picsart_model_catalog ~750
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/text — text = LLM models that return generated text), `provider` (case-insensitive substring like "flux", "kling", "google"), `acceptsImage` (true → only models that take an image input — i2i, i2v, i2t), `acceptsVideo` (true → only models that take a video input — v2v, v2a, v2t), `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/t2t/i2t/v2t), `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), t2t/i2t/v2t (LLM text output from text/image/video input). 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-…
| Name | Type | Req | Description |
|---|---|---|---|
| acceptsAudio | boolean | — | Only return models that accept an audio input (a2v, sts) |
| acceptsImage | boolean | — | Only return models that accept an image input (i2i, i2v) |
| acceptsVideo | boolean | — | Only return models that accept a video input (v2v, v2a) |
| concise | boolean | — | When true, items carry only id/name/mode/inputType. Default false (rich items). |
| inputType | string | — | Exact inputType match (e.g. "i2v") |
| limit | integer | — | Max items to return (1–100, default 20) |
| mode | string | — | Filter by generation mode |
| provider | string | — | Provider substring (e.g. "kling", "flux", "google") |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | — |
| total | number | yes | — |
| truncated | boolean | yes | — |
No examples provided.
picsart_model_params ~205
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 | Type | Req | Description |
|---|---|---|---|
| model | string | yes | Model ID (e.g. "flux-2-pro") |
| Name | Type | Req | Description |
|---|---|---|---|
| model | string | yes | — |
| schema | object | yes | — |
No examples provided.
picsart_music_studio ~198
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, ElevenLabs Music v2), 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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | — |
| total | number | yes | — |
| truncated | boolean | yes | — |
No examples provided.
picsart_preflight ~274
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: "1:1", 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 | Type | Req | Description |
|---|---|---|---|
| model | string | yes | Model ID |
| params | object | yes | Candidate params (include the prompt). Validated locally and priced. |
| Name | Type | Req | Description |
|---|---|---|---|
| credits | number|null | yes | — |
| errors | array | — | — |
| model | string | yes | — |
| valid | boolean | yes | — |
No examples provided.
picsart_remove_bg ~352
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 <picsart_token>.
| Name | Type | Req | Description |
|---|---|---|---|
| image | string | yes | Input image URL |
| model | string | — | Override model ID (e.g. "picsart-sod-v8-2") |
| outputFormat | string | — | Output format (e.g. "png") |
| Name | Type | Req | Description |
|---|---|---|---|
| assets | array | yes | — |
| completed | number | — | — |
| created_at | string | — | — |
| drive | — | — | — |
| finalUrl | string | — | — |
| id | string | — | — |
| iterations | number | — | — |
| model | string | — | — |
| prompt | string | — | — |
| results | — | — | — |
| summary | string | — | — |
| url | string | — | — |
| urls | array | — | — |
| videos | array | — | — |
| why_relevant | string | — | — |
No examples provided.
picsart_vectorize ~309
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 <picsart_token>.
| Name | Type | Req | Description |
|---|---|---|---|
| image | string | yes | Input image URL |
| model | string | — | Override model ID |
| Name | Type | Req | Description |
|---|---|---|---|
| assets | array | yes | — |
| completed | number | — | — |
| created_at | string | — | — |
| drive | — | — | — |
| finalUrl | string | — | — |
| id | string | — | — |
| iterations | number | — | — |
| model | string | — | — |
| prompt | string | — | — |
| results | — | — | — |
| summary | string | — | — |
| url | string | — | — |
| urls | array | — | — |
| videos | array | — | — |
| why_relevant | string | — | — |
No examples provided.