Agentic Portal

ImageOps Image Processing API

documents
Serving

Inspect, analyze or transform a public HTTPS image: metadata, resize, crop, rotate, convert, compress, color and filter adjustments, masks, composition, text annotation and tile packages. POST /v1/image with image_url, operation and params. Transforms answer a temporary HTTPS URL to the result, kept one hour, never image bytes. Pay per request in USDC; no account, no API key.

Endpoint
POST https://test.agent.pocket.network/v1/image-transform/v1/image
Price per call
$0.005 USD
Networks payable on
Base Sepolia (eip155:84532)
Protocol
rest

Calling it

The first call returns 402 Payment Required with the terms. Sign for those terms and retry the same request with the payment attached.

Example request

A real, working call — the request the service card verifies against.

curl -X POST https://test.agent.pocket.network/v1/image-transform/v1/image \
  -H 'content-type: application/json' \
  -d '{"image_url":"https://www.python.org/static/img/python-logo.png","operation":"inspect","params":{}}'
Example response

The response this call returned, captured 2026-10-15 12:12:46 UTC.

{
  "portal": {
    "provenance": "third-party-supplier",
    "serviceId": "image-transform",
    "schemaCheck": "unchecked"
  },
  "data": {
    "ok": true,
    "operation": "inspect",
    "input": {
      "width": 580,
      "height": 164,
      "bands": 4,
      "format": "png",
      "interpretation": "srgb",
      "has_alpha": true,
      "source_bytes": 15770
    }
  }
}

Try it

Make one real paid call from your own wallet — about $0.005 on Base Sepolia (eip155:84532). The wallet signs; nothing here holds a key. You'll see exactly what the service answers.

No browser wallet found. Install MetaMask, Rabby, or Coinbase Wallet to try a call here.

Supported methods

Methods the registry lists for this service. The portal forwards any call as sent; the supplier decides what it answers, and a delivered answer is settled.

Methods ImageOps Image Processing API accepts, and whether each reads or writes.
MethodEffect
GET /read
GET /v1/healthread
GET /v1/identityread
GET /v1/versionread
POST /v1/imageread
POST /v1/self-testread

Schemas

Published by the service itself. The example above is generated from these.

Request schema
{
  "type": "object",
  "description": "The body of POST /v1/image. Each operation has its own params schema, with ranges and examples, in https://image.pokt.online/openapi.json. Inputs must be public HTTPS URLs; limits are 50 MB download, 50 MP decoded and 25 MB output, and multi-input operations take up to eight images, 20 MP combined.",
  "properties": {
    "image_url": {
      "type": "string",
      "maxLength": 8192,
      "description": "The public HTTPS image to read."
    },
    "operation": {
      "type": "string",
      "enum": [
        "adaptive_threshold",
        "add_background",
        "animation_info",
        "apply_mask",
        "auto_orient",
        "blur",
        "brightness",
        "colorspace",
        "compare",
        "composite",
        "compress",
        "contact_sheet",
        "contrast",
        "convert",
        "convolve",
        "crop",
        "deepzoom",
        "detect_format",
        "difference",
        "dilate",
        "dominant_color",
        "draw_circle",
        "draw_line",
        "draw_rect",
        "draw_text",
        "edge_detect",
        "emboss",
        "entropy",
        "erode",
        "extract_alpha",
        "extract_channel",
        "extract_frame",
        "extract_page",
        "flatten",
        "flip",
        "gamma",
        "grayscale",
        "grid",
        "hist_equalize",
        "histogram",
        "hue",
        "inspect",
        "invert",
        "join",
        "laplacian",
        "local_equalize",
        "median",
        "merge_channels",
        "metadata",
        "morphology",
        "normalize",
        "optimize",
        "overlay",
        "pad",
        "page_info",
        "pdf_to_image",
        "pixel_sample",
        "pyramid",
        "rank_filter",
        "resize",
        "rotate",
        "saturation",
        "sharpen",
        "smartcrop",
        "stats",
        "strip_metadata",
        "threshold",
        "thumbnail",
        "tile",
        "tint",
        "trim",
        "watermark"
      ],
      "description": "What to do with the image (default inspect)."
    },
    "params": {
      "type": "object",
      "description": "The operation's parameters, e.g. {width, height, fit, format} for resize. Operations that need none take {}."
    }
  },
  "required": [
    "image_url"
  ]
}
Response schema
{
  "type": "object",
  "description": "For POST /v1/image, a JSON object with ok, operation and input (width, height, format, source_bytes). Analyses add their data; transforms add output with width, height, format, bytes, url and expires_in_seconds. A refused request answers ok false with a failure code, e.g. UNSAFE_URL."
}