# ZeroClick Audio Translation (Whisper-tiny, English Output)

> ZeroClick Audio Translation (Whisper-tiny, English Output) is a paid API for AI agents from agents.zerogpu.ai, paid per call via MPP, price unknown, status unknown (last checked 2026-10-16).

Transcribes audio files into English text using Whisper-tiny, authenticated via ZeroClick HMAC signature, billed per audio second.

## Facts

- Endpoint: POST https://agents.zerogpu.ai/zeroclick/v1/audio/translations?utm_source=zero.xyz
- Price: price unknown
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-16
- Activations on Zero: 0
- Provider: agents.zerogpu.ai
- Website: https://agents.zerogpu.ai
- Canonical page: https://www.zero.xyz/c/agents-zerogpu-ai-zeroclick-audio-translation-whisper-tiny-english-bfd7cc2a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_OjGjYTlJ6fCVSlUhFtl1T

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 agents-zerogpu-ai-zeroclick-audio-translation-whisper-tiny-english-bfd7cc2a -d '<json body>'
```

Example prompt: I have a Spanish podcast episode at https://example.com/audio/podcast.mp3 — can you translate it to English text using Whisper-tiny and give me the result as an SRT file?

## When to prefer this

Use this endpoint when you need audio-to-English translation (not same-language transcription) with ZeroClick HMAC authentication, pay-per-second billing, and OpenAI-compatible output formats including SRT, VTT, and verbose JSON with timestamps. Prefer this over the transcription endpoint when the source audio is in a non-English language and the desired output is always English.

## Known failure modes

- 400 Bad Request: both file and file_url provided, or neither provided, or base64 is malformed
- 413 Payload Too Large: base64-encoded audio exceeds ~5.6 MB (use file_url instead)
- 400/402: allowance check fails (insufficient credits for even 1 audio second)
- file_url fetch fails: unreachable URL, non-https URL, redirect to http, more than 3 redirects, or 30-second timeout exceeded
- file_url response exceeds 25 MB download cap
- Invalid zc-signature HMAC: authentication rejected

## How this service works

OpenAI-style speech-to-text that always returns English. The model is the configured `whisper-tiny` rather than one read from the request. Billed per audio second: the allowance
check asks for the 1-second floor, and `zc-usage` reports
`max(1, ceil(x-audio-duration-seconds))` audio seconds on success.

Authenticated by verifying the `zc-signature` HMAC over the raw
request bytes; the same orchestration as `/v1/audio/translations` runs behind it.

**Body**: `application/json`, with the audio as base64 (`file`) or an https URL (`file_url`). A body that cannot be read (bad base64, unreachable URL, neither or both sources) is answered with `400` or `413` before any inference and is not billed.


## Output

Returns the English transcript as a JSON object with a 'text' field. When response_format is 'verbose_json', also includes task, language, duration, and segments/words arrays with timing data. For 'text', 'srt', or 'vtt' formats, returns plain text in the respective format.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "oneOf": [
  {
   "not": {
    "required": [
     "file_url"
    ]
   },
   "required": [
    "file"
   ]
  },
  {
   "not": {
    "required": [
     "file"
    ]
   },
   "required": [
    "file_url"
   ]
  }
 ],
 "properties": {
  "file": {
   "type": "string",
   "example": "UklGRiQAAABXQVZFZm10IBAAAAABAAEAQB8AAIA+AAACABAAZGF0YQAAAAA=",
   "description": "The audio, base64-encoded, or as a `data:` URL (`data:audio/mpeg;base64,…`). URL-safe base64 is accepted. Limited by ZeroClick's request body cap (about 7.5 MB of JSON, so about 5.6 MB of audio); use `file_url` for anything larger.",
   "contentEncoding": "base64"
  },
  "model": {
   "enum": [
    "whisper-tiny"
   ],
   "type": "string",
   "default": "whisper-tiny",
   "example": "whisper-tiny",
   "description": "Model identifier. The endpoint serves `whisper-tiny`."
  },
  "prompt": {
   "type": "string",
   "maxLength": 4096,
   "description": "Text to guide spelling and style, such as names or jargon."
  },
  "file_url": {
   "type": "string",
   "format": "uri",
   "example": "https://example.com/audio/hello.mp3",
   "description": "An https URL to the audio. Downloaded by ZeroGPU before transcription: https only (also at every redirect, at most 3), 30-second timeout, up to 25 MB."
  },
  "filename": {
   "type": "string",
   "example": "hello.mp3",
   "description": "Name to give the uploaded file. Defaults to the last segment of `file_url`, or `audio.<ext>` from the audio's type."
  },
  "temperature": {
   "type": "number",
   "default": 0,
   "maximum": 1,
   "minimum": 0,
   "description": "Sampling temperature."
  },
  "response_format": {
   "enum": [
    "json",
    "text",
    "srt",
    "verbose_json",
    "vtt"
   ],
   "type": "string",
   "default": "json",
   "description": "`json` and `verbose_json` return `application/json`; `text`, `srt`, and `vtt` return `text/plain`."
  },
  "timestamp_granularities": {
   "type": "array",
   "items": {
    "enum": [
     "segment",
     "word"
    ],
    "type": "string"
   },
   "description": "`segment` (default), `word`, or both. Requires `verbose_json`. `timestamp_granularities[]` is accepted as the key too."
  }
 },
 "description": "A translation request. Exactly one of `file` (base64) or `file_url` (https). No `language`: the transcript is always English, and sending `language` returns `400`."
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "text"
 ],
 "properties": {
  "text": {
   "type": "string",
   "description": "The transcript."
  }
 },
 "description": "`json` returns `{ text }`. `verbose_json` adds `task`, `language`, `duration`, and `segments` and/or `words`.",
 "additionalProperties": true
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-zerogpu-ai-zeroclick-audio-translation-whisper-tiny-english-bfd7cc2a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.zerogpu.ai](https://www.zero.xyz/host/agents.zerogpu.ai/llms.txt)
