{"protocolVersion":"1.0","name":"Pictomancer.ai","description":"Agent-to-agent image processing service. Resize, convert, compress, and pipeline images via REST, MCP, or A2A.","version":"0.1.0","url":"https://api.pictomancer.ai/a2a","preferredTransport":"JSONRPC","interfaces":[{"url":"https://api.pictomancer.ai/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"},{"url":"https://api.pictomancer.ai","protocolBinding":"HTTP+JSON","protocolVersion":"1.0"},{"url":"https://api.pictomancer.ai/mcp","protocolBinding":"MCP","protocolVersion":"1.0"}],"supportedInterfaces":[{"url":"https://api.pictomancer.ai/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"},{"url":"https://api.pictomancer.ai","protocolBinding":"HTTP+JSON","protocolVersion":"1.0"},{"url":"https://api.pictomancer.ai/mcp","protocolBinding":"MCP","protocolVersion":"1.0"}],"provider":{"organization":"Pictomancer.ai","url":"https://pictomancer.ai"},"securitySchemes":{},"security":[],"capabilities":{"streaming":false,"pushNotifications":false,"extendedAgentCard":true,"extensions":[{"uri":"https://x402.org","description":"Pay-per-request in USDC on Base L2. First 50 requests free per agent.","required":false,"params":{"chain":"base","token":"USDC","freeTier":50}}]},"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 in bytes). Accepts a public URL or base64-encoded image.","tags":["image","metadata","analyze","size"],"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. Supports uniform scaling (scale) or independent axes (scale_x, scale_y). Output formats: jpeg, png, webp, tiff, gif.","tags":["image","resize","scale","dimensions"],"examples":["Resize this image to half size: https://example.com/photo.jpg","Scale this image by 0.25 in both axes"],"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.","tags":["image","compress","optimize","quality","file-size"],"examples":["Compress this JPEG to q=60: https://example.com/photo.jpg","Optimize this image for web, strip metadata"],"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. Options: q (quality), strip metadata, lossless (webp only).","tags":["image","convert","format","webp","png","jpeg"],"examples":["Convert this PNG to WebP: https://example.com/image.png","Convert to JPEG with q=85, strip EXIF"],"inputModes":["application/json"],"outputModes":["image/jpeg","image/png","image/webp","image/tiff","image/gif"]},{"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"]}],"pricing":{"model":"pay-per-request","currency":"USDC","network":"base","free_tier":"50 requests per agent","base_prices":{"analyze":"$0.0","resize":"$0.001","compress":"$0.001","convert":"$0.002","crop":"$0.001"},"size_multipliers":{"under_1MB":"1.0x","1MB_5MB":"1.5x","5MB_10MB":"2.0x","10MB_50MB":"3.0x"},"payment_protocol":"x402"}}