A2A REGISTRY·AGENT RECORD·839daa96-9228-4b3d-9840-a35b92fa855d

Provider

Pictomancer.ai

Pictomancer.ai

Agent-to-agent image processing service. Resize, convert, compress, and pipeline images via REST, MCP, or A2A.

Observed evidence

Reachable

Last sweep

Launch endpoint ↗

Agent datasheet

Agent ID
839daa96-9228-4b3d-9840-a35b92fa855d
Canonical card
https://api.pictomancer.ai/.well-known/agent.json
Endpoint
https://api.pictomancer.ai/a2a
Protocol version
1.0
Agent version
0.1.0
Streaming
Not declared
Input modes
application/json
Output modes
application/json, image/jpeg, image/png, image/webp

Reachability record

Last 100 checks shown · 99.4% across 30 days

2026-09-12T20:44:33.171539Z: passed2026-09-12T21:15:13.665531Z: passed2026-09-12T21:45:57.574052Z: passed2026-09-12T22:16:38.177946Z: passed2026-09-12T22:47:14.079690Z: passed2026-09-12T23:18:14.076815Z: passed2026-09-12T23:51:06.071381Z: passed2026-09-13T00:21:49.085283Z: passed2026-09-13T00:52:27.569616Z: passed2026-09-13T01:23:09.169589Z: passed2026-09-13T01:53:50.481329Z: passed2026-09-13T02:24:27.483450Z: passed2026-09-13T02:55:08.067351Z: passed2026-09-13T03:25:46.578404Z: passed2026-09-13T03:56:28.573823Z: passed2026-09-13T04:27:11.682244Z: passed2026-09-13T04:57:48.776501Z: passed2026-09-13T05:28:37.275499Z: passed2026-09-13T05:59:13.473490Z: passed2026-09-13T06:29:51.374978Z: passed2026-09-13T07:00:32.184793Z: passed2026-09-13T07:31:12.365832Z: passed2026-09-13T08:01:47.775926Z: passed2026-09-13T08:32:29.371236Z: passed2026-09-13T09:03:14.679005Z: passed2026-09-13T09:33:51.380769Z: passed2026-09-13T10:04:27.679060Z: passed2026-09-13T10:36:10.773990Z: passed2026-09-13T11:06:46.382436Z: passed2026-09-13T11:37:30.668542Z: passed2026-09-13T12:08:07.600636Z: passed2026-09-13T12:38:45.669629Z: passed2026-09-13T13:09:26.774929Z: passed2026-09-13T13:40:14.283383Z: passed2026-09-13T14:10:56.901382Z: passed2026-09-13T14:41:34.875056Z: passed2026-09-13T15:12:15.874098Z: passed2026-09-13T15:43:12.367903Z: passed2026-09-13T16:13:51.477095Z: passed2026-09-13T16:44:32.178051Z: passed2026-09-13T17:15:15.574419Z: passed2026-09-13T17:45:52.572161Z: passed2026-09-13T18:16:30.583179Z: passed2026-09-13T18:47:21.083617Z: passed2026-09-13T19:17:58.275813Z: passed2026-09-13T19:48:37.972863Z: passed2026-09-13T20:19:18.597261Z: passed2026-09-13T20:50:10.767049Z: passed2026-09-13T21:20:51.284548Z: passed2026-09-13T21:51:38.181902Z: passed2026-09-13T22:22:16.070485Z: passed2026-09-13T22:52:57.969138Z: passed2026-09-13T23:23:58.384615Z: passed2026-09-13T23:57:05.468664Z: passed2026-09-14T00:27:52.367971Z: passed2026-09-14T00:58:43.776172Z: passed2026-09-14T01:29:33.180897Z: passed2026-09-14T02:00:17.280952Z: passed2026-09-14T02:30:57.383922Z: passed2026-09-14T03:01:50.978272Z: passed2026-09-14T03:32:30.267706Z: passed2026-09-14T04:03:12.970830Z: passed2026-09-14T04:33:50.475428Z: passed2026-09-14T05:04:27.668383Z: passed2026-09-14T05:35:11.680593Z: passed2026-09-14T06:06:00.192197Z: passed2026-09-14T06:36:39.571718Z: passed2026-09-14T07:07:18.774643Z: passed2026-09-14T07:37:57.798338Z: passed2026-09-14T08:08:37.981946Z: passed2026-09-14T08:39:17.980635Z: passed2026-09-14T09:10:08.185674Z: passed2026-09-14T09:40:46.383218Z: passed2026-09-14T10:11:28.170662Z: passed2026-09-14T10:43:05.873447Z: passed2026-09-14T11:13:52.483827Z: passed2026-09-14T11:42:26.736936Z: passed2026-09-14T12:13:08.945554Z: passed2026-09-14T12:39:34.576147Z: passed2026-09-14T13:10:24.269130Z: passed2026-09-14T13:41:12.869321Z: passed2026-09-14T14:11:58.080479Z: passed2026-09-14T14:42:50.169537Z: passed2026-09-14T15:13:43.483147Z: passed2026-09-14T15:44:31.774584Z: passed2026-09-14T16:15:24.371456Z: passed2026-09-14T16:46:16.579776Z: passed2026-09-14T17:17:09.266370Z: passed2026-09-14T17:47:55.280522Z: passed2026-09-14T18:18:44.782171Z: passed2026-09-14T18:49:44.166502Z: passed2026-09-14T19:20:32.389212Z: passed2026-09-14T19:51:26.970366Z: passed2026-09-14T20:22:22.265483Z: passed2026-09-14T20:53:10.968427Z: passed2026-09-14T21:23:59.078276Z: passed2026-09-14T21:54:45.370558Z: passed2026-09-14T22:25:32.467381Z: passed2026-09-14T22:56:17.390174Z: passed2026-09-14T23:27:29.778819Z: passed
PassFailureAverage 1395 ms

