# HALOWERK Subtitles Multi-Language

> HALOWERK Subtitles Multi-Language is a paid API for AI agents from medien.halowerk.com, paid per call via x402, $0.032/call, status unknown (last checked 2026-10-31).

Transcribes an audio or video file and generates time-aligned subtitles in up to five target languages simultaneously, with consistent cue timings across all outputs.

## Facts

- Endpoint: POST https://medien.halowerk.com/v1/subtitles-multi?utm_source=zero.xyz
- Price: $0.032/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-subtitles-multi-language-a9e77cc9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_F7_OcCOhMO4yY-ZPjZlxn

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 halowerk-subtitles-multi-language-a9e77cc9 -d '<json body>'
```

Example prompt: Please generate subtitles for this podcast recording (https://example.com/episode12.mp3) — it's 18 minutes long, spoken in English, and I need subtitle tracks in German, French, Spanish, and Portuguese.

## When to prefer this

Choose this endpoint when you need subtitles in multiple languages (up to five) generated in a single API call with guaranteed timing consistency across all tracks. It is ideal for media localization pipelines, e-learning platforms, and video publishers who need synchronized multilingual captions without running separate transcription and translation jobs per language. Prefer this over single-language subtitle endpoints when consistency of cue boundaries across languages is critical for downstream use.

## Known failure modes

- File URL unreachable or too large — returns error indicating source is inaccessible
- Unsupported target language code — returns validation error listing accepted BCP-47 codes
- duration_minutes underestimated — billing and processing may be affected or rejected
- Base64 payload exceeds 12 MB limit — use URL input for larger files
- Source language detection fails on low-quality audio — transcription accuracy degrades
- More than 5 target languages requested — schema validation error
- File format not supported — returns unsupported media type error

## How this service works

Takes an audio or video file and up to five target languages and returns subtitles for each: the speech is transcribed once with word timestamps, split into cues at pauses, six seconds or 84 characters, and every cue is translated on its own into each language in parallel. The number and timing of cues is identical across all languages and the original, and this is checked for every language.

## Output

Returns synchronized subtitle cues for the source audio/video and each requested target language. Cue boundaries (split at pauses, 6-second or 84-character limits) and timings are identical across all language tracks, ensuring consistent playback alignment. Each language's subtitles are delivered together in a single response, validated to confirm cue count and timing consistency.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "source": {
   "type": "object",
   "properties": {
    "url": {
     "type": "string",
     "maxLength": 2048,
     "description": "Public http(s) URL of the file."
    },
    "filename": {
     "type": "string",
     "maxLength": 260
    },
    "content_base64": {
     "type": "string",
     "maxLength": 12000000,
     "description": "The file inline, base64. Larger files by url."
    }
   },
   "description": "The recording. Either url or content_base64.",
   "additionalProperties": false
  },
  "source_language": {
   "type": "string",
   "maxLength": 12,
   "description": "Spoken language (BCP-47). Omit to detect."
  },
  "duration_minutes": {
   "type": "integer",
   "maximum": 30,
   "minimum": 1,
   "description": "Length in started minutes — this is what you are billed for."
  },
  "target_languages": {
   "type": "array",
   "items": {
    "enum": [
     "de",
     "en",
     "es",
     "fr",
     "it",
     "nl",
     "pt",
     "pl",
     "tr",
     "sv",
     "da",
     "cs",
     "ru",
     "uk",
     "ja",
     "zh",
     "ko",
     "ar"
    ],
    "type": "string"
   },
   "maxItems": 5,
   "minItems": 1,
   "uniqueItems": true
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-subtitles-multi-language-a9e77cc9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from medien.halowerk.com](https://www.zero.xyz/host/medien.halowerk.com/llms.txt)
