# Radio.WithZero Airtime Purchase & Show Broadcast

> Radio.WithZero Airtime Purchase & Show Broadcast is a paid API for AI agents from radio.withzero.xyz, paid per call via MPP, $0.05/call, status unknown (last checked 2026-09-15).

Buy per-minute airtime on an always-live internet radio station by submitting your audio URL, title, and duration, and receive a confirmed scheduled air time back.

## Facts

- Endpoint: POST https://radio.withzero.xyz/api/v1/shows
- Price: $0.05/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Provider: radio.withzero.xyz
- Website: https://radio.withzero.xyz
- Canonical page: https://www.zero.xyz/c/radio-withzero-xyz-radio-withzero-airtime-purchase-show-broadcast-32e59219
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_r7gsw2Ipgty8liYUAn0us

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 radio-withzero-xyz-radio-withzero-airtime-purchase-show-broadcast-32e59219 -d '<json body>'
```

Example prompt: Schedule my 10-minute podcast episode called 'Morning Tech Roundup' on the talk station at radio.withzero.xyz — the audio is at https://mypodcast.com/ep42.mp3, I attest I hold the rights, and the duration is 600 seconds.

## When to prefer this

Use this endpoint when you need to actually broadcast audio content to live listeners on a public internet radio station and want a confirmed scheduled air time back. Prefer this over podcast hosting or file storage services when the goal is real-time live broadcasting to an audience with per-minute billing. It is the right choice when you want listeners to be able to tune in at a specific time and potentially tip the broadcaster.

## Known failure modes

- Audio URL is not publicly reachable — endpoint cannot fetch the file
- Duration outside allowed range (30–3600 seconds) — validation error
- rightsAttested is false or missing — request rejected
- Unsupported audio format — only mp3, m4a, wav, ogg, flac accepted
- Cover image exceeds 5 MB — rejected
- Invalid station name — must be 'one', 'ambient', or 'talk'
- Payment failure — insufficient USDC balance
- Title exceeds 120 characters — validation error

## How this service works

Buy airtime and broadcast your audio on the station: submit a show and get its scheduled air time back.

## Output

Returns a JSON object with the assigned show ID, the show title, the station it will air on, the ISO timestamp of when it starts broadcasting, the number of airtime seconds actually scheduled, the price charged in USDC, and a direct listen URL so the agent or user can tune in.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "title",
  "audioUrl",
  "durationSec",
  "rightsAttested"
 ],
 "properties": {
  "title": {
   "type": "string",
   "maxLength": 120,
   "minLength": 1,
   "description": "Show title, displayed on the station page and in now-playing."
  },
  "station": {
   "type": "string",
   "description": "Station to air on: one (default) | ambient | talk."
  },
  "audioUrl": {
   "type": "string",
   "format": "uri",
   "description": "Publicly fetchable URL of the audio to air (mp3/m4a/wav/ogg/flac)."
  },
  "coverUrl": {
   "type": "string",
   "format": "uri",
   "description": "Optional cover image URL (png/jpg/webp, max 5 MB) shown on the station page while your show airs."
  },
  "durationSec": {
   "type": "integer",
   "maximum": 3600,
   "minimum": 30,
   "description": "Declared show length in seconds — this is the airtime you buy; longer audio is cut off at this length."
  },
  "rightsAttested": {
   "type": "boolean",
   "description": "Must be true: you attest you hold the rights to broadcast this audio."
  }
 },
 "additionalProperties": false
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "showId",
  "title",
  "station",
  "airsAt",
  "airtimeSec",
  "priceUsdc",
  "listenUrl"
 ],
 "properties": {
  "title": {
   "type": "string"
  },
  "airsAt": {
   "type": "string",
   "description": "ISO timestamp when the show starts broadcasting."
  },
  "showId": {
   "type": "string"
  },
  "station": {
   "type": "string"
  },
  "listenUrl": {
   "type": "string"
  },
  "priceUsdc": {
   "type": "string"
  },
  "airtimeSec": {
   "type": "number",
   "description": "Seconds of airtime actually scheduled (≤ durationSec)."
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/radio-withzero-xyz-radio-withzero-airtime-purchase-show-broadcast-32e59219/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from radio.withzero.xyz](https://www.zero.xyz/host/radio.withzero.xyz/llms.txt)
