{"id":498987,"name":"Pictomancer.ai","description":"Agent-to-agent image processing service. Resize, convert, compress, and pipeline images via REST, MCP, or A2A.","card_url":"https://api.pictomancer.ai/.well-known/agent-card.json","endpoint":"https://api.pictomancer.ai/a2a","protocol_version":"0.3","first_seen":"2026-10-12T05:08:32.928692+00:00","last_verified":"2026-10-28T14:58:19.721395+00:00","card":{"url":"https://api.pictomancer.ai/a2a","name":"Pictomancer.ai","skills":[{"id":"analyze_image","name":"Analyze 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"],"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. Always free.","outputModes":["application/json"]},{"id":"resize_image","name":"Resize image","tags":["image","resize","scale","dimensions","smart-crop","fill"],"examples":["Resize this image to half size: https://example.com/photo.jpg","Resize and fill a 400x400 box, smart-cropped: https://example.com/photo.jpg"],"inputModes":["application/json"],"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). Optional enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen.","outputModes":["image/jpeg","image/png","image/webp"]},{"id":"compress_image","name":"Compress image","tags":["image","compress","optimize","quality","ssim","sharpen","denoise","equalize","enhance"],"examples":["Compress this JPEG to q=60","Smallest webp with SSIM >= 0.95","Denoise and sharpen this scan, then compress it"],"inputModes":["application/json"],"description":"Re-encode an image with q (1-100) and format options to reduce file size. Or set quality_target (0-1] instead of q: SSIM search for the smallest file at or above the target (jpeg, webp, avif), outcome returned as a quality-report data artifact. Optional enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen.","outputModes":["image/jpeg","image/png","image/webp"]},{"id":"convert_image","name":"Convert image format","tags":["image","convert","format"],"examples":["Convert this PNG to WebP"],"inputModes":["application/json"],"description":"Convert an image to a different format. Supports jpeg, png, webp, tiff, gif, avif. Accepts quality_target (0-1] as an SSIM-searched alternative to q (jpeg, webp, avif). Optional enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen.","outputModes":["image/jpeg","image/png","image/webp","image/tiff","image/gif","image/avif"]},{"id":"crop_image","name":"Crop image","tags":["image","crop","cut","region","trim","smart-crop","gravity"],"examples":["Crop a 200x200 square at (10, 10)","Smart-crop this to 512x512, focused on the subject","Trim the white border off this scanned page"],"inputModes":["application/json"],"description":"Extract a rectangular region from an image, in one of three modes: manual (x, y, width, height), smart crop (gravity + width + height), or trim (trim=true, removes a uniform background border; applied rect returned as a trim-report data artifact). Optional enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen.","outputModes":["image/jpeg","image/png","image/webp"]},{"id":"optimize_for_vision","name":"Optimize image for a vision model","tags":["image","vision","tokens","llm","resize","cost"],"examples":["Prepare this screenshot for claude-opus-5","Resize this photo for gpt-4o","Get this under 1500 tokens for claude-opus-5"],"inputModes":["application/json"],"description":"Resize an image to the largest size a given vision model still benefits from, and report its token cost before and after. Providers cap oversized input themselves, so this saves bytes and upload latency; pass max_tokens to trade resolution for tokens.","outputModes":["image/jpeg","image/png","image/webp"]},{"id":"optimize_generated_image","name":"Optimize an AI-generated image for the web","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"],"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.","outputModes":["image/webp","image/avif","image/jpeg","image/png"]},{"id":"remove_image_background","name":"Remove image background","tags":["image","background","remove-background","cutout","transparent","png","product-photo","e-commerce"],"examples":["Remove the background from this product photo: https://example.com/shoe.jpg","Cut out the person in this picture as a transparent webp","Give me this logo on a transparent background"],"inputModes":["application/json"],"description":"Cut the subject (person, product, animal, object) out of a photo and return it on a transparent background as png (default), webp or avif. Optional q (1-100) for webp/avif. Runs a segmentation model on CPU, so expect a few seconds per image. $0.01 base.","outputModes":["image/png","image/webp","image/avif"]},{"id":"image_pipeline","name":"Image processing pipeline","tags":["image","pipeline","batch","chain"],"examples":["Resize to 50% then convert to WebP"],"inputModes":["application/json"],"description":"Chain multiple image operations in sequence (max 10).","outputModes":["image/jpeg","image/png","image/webp"]}],"version":"0.1.0","description":"Agent-to-agent image processing service. Resize, convert, compress, and pipeline images via REST, MCP, or A2A.","capabilities":{"streaming":false,"extendedAgentCard":true,"pushNotifications":false},"protocolVersion":"0.3","defaultInputModes":["application/json"],"defaultOutputModes":["application/json","image/jpeg","image/png","image/webp"],"preferredTransport":"JSONRPC","supportedInterfaces":[{"url":"https://api.pictomancer.ai/a2a","protocolBinding":"JSONRPC"},{"url":"https://api.pictomancer.ai","protocolBinding":"HTTP+JSON"},{"url":"https://api.pictomancer.ai/mcp","protocolBinding":"MCP"}],"additionalInterfaces":[{"url":"https://api.pictomancer.ai","transport":"HTTP+JSON"},{"url":"https://api.pictomancer.ai/mcp","transport":"MCP"}],"supportsAuthenticatedExtendedCard":true},"status":"verified","publisher_domain":"pictomancer.ai","signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-10-28T14:58:19.721395+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://api.pictomancer.ai/.well-known/agent-card.json","last_check":{"checked_at":"2026-10-28T14:58:19.721395+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[{"card_url":"https://api.pictomancer.ai/.well-known/agent.json"},{"card_url":"https://pictomancer.ai/.well-known/agent.json"}],"history_urls":["https://api.pictomancer.ai/.well-known/agent-card.json","https://api.pictomancer.ai/.well-known/agent.json","https://pictomancer.ai/.well-known/agent.json"],"skills":[{"skill_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. Always free.","tags":["image","metadata","analyze","size","provenance","c2pa"],"quality_warning":false},{"skill_id":"compress_image","name":"Compress image","description":"Re-encode an image with q (1-100) and format options to reduce file size. Or set quality_target (0-1] instead of q: SSIM search for the smallest file at or above the target (jpeg, webp, avif), outcome returned as a quality-report data artifact. Optional enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen.","tags":["image","compress","optimize","quality","ssim","sharpen","denoise","equalize","enhance"],"quality_warning":false},{"skill_id":"convert_image","name":"Convert image format","description":"Convert an image to a different format. Supports jpeg, png, webp, tiff, gif, avif. Accepts quality_target (0-1] as an SSIM-searched alternative to q (jpeg, webp, avif). Optional enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen.","tags":["image","convert","format"],"quality_warning":false},{"skill_id":"crop_image","name":"Crop image","description":"Extract a rectangular region from an image, in one of three modes: manual (x, y, width, height), smart crop (gravity + width + height), or trim (trim=true, removes a uniform background border; applied rect returned as a trim-report data artifact). Optional enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen.","tags":["image","crop","cut","region","trim","smart-crop","gravity"],"quality_warning":false},{"skill_id":"image_pipeline","name":"Image processing pipeline","description":"Chain multiple image operations in sequence (max 10).","tags":["image","pipeline","batch","chain"],"quality_warning":false},{"skill_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"],"quality_warning":false},{"skill_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 its token cost before and after. Providers cap oversized input themselves, so this saves bytes and upload latency; pass max_tokens to trade resolution for tokens.","tags":["image","vision","tokens","llm","resize","cost"],"quality_warning":false},{"skill_id":"remove_image_background","name":"Remove image background","description":"Cut the subject (person, product, animal, object) out of a photo and return it on a transparent background as png (default), webp or avif. Optional q (1-100) for webp/avif. Runs a segmentation model on CPU, so expect a few seconds per image. $0.01 base.","tags":["image","background","remove-background","cutout","transparent","png","product-photo","e-commerce"],"quality_warning":false},{"skill_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). Optional enhancement modifiers: denoise (median, radius 1-3), equalize (auto-contrast), sharpen.","tags":["image","resize","scale","dimensions","smart-crop","fill"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":306,"passed":306},"recent_checks":[{"card_url":"https://api.pictomancer.ai/.well-known/agent-card.json","checked_at":"2026-10-28T14:58:19.721395+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://pictomancer.ai/.well-known/agent.json","checked_at":"2026-10-28T13:33:56.444049+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://api.pictomancer.ai/.well-known/agent.json","checked_at":"2026-10-28T13:12:59.526734+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://pictomancer.ai/.well-known/agent.json","checked_at":"2026-10-28T11:32:50.559600+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://api.pictomancer.ai/.well-known/agent.json","checked_at":"2026-10-28T11:11:54.596427+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://pictomancer.ai/.well-known/agent.json","checked_at":"2026-10-28T09:31:44.930187+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://api.pictomancer.ai/.well-known/agent.json","checked_at":"2026-10-28T09:11:41.135001+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://pictomancer.ai/.well-known/agent.json","checked_at":"2026-10-28T07:30:37.620174+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://api.pictomancer.ai/.well-known/agent.json","checked_at":"2026-10-28T07:09:52.134116+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://pictomancer.ai/.well-known/agent.json","checked_at":"2026-10-28T05:29:51.701201+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://api.pictomancer.ai/.well-known/agent.json","checked_at":"2026-10-28T05:09:02.908717+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://pictomancer.ai/.well-known/agent.json","checked_at":"2026-10-28T03:28:47.195740+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-10-28T14:58:19.721395+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-10-28T14:58:19.721395+00:00","endpoint":"https://api.pictomancer.ai/a2a","protocol_binding":"JSONRPC","protocol_version":"0.3","state":"jsonrpc_response","http_status":200,"detail":"JSON-RPC response received; A2A behavior not confirmed","request_diagnostics":{"requests":[{"path":"/a2a","allow":[],"method":"POST","status":200,"version_header":"0.3","protocol_method":"tasks/get","redirect_followed":false}],"capture_version":1}},"declared_primary_endpoint":"https://api.pictomancer.ai/a2a","selected_connection_interface":{"url":"https://api.pictomancer.ai/a2a","protocolBinding":"JSONRPC","protocolVersion":"0.3"},"protocol_interface_checks":[{"endpoint":"https://api.pictomancer.ai/a2a","protocol_binding":"JSONRPC","protocol_version":"0.3","selected":true,"state":"jsonrpc_response","checked_at":"2026-10-28T14:58:19.721395+00:00","http_status":200,"detail":"JSON-RPC response received; A2A behavior not confirmed","binding_recorded":true},{"endpoint":"https://api.pictomancer.ai","protocol_binding":"HTTP+JSON","protocol_version":"0.3","selected":false,"state":"unconfirmed","checked_at":"2026-10-28T14:58:19.721395+00:00","http_status":404,"detail":"Advertised HTTP+JSON interface returned a generic HTTP 404, not A2A TASK_NOT_FOUND. Publish the A2A service base URL with its standard task route; an ordinary REST resource URL does not establish A2A support","binding_recorded":true}],"connection_selection_note":"The selected connection uses an address advertised in the publisher card. Read-only observations do not establish task quality or safety.","x402_price_check":null,"events":[{"observed_at":"2026-10-22T13:17:16.012497+00:00","event_type":"card_changed","detail":"Confirmed published card change: skills_added, skills_updated, other_card_fields; fingerprint 809a8a79500d"},{"observed_at":"2026-10-22T12:01:57.893933+00:00","event_type":"card_changed","detail":"Confirmed published card change: skills_added, other_card_fields; fingerprint 809a8a79500d"}],"relationships":[],"verification":{"agent_card_url":"https://api.pictomancer.ai/.well-known/agent-card.json","last_successful_card_check":"2026-10-28T14:58:19.721395+00:00","latest_card_check":{"checked_at":"2026-10-28T14:58:19.721395+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-10-28T14:58:19.721395+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-10-28T14:58:19.721395+00:00","endpoint_tls_reachable":true,"protocol_check_state":"jsonrpc_response","protocol_checked_at":"2026-10-28T14:58:19.721395+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":498987,"status":"not_tested","reason_code":"not_yet_tested","consent_status":"not_confirmed","latest_observation_status":null,"last_checked_at":null,"fixture_version":"1","reference_demonstration":false,"scope":"A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.","methodology_url":"https://localmark.ai/capability-tests","history":[]},"repair_links":{"agent_repair_url":"https://localmark.ai/agents/498987/repair","publisher_report_url":"https://localmark.ai/publishers/pictomancer.ai/repair","diagnostics_json_url":"https://localmark.ai/publishers/pictomancer.ai/repair/diagnostics.json","diagnostics_csv_url":"https://localmark.ai/publishers/pictomancer.ai/repair/diagnostics.csv"},"_localmark":{"contribution":{"optional":true,"directory_access":"free","operator_authorization_required":true,"affects_rankings":false,"message":"LocalMark is free. Optional contributions help fund ongoing checks.","support_url":"https://localmark.ai/support","metadata_url":"https://localmark.ai/api/v1/support/contributions"}}}