putty
MCPMediaMedia

media_status

Check on one asset you own: what state it is in, what it cost, and — once it is `completed` — a short-lived signed URL to the file in Putty's own storage. Poll this after `media_generate_image`, `media_edit_image`, `media_generate_video`, or `media_compose_graphic`. The URL is always one Putty signed: generated files are copied into our bucket before the asset completes, and a third-party provider URL is never returned to a user. Omit `url` and read `status` as `queued` or `in_progress` and wait a few seconds; on `failed` or `rejected`, `failureReason` says why and the job is terminal. An asset id belonging to another user is reported as a plain not-found.

Check on one asset you own: what state it is in, what it cost, and — once it is completed — a short-lived signed URL to the file in Putty's own storage.

Input

The tool takes a single JSON object. Every field, its type, and an example are on the generated reference at GET /mcp/tools, under this tool's name.

Calling it

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": { "name": "media_status", "arguments": {} }
}

Put your arguments in place of the empty object. A call that fails comes back as a normal result carrying isError: true and a message naming what went wrong, not as a JSON-RPC protocol error.

Notes

Poll this after media_generate_image, media_edit_image, media_generate_video, or media_compose_graphic. The URL is always one Putty signed: generated files are copied into our bucket before the asset completes, and a third-party provider URL is never returned to a user. Omit url and read status as queued or in_progress and wait a few seconds; on failed or rejected, failureReason says why and the job is terminal. An asset id belonging to another user is reported as a plain not-found.

The full request and response shape, and a live playground, live on the generated reference at GET /mcp/tools.

media_brand_pack

Build a whole marketing pack from a brand kit as one tracked job: a favicon set, an Open Graph card (1200×630), an X header (1500×500), a profile picture, a 512×512 token logo, and three launch-post images. Every output that has WORDS on it is composed from the kit's real HTML layout in a sandbox, and every text-free one is generated. Returns one entry per output with its asset id; composed cards come back `completed` with a signed URL, generated images come back `queued` and are polled with `media_status`. Pass `include` to take a subset, and `projectId` to attach the assets to a project. The promo `video` is deliberately excluded unless you ask for it by name, and asking for it returns `needs_confirmation` with the cost and submits nothing — call again without `video` to build the rest. Refuses a kit that impersonates a real brand. No third-party URL is ever returned: everything lands in Putty's own storage.

media_asset_list

List the assets you own, newest first, optionally filtered to one project or one stored file kind. Returns each asset's id, kind, status, credit cost, and — for completed assets — a short-lived signed URL into Putty's own storage. Use it to find an asset id for `media_edit_image`, `media_generate_video`, or `media_vectorize_logo`, to see what a marketing pack produced, or to check how much a project has spent on media. Only the caller's own assets are ever returned; a project id belonging to another user yields an empty list, and an asset id belonging to another user is a plain not-found in the tools that take one.

On this page