82trust / 100

Image Thumbnail

by Tanod imagepeek in Other

x402 APIPassing, checked 4 h ago

imagepeek (Tanod) thumbnails: 1-8 sizes of an image. Use when several thumbnail sizes (1-8) of one image are needed at once.

POST https://tanod.dev/v1/image/thumbnail

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
264 ms typical, 264 ms slowest 5%
Last check
4 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://tanod.dev/v1/image/thumbnail" \
  -H "content-type: application/json" \
  -d '{"sizes":[{"height":128,"width":128},{"height":180,"width":320}],"url":"https://tanod.dev/icon.png"}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Ftanod.dev%2Fv1%2Fimage%2Fthumbnail
const res = await pay("https://tanod.dev/v1/image/thumbnail", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"sizes":[{"height":128,"width":128},{"height":180,"width":320}],"url":"https://tanod.dev/icon.png"}),
});
console.log(await res.json());

Example input

{
  "sizes": [
    {
      "height": 128,
      "width": 128
    },
    {
      "height": 180,
      "width": 320
    }
  ],
  "url": "https://tanod.dev/icon.png"
}

Example output

{
  "final_url": "https://tanod.dev/icon.png",
  "images": [
    {
      "bytes": 3265,
      "content_type": "image/png",
      "data_base64": "iVBORw0KGgoAAAAN... (trimmed: 4,356 base64 characters in the reply)",
      "format": "png",
      "height": 128,
      "requested": {
        "height": 128,
        "width": 128
      },
      "width": 128
    },
    {
      "bytes": 581,
      "content_type": "image/png",
      "data_base64": "iVBORw0KGgoAAAAN... (trimmed: 776 base64 characters in the reply)",
      "format": "png",
      "height": 144,
      "requested": {
        "height": 180,
        "width": 320
      },
      "width": 256
    }
  ],
  "input": {
    "animated": false,
    "bytes": 2183,
    "format": "png",
    "frames": 1,
    "has_alpha": true,
    "height": 256,
    "width": 256
  },
  "notes": [],
  "operation": "thumbnail",
  "source": {
    "library": "Pillow",
    "license": "MIT-CMU (HPND)",
    "url": "https://python-pillow.org"
  },
  "source_url": "https://tanod.dev/icon.png",
  "total_bytes": 3846
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
4 h agoPassed402264 ms$0.002