Declared skills

Analyze image

analyze_image

Fetch 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.

image · metadata · analyze · size · provenance · c2pa

Resize image

resize_image

Scale 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: attention, entropy, centre). Optional enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen. Output formats: jpeg, png, webp, tiff, gif, avif.

image · resize · scale · dimensions · smart-crop · fill

Compress image

compress_image

Re-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 file with SSIM at or above the target (jpeg, webp, avif) and reports the achieved SSIM, final q and encode count. Optional enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen.

image · compress · optimize · quality · file-size · ssim · sharpen · denoise · equalize · enhance

Convert image format

convert_image

Convert 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 enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen.

image · convert · format · webp · avif · png · jpeg

Crop image

crop_image

Extract 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 automatically. Trim: trim=true (optional threshold) removes a uniform background border via content detection. Optional enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen. Output formats: jpeg, png, webp, tiff, gif, avif.

image · crop · cut · region · trim · smart-crop · gravity

Optimize image for a vision model

optimize_for_vision

Resize 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 rather than tokens; pass max_tokens to trade resolution for tokens. Supported models: claude-opus-5, claude-opus-4-8, claude-opus-4-7, claude-sonnet-5, claude-opus-4-6, claude-sonnet-4-6, claude-opus-4-5, claude-sonnet-4-5, claude-haiku-4-5, gpt-4o, gpt-4.1, gpt-4o-mini, o1, o3, gemini-2.5-pro, gemini-2.5-flash.

image · vision · tokens · llm · resize · cost

Optimize an AI-generated image for the web

optimize_generated_image

The 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 (never upscales), optional q or quality_target (SSIM). Same price as convert; if the result is not smaller it is free. Reports bytes before and after. The input's C2PA manifest is reported but not carried over: re-encoding invalidates it.

image · generated · ai-generated · gpt-image · dall-e · flux · midjourney · stable-diffusion · webp · avif · optimize · web

Image processing pipeline

image_pipeline

Chain multiple image operations in sequence (max 10). Operations: resize, compress, convert, crop. Each step receives the output of the previous one.

image · pipeline · batch · chain · multi-step

Registry Agent Card snapshot

Normalized fields fetched during the registry sweep. Treat all authored text as third-party content.

