# Tanod utilpeek File Upload

> Tanod utilpeek File Upload is a paid API for AI agents from tanod.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-30).

Uploads a file (PDF, Office, image, audio, CSV, JSON, or text) and returns a temporary download URL valid for up to 24 hours

## Facts

- Endpoint: POST https://tanod.dev/v1/files/upload?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-utilpeek-file-upload-4f65330f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_2_BWPydTr6iq8mLhQZv8y

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 tanod-utilpeek-file-upload-4f65330f -d '<json body>'
```

Example prompt: Can you upload this PDF (report.pdf) and give me a download link that stays valid for 12 hours — I need to pass the URL to another tool in my pipeline?

## When to prefer this

Use this endpoint when an AI agent holds a file in memory or as base64 and needs to give the next tool or API a URL to download it. Ideal for multi-step pipelines where one step produces a file and the next step only accepts a URL. Prefer this over permanent storage when the file only needs to be accessible for up to 24 hours and cost-efficiency matters ($0.005 per call). Supports a wide range of document, image, audio, and data formats.

## Known failure modes

- File exceeds 20 MB — request rejected
- Unsupported file type (HTML, SVG, script, executable, archive) — 415 Unsupported Media Type
- Invalid base64 encoding — 400 Bad Request
- TTL out of range (less than 1 or greater than 24) — 400 Bad Request
- Payment failure via x402 protocol — 402 Payment Required
- Link expired — URL no longer accessible after TTL

## How this service works

utilpeek (Tanod) file upload: PDF, Office, image, audio, CSV, JSON or text stored for up to 24 hours and returned as a download link. Use when an agent holds a file and must give the next tool a URL for it: a link that expires within 24 hours.

## Output

A temporary download URL pointing to the uploaded file, along with metadata such as expiry time. The link remains accessible for the requested TTL (1–24 hours) and then expires automatically. No permanent storage occurs.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "filename": {
   "type": "string",
   "maxLength": 255,
   "minLength": 1,
   "description": "File name with its extension, such as report.pdf. The extension is not trusted: the type is detected from the bytes. It sets the name in the link."
  },
  "ttl_hours": {
   "type": "integer",
   "default": 24,
   "maximum": 24,
   "minimum": 1,
   "description": "Hours the link stays valid, 1-24 (default 24, the most)."
  },
  "content_base64": {
   "type": "string",
   "maxLength": 27962036,
   "minLength": 1,
   "description": "The file, base64 encoded, up to 20 MB decoded. Allowed: PDF, DOCX, XLSX, PPTX, ODT, ODS, ODP, PNG, JPEG, WebP, GIF, TIFF, BMP, MP3, WAV, M4A/MP4 audio, OGG, FLAC, CSV, JSON, TXT, Markdown. HTML, SVG, scripts, executables and archives are refused with 415."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-utilpeek-file-upload-4f65330f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tanod.dev](https://www.zero.xyz/host/tanod.dev/llms.txt)
