# SignalHarness Content Type Detector

> SignalHarness Content Type Detector is a paid API for AI agents from signalharness.ai, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Detects and validates the MIME type of content from raw text, base64-encoded data, or filename, returning confidence level and structural signals

## Facts

- Endpoint: POST https://signalharness.ai/api/agent/services/content_type_detect/invoke
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/signalharness-content-type-detector-8e085e54
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_CBFSABGcbvfHuf7UAXvQ9

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability signalharness-content-type-detector-8e085e54 -d '<json body>'
```

Example prompt: Can you detect the actual content type of this base64-encoded blob I received — the sender claims it's a PDF but I'm not sure: 'JVBERi0xLjQKJeLjz9MK...'?

## When to prefer this

Choose this endpoint when you need programmatic, agent-friendly MIME type detection with confidence scoring and structural signal transparency, especially when you cannot trust declared content types or file extensions. Ideal for security-sensitive pipelines where you need to verify content before processing, or when operating in agent workflows that require an auditable receipt of every operation.

## Known failure modes

- Empty or missing input — all of text, base64, and filename are optional but at least one must be provided
- Base64 string fails pattern validation — must match strict base64 pattern
- Content too ambiguous to classify — returns low confidence with minimal structural signals
- Input exceeds 65536 character limit — request rejected
- Payment failure via x402 protocol — endpoint returns 402 before processing

## How this service works

Explore 330 pay-per-call x402 API services and 27 agent-native digital products, with Base USDC pricing, secure Polar checkout, and free discovery.

## Output

Returns a JSON object with the detected MIME type, charset, confidence level (e.g. low/medium/high), an array of structural signals that informed the detection, any warnings, and a full payment receipt including latency, execution ID, and result hash for auditability.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "text": {
   "type": "string",
   "maxLength": 65536,
   "minLength": 1
  },
  "base64": {
   "type": "string",
   "pattern": "^[A-Za-z0-9+/]*={0,2}$",
   "maxLength": 65536,
   "minLength": 1
  },
  "filename": {
   "type": "string",
   "maxLength": 1024,
   "minLength": 1
  },
  "declaredContentType": {
   "type": "string",
   "maxLength": 256,
   "minLength": 1
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "replay": false,
  "result": {
   "charset": "example",
   "warnings": [
    "Verify the caller-supplied data before relying on this result."
   ],
   "confidence": "low",
   "declaredMime": "example",
   "detectedMime": "example",
   "structuralSignals": [
    "example"
   ]
  },
  "status": "succeeded",
  "receipt": {
   "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
   "usage": [],
   "status": "succeeded",
   "network": "eip155:8453",
   "artifacts": [],
   "endedAtMs": 0,
   "latencyMs": 0,
   "paymentId": "example-payment",
   "receiptId": "example-receipt",
   "requestId": "example-request",
   "serviceId": "content_type_detect",
   "executionId": "example-execution",
   "startedAtMs": 0,
   "amountAtomic": "5000",
   "resultSha256": "0abe3e1f995624e5b4b1ef40923938cdbeceda495862435105fd57c6d845589a",
   "serviceVersion": "1.0.0",
   "settlementReference": "0x0000000000000000000000000000000000000000000000000000000000000000"
  },
  "artifacts": [],
  "requestId": "example-request",
  "executionId": "example-execution"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/signalharness-content-type-detector-8e085e54/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from signalharness.ai](https://www.zero.xyz/host/signalharness.ai/llms.txt)
