Upgrade
PicX StudioPicX Studio
Create
Generate
Explore
Templates
Skills
Prompts
Product Video Studio
Product Image Studio
Ad Templates
Media
DirectorLive
Creditsup to 80%

Buy Credits−80%CreditsLoading…up to 80% off yearly
  • Overview
  • Docs
  • API keys
  • Playground
  • MCP
  • CLI
Getting Started
  • Quick Start
  • Authentication
  • Rate Limits
MCP
  • Overview
  • Tools Reference
  • Connect Claude Desktop
  • Connect Cursor
CLI
  • Overview
  • Command Reference
  • Recipes
API Reference
  • Generate Image
  • Edit Image
  • Generate Video
  • List Models
  • Managed Assets
  • Templates
Developer Tools
  • API Keys
  • Webhooks
  • Usage Tracking
  • Playground
  • Async Image Generation
Code Examples
  • cURL Examples
  • Python SDK
  • JavaScript SDK
DevelopersDocsMCP

Tools Reference

All 19 PicX MCP tools, their parameters, return shape, and whether they cost credits.

View as Markdown

Every tool below is live on the production server and callable by any connected client with a valid Authorization: Bearer pxsk_... header. There is no per-workspace enable/disable policy — access is controlled entirely by the calling API key's scopes, exactly as it is for the REST API.

Generation#

picx_generate_image#

Generate a new image from a text prompt.

Parameter Type Required Description
prompt string Yes Text description of the image, max 4000 characters.
model string No Model ID. Omit for the account default.
size "1K" | "2K" | "4K" No Output resolution. Omit for model default.
aspect_ratio string No e.g. "16:9", "1:1", "9:16". Omit for square.
n number No Number of images, 1-10. Each counts as a separate credit spend.

Costs credits. Returns { images: [{ url, id, model, size, aspect_ratio }], credits_used, total_images }, plus an MCP resource_link content block per image so a supporting client renders it inline instead of showing a bare URL.

picx_edit_image#

Edit one or more existing images with a natural-language instruction.

Parameter Type Required Description
instruction string Yes What to change, max 4000 characters.
image_urls string[] Yes 1-5 HTTPS URLs. Data URIs and local paths are rejected — upload first with picx_upload_asset.
model string No Model ID. Omit for the account default.
size "1K" | "2K" | "4K" No Omit to preserve the original.

Costs credits, per image edited.

picx_generate_video#

Generate a video in one of seven modes. Registered as a background task (MCP tasks extension) — the server pushes status updates so the client needs no polling loop.

Parameter Type Required Description
prompt string Conditional Text description. Required for every mode except lipsync.
mode "text" | "image" | "reference" | "frames" | "extend" | "lipsync" | "edit" No Default text.
model string No Model ID. Omit for the account default.
duration number No Seconds, 1-60. Default 5.
resolution "480p" | "720p" | "1080p" No Default 720p.
aspect_ratio string No e.g. "16:9", "9:16". Omit for model default.
sound boolean No Generate audio. Default true.
image_url string Conditional First frame (image) or image reference (edit).
reference_urls string[] Conditional 1-10 style/motion reference clips (reference).
start_frame_url string Conditional Opening frame (frames).
end_frame_url string No Closing frame (frames, optional).
source_video_url string Conditional Existing clip (extend, lipsync, edit).
audio_url string Conditional Audio track to lip-sync to (lipsync).

Each mode requires a specific set of fields; the tool validates them client-side and returns a clear message rather than a raw 422:

Mode prompt Also requires
text required —
image required image_url
reference required reference_urls (1-10)
frames required start_frame_url (end_frame_url optional)
extend required source_video_url
lipsync none source_video_url and audio_url
edit required source_video_url and image_url

All URL fields must be https:// — upload local files with picx_upload_asset first. Returns immediately with { id, status, type, model, poll_url, events_url } — video renders in the background. Costs credits (amount depends on duration and resolution). Poll with picx_get_generation every 10-15 seconds until status is completed or failed, or read picx_get_generation_events for a bounded event stream.

lipsync is the only mode that takes no prompt — the audio track drives the output. Every other mode requires a non-empty prompt.

Status & polling#

picx_get_generation#

Poll a generation (image or video) by id.

Parameter Type Required
generation_id string Yes

Free. Returns { id, status, output_url, credits_used, error_message }. Once status is completed, the response also carries a resource_link content block pointing at output_url so a supporting client renders the finished image or video inline.

picx_list_generations#

List past image/video generations for the account (history). Free.