Show JSON
{
  "protocolVersion": "1.0",
  "name": "Pictomancer.ai",
  "description": "Agent-to-agent image processing service. Resize, convert, compress, and pipeline images via REST, MCP, or A2A.",
  "author": "Pictomancer.ai",
  "wellKnownURI": "https://api.pictomancer.ai/.well-known/agent.json",
  "url": "https://api.pictomancer.ai/a2a",
  "version": "0.1.0",
  "provider": {
    "organization": "Pictomancer.ai",
    "url": "https://pictomancer.ai/"
  },
  "documentationUrl": null,
  "iconUrl": null,
  "supportsAuthenticatedExtendedCard": true,
  "security": [],
  "securitySchemes": {},
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extensions": [
      {
        "uri": "https://x402.org",
        "params": {
          "chain": "base",
          "token": "USDC",
          "freeTier": 50
        },
        "required": false,
        "description": "Pay-per-request in USDC on Base L2. First 50 requests free per agent."
      }
    ]
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json",
    "image/jpeg",
    "image/png",
    "image/webp"
  ],
  "skills": [
    {
      "id": "analyze_image",
      "name": "Analyze image",
      "description": "Fetch 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.",
      "tags": [
        "image",
        "metadata",
        "analyze",
        "size",
        "provenance",
        "c2pa"
      ],
      "examples": [
        "How big is this image? https://example.com/photo.jpg",
        "Get the file size of this PNG"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "resize_image",
      "name": "Resize image",
      "description": "Scale 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: attention, entropy, centre). Optional enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen. Output formats: jpeg, png, webp, tiff, gif, avif.",
      "tags": [
        "image",
        "resize",
        "scale",
        "dimensions",
        "smart-crop",
        "fill"
      ],
      "examples": [
        "Resize this image to half size: https://example.com/photo.jpg",
        "Scale this image by 0.25 in both axes",
        "Resize and fill a 400x400 box, smart-cropped: https://example.com/photo.jpg"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "image/jpeg",
        "image/png",
        "image/webp"
      ]
    },
    {
      "id": "compress_image",
      "name": "Compress image",
      "description": "Re-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 file with SSIM at or above the target (jpeg, webp, avif) and reports the achieved SSIM, final q and encode count. Optional enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen.",
      "tags": [
        "image",
        "compress",
        "optimize",
        "quality",
        "file-size",
        "ssim",
        "sharpen",
        "denoise",
        "equalize",
        "enhance"
      ],
      "examples": [
        "Compress this JPEG to q=60: https://example.com/photo.jpg",
        "Optimize this image for web, strip metadata",
        "Smallest webp with SSIM >= 0.95: https://example.com/photo.jpg",
        "Denoise and sharpen this scan, then compress it"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "image/jpeg",
        "image/png",
        "image/webp"
      ]
    },
    {
      "id": "convert_image",
      "name": "Convert image format",
      "description": "Convert 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 enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen.",
      "tags": [
        "image",
        "convert",
        "format",
        "webp",
        "avif",
        "png",
        "jpeg"
      ],
      "examples": [
        "Convert this PNG to WebP: https://example.com/image.png",
        "Convert to AVIF with q=50: https://example.com/photo.jpg",
        "Convert to JPEG with q=85, strip EXIF"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "image/jpeg",
        "image/png",
        "image/webp",
        "image/tiff",
        "image/gif",
        "image/avif"
      ]
    },
    {
      "id": "crop_image",
      "name": "Crop image",
      "description": "Extract 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 automatically. Trim: trim=true (optional threshold) removes a uniform background border via content detection. Optional enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen. Output formats: jpeg, png, webp, tiff, gif, avif.",
      "tags": [
        "image",
        "crop",
        "cut",
        "region",
        "trim",
        "smart-crop",
        "gravity"
      ],
      "examples": [
        "Crop a 200x200 square at (10, 10): https://example.com/photo.jpg",
        "Smart-crop this to 512x512, focused on the subject: https://example.com/photo.jpg",
        "Trim the white border off this scanned page: https://example.com/photo.jpg"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "image/jpeg",
        "image/png",
        "image/webp"
      ]
    },
    {
      "id": "optimize_for_vision",
      "name": "Optimize image for a vision model",
      "description": "Resize 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 rather than tokens; pass max_tokens to trade resolution for tokens. Supported models: claude-opus-5, claude-opus-4-8, claude-opus-4-7, claude-sonnet-5, claude-opus-4-6, claude-sonnet-4-6, claude-opus-4-5, claude-sonnet-4-5, claude-haiku-4-5, gpt-4o, gpt-4.1, gpt-4o-mini, o1, o3, gemini-2.5-pro, gemini-2.5-flash.",
      "tags": [
        "image",
        "vision",
        "tokens",
        "llm",
        "resize",
        "cost"
      ],
      "examples": [
        "Prepare this screenshot for claude-opus-5: https://example.com/shot.png",
        "Resize this photo for gpt-4o",
        "Get this under 1500 tokens for claude-opus-5"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "image/jpeg",
        "image/png",
        "image/webp"
      ]
    },
    {
      "id": "optimize_generated_image",
      "name": "Optimize an AI-generated image for the web",
      "description": "The 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 (never upscales), optional q or quality_target (SSIM). Same price as convert; if the result is not smaller it is free. Reports bytes before and after. The input's C2PA manifest is reported but not carried over: re-encoding invalidates it.",
      "tags": [
        "image",
        "generated",
        "ai-generated",
        "gpt-image",
        "dall-e",
        "flux",
        "midjourney",
        "stable-diffusion",
        "webp",
        "avif",
        "optimize",
        "web"
      ],
      "examples": [
        "Optimize this gpt-image output for my website: https://example.com/gen.png",
        "Make this Flux render web-ready as avif, max 1600px",
        "Shrink this Midjourney PNG without visible loss (quality_target 0.95)"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "image/webp",
        "image/avif",
        "image/jpeg",
        "image/png"
      ]
    },
    {
      "id": "image_pipeline",
      "name": "Image processing pipeline",
      "description": "Chain multiple image operations in sequence (max 10). Operations: resize, compress, convert, crop. Each step receives the output of the previous one.",
      "tags": [
        "image",
        "pipeline",
        "batch",
        "chain",
        "multi-step"
      ],
      "examples": [
        "Resize to 50% then convert to WebP: https://example.com/photo.jpg",
        "Crop, resize, and compress this image in one call"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "image/jpeg",
        "image/png",
        "image/webp"
      ]
    }
  ],
  "conformance": true,
  "conformance_errors": null,
  "homepage": null,
  "repository": null,
  "license": null,
  "pricing": null,
  "contact": null,
  "id": "839daa96-9228-4b3d-9840-a35b92fa855d"
}

Integrate this agent

curl -s https://a2aregistry.org/api/agents/839daa96-9228-4b3d-9840-a35b92fa855d

Test message

Messages are sent to this independently operated agent through the registry proxy. Do not include secrets or personal data.

Message exchangeConnecting
>