picsart_change_bg
ChatGPTReplaces 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 <picsart_token>.
picsart_credits
ChatGPTReturns 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_pricing); 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).
picsart_drive_folders
ChatGPTLists every folder in the authenticated user's Picsart Drive. Use this to discover folder names before calling picsart_drive_list with a folder filter, or to answer "what folders do I have in Drive?". Do NOT use it to list files (use picsart_drive_list), generate content, or save URLs (use picsart_upload). Takes no input. Returns { folders: [{ uid, name }] } — every folder the user has, regardless of depth. Requires Authorization: Bearer <picsart_token> (per-user Drive content).
picsart_drive_list
ChatGPTLists files stored in the authenticated user's Picsart Drive, flattened across all folders, sorted by creation date (newest first). Use this to discover assets the user already generated or uploaded — answers "what images do I have in Drive?", "show my recent videos", or to find a previously-generated asset for re-use. When the user names a media kind ("just my videos", "my audio files", "the images"), ALWAYS pass type so the filter happens server-side; do not fetch everything and filter in chat. Do NOT use it to list folder names (use picsart_drive_folders), generate content, or upload new files (use picsart_upload). Folder filtering is NOT supported on this endpoint — if the user wants files from a specific folder, list picsart_drive_folders first and tell the user which folders exist; per-folder listing is not yet available. Inputs (all optional): type (one of "image", "video", "audio"; filters server-side via contentResourceTypes), detailed (default false — when true, each item also includes the originating model, prompt, service, subType, duration, resolution, aspectRatio, quality, referenceImageUrls, referenceVideoUrl, referenceAudioUrl). Example: { type: "image", detailed: true }. Returns { items: [...], total } capped at 128 most-recent items. Each item carries { uid, url, name, type, previewUrl?, timestamp } in non-detailed mode; verbose generation metadata is added in detailed mode. Requires Authorization: Bearer <picsart_token> (per-user Drive content).
picsart_enhance
ChatGPTUpscales 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>.
picsart_generate
ChatGPTRuns any Picsart AI model end-to-end to produce an image, video, or audio result. Spends credits. Recommended flow: picsart_list_models or picsart_model_info to pick the model → picsart_model_params to learn its inputs → picsart_validate_params to pre-check the payload → picsart_pricing to 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 <picsart_token>.
picsart_list_models
ChatGPTLists Picsart AI models across ALL modes (image / video / audio). Each item carries id, name, mode, inputType (and provider, badges, description when verbose is true). Use this when the user has 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), estimate per-call cost (use picsart_pricing), or look up details on one already-known model (use picsart_model_info). 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.
picsart_model_info
ChatGPTReturns full metadata for a single Picsart AI model: name, provider, generation mode, input type, feature flags, and inter-parameter constraints (e.g. "duration 15s requires resolution 1080p"). Use this once you already know the model id (or strong candidate) and need its capabilities and constraints before calling picsart_generate. Do NOT use it to browse the full model catalog (use picsart_list_models), fetch the JSON schema of accepted params (use picsart_model_params), or estimate per-call cost (use picsart_pricing). Required input: model (id or display name, e.g. "flux-2-pro", "kling-v3-pro"). Example: { model: "flux-2-pro" }. Returns { id, name, provider, mode, inputType, badges, description, features, constraints }. 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). Read-only; spends no credits and works without authentication.
picsart_model_params
ChatGPTReturns 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_validate_params with a candidate object. Do NOT use it to discover which models exist (use picsart_list_models), fetch model-level metadata like features and inter-parameter constraints (use picsart_model_info), or estimate cost (use picsart_pricing). 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.
picsart_pricing
ChatGPTReturns the exact credit cost a picsart_generate call would incur with the given model and params. Dry-run quote — no model is invoked and the user is not charged. Use this before picsart_generate whenever the user asks about cost, or to compare prices across candidate models / param combinations before committing. Do NOT use it to discover available models (use picsart_list_models), validate parameter values (use picsart_validate_params), or actually generate (use picsart_generate). Required inputs: model id and prompt. Optional params for everything else (duration, resolution, aspectRatio, count, …). Example: { model: "flux-2-pro", prompt: "a cat in a hat", params: { aspectRatio: "16:9", count: 4 } }. Returns { model, credits } where credits is a number, or null if pricing is unavailable for the model. Requires Authorization: Bearer <picsart_token> (credit lookup is per-user).
picsart_remove_bg
ChatGPTRemoves 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>.
picsart_upload
ChatGPTSaves a publicly-accessible file URL into the user's Picsart Drive, optionally under a named folder. Use this to persist an external asset into Drive — for example, before passing a remote image to an edit tool that prefers a Drive-hosted source, or to archive a generated asset for later reference. Do NOT use this for local file uploads — only publicly-fetchable URLs work over remote MCP. Also do NOT use it to generate or transform content (use picsart_generate or one of the edit tools). Required inputs: url — must be publicly fetchable — and name — the filename to store under (e.g. "photo.jpg", "demo.mp4"). Optional: type (one of "image", "video", "audio"; default "image"; drives Drive's content classification) and folder (folder name; created if missing; defaults to "AI Playground"). Example: { url: "https://example.com/cat.png", name: "cat.png", type: "image", folder: "Pets" }. Returns { uid, folder: { uid, name } } — uid is the new Drive file id, folder is the folder it was saved into. Writes to the user's Picsart Drive. Requires Authorization: Bearer <picsart_token>.
picsart_validate_params
ChatGPTValidates a candidate params object against a Picsart model's parameter schema and inter-parameter constraints. Free pre-flight check — does NOT spend credits and does NOT run the model. Use this before picsart_generate whenever you assembled params from a non-trivial chain (e.g. user input, derived defaults, model swaps) and want to surface bad arguments to the user before incurring cost. Do NOT use it to look up which params a model accepts (use picsart_model_params), estimate cost (use picsart_pricing), or actually generate (use picsart_generate). Required inputs: model id, params object. Example: { model: "flux-2-pro", params: { prompt: "a cat in a hat", aspectRatio: "16:9", count: 1 } }. Returns { model, valid: boolean, errors?: string[] } — errors is present only when valid is false. Read-only; spends no credits and works without authentication.
picsart_vectorize
ChatGPTConverts 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>.