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://agent.pocket.network/v1/image-transform/v1/image
Price per call
$0.005 USD
Networks payable on
Base (eip155:8453), Tempo (eip155:4217)
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

Derived from the published request schema.

curl -X POST https://agent.pocket.network/v1/image-transform/v1/image \
  -H 'content-type: application/json' \
  -d '{"image_url":"string","operation":"adaptive_threshold","params":{}}'
Example response

This service declares its response shape in prose rather than as fields, so there is nothing more specific to sample.

{}

Try it

Make one real paid call from your own wallet — about $0.005 on Base (eip155:8453). 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."
}