{"audit":{"version":"1.5","generated_at":"2026-10-23T00:41:07.335624+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/pictomancer.ai","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"pictomancer.ai","name":"Pictomancer.ai","url":"https://pictomancer.ai/.well-known/agent.json"}},"identity":{"provider":{"organization":"Pictomancer.ai","url":"https://pictomancer.ai"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":"1.0","supports_streaming":false,"supports_push_notifications":false},"operational":{"live_state":"live","live_responds":true,"last_status_code":200,"last_elapsed_ms":84,"last_error":null},"track_record":{"first_seen":"2026-09-26T07:50:31.293271+00:00","last_checked":"2026-10-22T19:19:58.048168+00:00","last_seen_ok":"2026-10-22T19:19:58.048168+00:00","checks_total":53,"checks_ok":53,"uptime_pct":100.0,"uptime_window_days":30,"uptime_probes":53,"archived":false,"archived_reason":null},"conformance":{"score":80,"grade":"B","summary":"B-grade: working agent with minor gaps (often unsigned cards or thin metadata).","criteria":[{"key":"valid_card","label":"Valid AgentCard","points":10,"max_points":10,"status":"pass","detail":"Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification)."},{"key":"live_responds","label":"Live JSON-RPC","points":25,"max_points":25,"status":"pass","detail":"Endpoint responds to a negotiated A2A SendMessage probe (answers in ~35 ms)."},{"key":"protocol_version","label":"Protocol version","points":10,"max_points":10,"status":"pass","detail":"Declares A2A 1.0 with supportedInterfaces[] (current v1 card shape)."},{"key":"signature","label":"JWS signature","points":0,"max_points":10,"status":"info","detail":"Card is unsigned (most published agents are)."},{"key":"uptime","label":"Uptime track record","points":15,"max_points":15,"status":"pass","detail":"53/53 probes succeeded (100% uptime)."},{"key":"skills","label":"Skill declaration","points":10,"max_points":10,"status":"pass","detail":"Declares 9 skills with structured metadata."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: Pictomancer.ai (https://pictomancer.ai). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit."},{"key":"freshness","label":"Freshness + modern flags","points":5,"max_points":5,"status":"pass","detail":"declares 1 modern capability flag(s) (x402); seen in upstream source within 0d"},{"key":"security","label":"Security declaration","points":0,"max_points":5,"status":"info","detail":"Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated."}]},"card_read":{"findings":[],"clean":true,"source_url":"https://pictomancer.ai/.well-known/agent.json"},"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":"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"],"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"],"outputModes":["image/png","image/webp","image/avif"]},{"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"]}],"provenance":[{"source":"manifests","first_seen":"2026-09-26T07:50:31.293271+00:00"},{"source":"recrawl_hot","first_seen":"2026-09-28T18:10:28.518453+00:00"},{"source":"recrawl_warm","first_seen":"2026-10-10T16:29:43.919734+00:00"}],"recent_probes":[{"fetched_at":"2026-10-22T19:19:58.048168+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":84,"live_responds":true},{"fetched_at":"2026-10-22T05:27:19.704887+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":74,"live_responds":true},{"fetched_at":"2026-10-21T16:27:00.176115+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":91,"live_responds":true},{"fetched_at":"2026-10-21T03:27:21.800252+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":41,"live_responds":true},{"fetched_at":"2026-10-20T11:21:10.055677+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":122,"live_responds":true},{"fetched_at":"2026-10-19T18:05:29.184444+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":158,"live_responds":true},{"fetched_at":"2026-10-19T01:48:37.745499+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":62,"live_responds":true},{"fetched_at":"2026-10-18T13:24:05.566170+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":64,"live_responds":true},{"fetched_at":"2026-10-17T23:27:48.911190+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":62,"live_responds":true},{"fetched_at":"2026-10-17T09:51:26.380088+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":99,"live_responds":true}],"catalog_attestation":null,"operator_revenue_evidence":{"evidence_class":"operator_submitted","authenticity":{"rung":"no_operator_evidence","rank":0,"why":"No verifiable operator evidence has been submitted for this agent.","thresholds":{"min_independent_payers":3,"min_verified_usd":25.0},"engine_table":"agent_authenticity","merge_rule":"max(existing_rank, rank)"},"metric_metadata":{"provenance":"operator_submitted_evidence","confidence":"attested","coverage":{"numerator":0},"as_of":"2026-10-23T00:41:07.375677+00:00","definition":"Revenue proofs submitted by the verified owner and re-checked by Agenstry against the settlement chain or the operator's own Stripe account. Only independently confirmed proofs are counted."},"counts":{"retained":0,"verified":0,"unverifiable":0},"verified":{"gross_usd":0.0,"transactions":0,"independent_payers":0},"detail_url":"https://agenstry.com/api/agents/pictomancer.ai/evidence","dispute_url":"https://agenstry.com/agents/pictomancer.ai/dispute"},"verification_history":[]}