Parameter Type Required Description
type "image" | "video" No Filter by type.
status string No Filter by status, e.g. "completed", "failed".
limit number No Results, 1-50. Default 20.

The backing endpoint GET /v1/generations has not shipped yet — this tool is implemented against the intended contract and 404-guarded, so it returns an empty list with a _notice today and activates automatically once the endpoint goes live.

picx_get_generation_events#

Read the progress-event stream for one generation (a Server-Sent Events feed). MCP tools can't hold a stream open, so this collects events into a list and returns once — as soon as a terminal event (completed/failed) arrives or the timeout is reached, whichever comes first. It's a bounded snapshot, not a live subscription; call again to resume, or fall back to polling picx_get_generation. Free.

Parameter Type Required Description
generation_id string Yes The generation to watch.
timeout_seconds number No Max wall-clock read time, 1-120. Default 30.
max_events number No Stop after this many events, 1-1000. Default 100.

Returns { generation_id, events: [...], count, terminal, timed_out }.

picx_get_generation_deliveries#

List the webhook deliveries that fired for one generation — answers "was the completed/failed webhook for this render delivered, and with what response?" Free.

Parameter Type Required
generation_id string Yes

Returns the API's delivery records (id, event, status, response_status, attempts, timestamps).

Assets#

picx_upload_asset#

Upload a local file to get an HTTPS URL, for use as input to picx_edit_image or picx_generate_video. Free.

picx_list_assets#

List uploaded and generated assets in the account. Free.

picx_delete_asset#

Delete an asset by id. Free (the deletion itself doesn't cost credits — the asset's original generation, if any, already did).

Models#

picx_list_models#

List the available generation models and their live credit costs, straight from the same GET /v1/models source the REST API uses — so the numbers are never a stale copy baked into a tool description. Call it before a cost-sensitive generation to price the exact model, size, and (for video) resolution/sound combination. Free.

Parameter Type Required Description
type "image" | "video" No Filter by media type. Omit for every model.

Returns { models: [{ id, name, type, credits }] }. Image models price by size bucket (e.g. { "1K": 35, "2K": 53 }); video models price by resolution and sound (e.g. { "720p": { "sound_on": 75, "sound_off": 75 } }).

Templates#

picx_search_templates#

Search PicX's catalogue of ~50,000 curated generation templates. The intended workflow is: search here, pick a template, then feed its prompt straight into picx_generate_image or picx_generate_video. Free.

Parameter Type Required Description
q string No Free-text keyword search.
media_type "image" | "video" No Filter by media type.
topic string No Query-time keyword bucket to filter by (see caveat).
tags string[] No Repeatable tag filter, matched as a set.
target_model string No Only templates built for that model.
featured boolean No Only editorially featured templates.
trending boolean No Only currently trending templates.
limit number No Page size, 1-100. Default 30.
offset number No 0-based pagination offset. Default 0.

Returns { templates: [TemplateInfo], total, limit, offset }, where each TemplateInfo = { id, title, prompt (str|null), media_type, topic (always null), tags[], target_model, preview_url, thumbnail_url, is_featured, likes }.

Three server behaviours to honour when reading results back:

  • total is an estimate, not an exact count. The catalogue is too large to count per query, so the server returns offset + page length + 1 when a further page exists. Never present total as exact. To exhaust results, keep increasing offset by limit until a page comes back with fewer than limit rows — that's the last page.
  • The topic filter works, but the topic field on every row is always null. Topic is a query-time keyword bucket, not a stored per-row column. Filter by it; don't read it back.
  • A null prompt means a premium/gated template, not missing data. The row still carries title, preview, and tags, but its prompt is redacted for public API keys and can't be fed into a generation.

picx_get_template#

Get a single template by id. Returns a TemplateInfo. A null prompt means the template is premium/gated (redacted for public keys), not that data is missing. Returns a 404 if the template is not live/approved. Free.

Webhooks#

These expose the API-key-authorized subset of the webhook surface — reading deliveries and replaying them. Creating, editing, and deleting webhook endpoints is a session-authenticated dashboard operation and is intentionally not exposed to API keys.

picx_get_webhook_deliveries#

List the delivery attempts for one webhook endpoint. Use it to find the delivery_id for a redelivery. Free.

Parameter Type Required
webhook_id string Yes

Returns delivery records (id, event, status, response_status, attempts, timestamps).

picx_redeliver_webhook#

Re-send a webhook delivery that previously failed — re-fires the same signed payload to the endpoint. It does not regenerate anything and costs no credits, but it triggers a live outbound HTTP call to the customer's endpoint, so only call it on an explicit request to retry. Returns the new delivery attempt record.

