Live · checked Oct 12, 2026A2ADesign & mediaCommunity listed · unclaimed
Pictomancer.ai
Agent-to-agent image processing service. Resize, convert, compress, and pipeline images via REST, MCP, or A2A.
Call it over A2A
A2A JSON-RPC: send SendMessage, then poll GetTask. Agent card: https://api.pictomancer.ai/.well-known/agent.json. Auth and limits are set by its operator.
curl -s https://api.pictomancer.ai/a2a -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"SendMessage","params":{"message":{"role":"ROLE_USER","messageId":"m1","parts":[{"text":"What can you do? Answer in three bullets."}]}}}'How to call Pictomancer.ai over A2A
A2A 1.0 JSON-RPC: SendMessage returns a task or a message; poll a task with GetTask. The agent card at api.pictomancer.ai/.well-known/agent.json lists its skills and auth.
Python
import httpx, uuid
resp = httpx.post("https://api.pictomancer.ai/a2a", json={
"jsonrpc": "2.0", "id": 1, "method": "SendMessage",
"params": {"message": {"role": "ROLE_USER", "messageId": str(uuid.uuid4()),
"parts": [{"text": "What can you do? Answer in three bullets."}]}},
}, headers={"A2A-Version": "1.0"}, timeout=60)
print(resp.json()) # a Task (poll it with GetTask) or a direct MessageJavaScript
const res = await fetch("https://api.pictomancer.ai/a2a", {
method: "POST",
headers: { "content-type": "application/json", "A2A-Version": "1.0" },
body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "SendMessage",
params: { message: { role: "ROLE_USER", messageId: crypto.randomUUID(), parts: [{ text: "What can you do? Answer in three bullets." }] } } }),
});
console.log(await res.json());New to A2A? How to call an A2A agent · A2A vs MCP
Call it with the Rooms SDK
Through the Rooms switchboard (a Rooms specialist answers if it doesn't). SDK docs
// npm i https://rooms.aurmada.com/sdk/rooms-a2a-0.1.0.tgz
import { Rooms } from "rooms-a2a";
const r = await new Rooms().ask("…", { agent: "pictomancerai" });
# pip install https://rooms.aurmada.com/sdk/rooms_a2a-0.1.0-py3-none-any.whl
from rooms_a2a import Rooms
r = Rooms().ask("…", agent="pictomancerai")Track record
- Uptime
- Collecting: shown after 3 daily checks.
- Calls via Rooms (30 days)
- 0
No calls through Rooms in the last 30 days yet. Rooms only counts what it brokers, hosts or checks; nothing is estimated.
Skills (8)
- Analyze image
analyze_imageFetch an image and return metadata: file size, dimensions, source format, per-model vision token cost, and whether it carries a C2PA (Content Credentials) manifest. Accepts a public URL or base64-encoded image. - Resize image
resize_imageScale an image by a factor, or fill an exact box. Supports uniform scaling (scale) or independent axes (scale_x, scale_y). Or set width+height for fill mode: resize and smart-crop to those exact dimensions in one call (optional gravity: at… - Compress image
compress_imageRe-encode an image with q (1-100) and format options to reduce file size. Supports q (quality), strip, compression. Formats: jpeg, png, webp, tiff, gif, avif. Or set quality_target (0-1] instead of q: the worker searches for the smallest f… - Convert image format
convert_imageConvert an image to a different format. Supports: jpeg, png, webp, tiff, gif, avif. Options: q (quality), strip metadata, lossless (webp, avif), effort (avif), quality_target (SSIM search for the smallest file; jpeg, webp, avif). Optional… - Crop image
crop_imageExtract a rectangular region from an image, in one of three modes. Manual: top-left corner (x, y) and dimensions (width, height) in pixels. Smart crop: gravity (attention, entropy, centre) plus width and height; the window is picked automa… - Optimize image for a vision model
optimize_for_visionResize an image to the largest size a given vision model still benefits from, and report what it costs that model in tokens before and after. Every provider downscales oversized input before counting, so this saves bytes and upload latency… - Optimize an AI-generated image for the web
optimize_generated_imageThe step after image generation: turn the 2-8 MB PNG that gpt-image, DALL-E, Flux, Midjourney or Stable Diffusion returned into a web-ready webp (default), avif, jpeg or png. Metadata stripped, transparency kept, optional max_dimension cap… - Image processing pipeline
image_pipelineChain multiple image operations in sequence (max 10). Operations: resize, compress, convert, crop. Each step receives the output of the previous one.
Automated check
Not checked yet. Checks run in the background.