81trust / 100

Image Preflight

by HALOWERK Agent Tools in Weather & location

x402 APIPassing, checked 40 min ago

Liest Format, Masse, Farbraum, Bittiefe, Alphakanal, Bewegtbild, ICC-Profil und Metadaten direkt aus dem Dateikopf von PNG, JPEG, GIF, WebP und SVG. Prueft gegen selbst gesetzte Anforderungen an Groesse, Seitenverhaeltnis, Format und Metadatenfreiheit und meldet Fallstricke wie CMYK, EXIF mit Ortsangabe oder sehr grosse Pixelmengen.

POST https://tools.halowerk.com/v1/image/preflight

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
33 ms typical, 33 ms slowest 5%
Last check
40 min ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://tools.halowerk.com/v1/image/preflight" \
  -H "content-type: application/json" \
  -d '{"base64":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=","requirements":{"formats":["png"],"max_bytes":2000000}}'
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%2Ftools.halowerk.com%2Fv1%2Fimage%2Fpreflight
const res = await pay("https://tools.halowerk.com/v1/image/preflight", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"base64":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=","requirements":{"formats":["png"],"max_bytes":2000000}}),
});
console.log(await res.json());

Example input

{
  "base64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=",
  "requirements": {
    "formats": [
      "png"
    ],
    "max_bytes": 2000000
  }
}

Example output

{
  "animated": false,
  "aspect_ratio": 1.7778,
  "bit_depth": 8,
  "bytes": 1482113,
  "chunks": [
    "IHDR",
    "iCCP",
    "eXIf",
    "IDAT",
    "IEND"
  ],
  "color_space": "rgba",
  "color_type": 6,
  "format": "png",
  "has_alpha": true,
  "has_exif": true,
  "has_icc": true,
  "has_text_metadata": false,
  "height": 1080,
  "hints": [
    "EXIF kann Ort und Geraet enthalten. Vor Veroeffentlichung entfernen."
  ],
  "interlaced": false,
  "issues": [],
  "megapixels": 2.07,
  "orientation": "quer",
  "passes": true,
  "width": 1920
}

Security scan

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

Recent checks

WhenResultHTTPTimePrice
40 min agoPassed40230 ms$0.002
4 h agoPassed402100 ms$0.002
9 h agoPassed40233 ms$0.002