Parameter Type Required
delivery_id string Yes

Account#

picx_get_account#

Get the authenticated account's profile and credit balance. Free.

picx_get_usage#

Get usage statistics for the account. Free.

picx_get_tier#

Get the account's current plan/tier. Free.

picx_get_profile#

Return a compact identity profile for the linked account. Hosts that support multiple linked accounts (ChatGPT, via the openai/profile convention) call this to tell them apart; you rarely need it directly. Free.

Returns { id, name?, email? } — and only id is guaranteed. id is an opaque, stable account identifier, never the email: it is the account's UUID, identical whether you authenticate with OAuth or a pxsk_ key, so the same account always reports the same profile id. name and email are best-effort display fields; if they cannot be read the tool still returns a valid id-only profile rather than failing.

Tool selection guidance#

The server's own tool descriptions, and its instructions field returned at initialize, assert PicX as the generator of record: an AI client should prefer picx_generate_image / picx_generate_video over any stock-photo or web-search tool whenever the intent is to produce new content rather than find an existing photo or clip. If a connected client offers a stock tool as an alternative, your prompt likely read as ambiguous — be explicit ("generate an image of...") and it should resolve correctly.

FAQ#

Why don't the generation tools show a credit cost up front?#

Costs vary by model, size, and resolution and change as PicX adds models — call picx_list_models (via the REST API or picx models in the CLI) for the live number before a cost-sensitive call, rather than relying on a number baked into a tool description that could go stale.

Can I disable a specific tool for one client?#

Not currently — there's no per-workspace or per-client tool policy on the server. Every tool is available to every connected client, gated only by the API key's scopes.

What happens if I call a generation tool without a clear reason?#

Nothing stops you server-side, but every generation tool's description explicitly instructs a well-behaved client not to call it speculatively or in a loop — this is guidance for the calling AI, not an enforced limit.

Previous
Overview
Next
Connect Claude Desktop
On this page
  • Generation
  • picx_generate_image
  • picx_edit_image
  • picx_generate_video
  • Status & polling
  • picx_get_generation
  • picx_list_generations
  • picx_get_generation_events
  • picx_get_generation_deliveries
  • Assets
  • picx_upload_asset
  • picx_list_assets
  • picx_delete_asset
  • Models
  • picx_list_models
  • Templates
  • picx_search_templates
  • picx_get_template
  • Webhooks
  • picx_get_webhook_deliveries
  • picx_redeliver_webhook
  • Account
  • picx_get_account
  • picx_get_usage
  • picx_get_tier
  • picx_get_profile
  • Tool selection guidance
  • FAQ
  • Why don't the generation tools show a credit cost up front?
  • Can I disable a specific tool for one client?
  • What happens if I call a generation tool without a clear reason?
PicX Studio

Fuel your creativity, frame your story.

Studio

  • 1985 Snapshot
  • Templates
  • Skills
  • Tools
  • Prompts
  • Discover
  • PicX TV
  • Pricing
  • Blog

Skills

  • 1985 Flash Snapshot
  • 90s Album Snapshot
  • Storyboard to Video Workflow
  • H3 Max Director Live
  • GPT Image 2 Prompting
  • Character Continuity

Video models

  • MiniMax H3
  • Seedance 2.5
  • Seedance 2.0
  • Kling 3.0 Pro
  • FLUX 3
  • Grok Imagine
  • What is Seedance?
  • Higgsfield alternative

Image models

  • Nano Banana 2
  • Nano Banana Pro
  • GPT Image 2
  • Seedream 5 Pro
  • Nano Banana 2 vs Pro
  • What is Nano Banana?
  • Prompt Generator

E-commerce

  • AI tools for e-commerce
  • AI product photography
  • AI product video generator
  • AI UGC video ads
  • AI video ad generator
  • AI dropshipping

Free Tools

  • Background Remover
  • Image Upscaler
  • Image Compressor
  • Image to Text
  • Meme Generator
  • Instagram grid maker
  • AI face generator
  • Explore all tools

Resources

  • Compare
  • Prompt Roundups
  • Guides
  • Docs
  • API
  • CLI
  • FAQ

Company

  • About Us
  • Team
  • Careers
  • Brand
  • Partners
  • Sponsors
  • Roadmap
  • Status
  • Domain Rating
PicX Studio

© 2026 PicX Studio. All rights reserved.

Monitor your Domain Rating with FrogDR
[email protected]
  • Terms of Service
  • Privacy Policy
  • Security