canonical: https://jentic.com/apis/aircaps.com/aircaps

# AirCaps API

The AirCaps API transcribes English speech to text, separates who spoke when, and identifies known speakers from their voice. It creates asynchronous transcripts from uploaded audio and returns them as text or downloadable subtitles, produces speaker diarizations with downloadable RTTM, and runs synchronous speaker identification against voiceprints you enrol. You manage speakers and their enrolments, upload files directly or via a presigned URL, and read account and usage details. A models listing reports the engines available for each task.

## For AI agents

Transcribe English audio, diarize who spoke when, and identify enrolled speakers through REST. Create and read transcripts, diarizations, and speaker records; download subtitles and RTTM; and manage speaker enrolments and uploaded files.

## Scope

Does not synthesize speech, translate text, or transcribe non-English languages beyond its listed models. Use for English speech-to-text, diarization, and speaker identification only.

## Capabilities

- Transcribe uploaded English audio into text and download the result as subtitles
- Diarize a recording to separate speaker turns and download the result as RTTM
- Identify a speaker by matching audio against voiceprints you enrol under a speaker record
- Enrol and manage speakers and their enrolment samples for recurring identification
- Upload audio directly or request a presigned upload URL for larger files
- Read account details, usage, and the models available for each speech task

## Use cases

### Agent-Driven Meeting Transcription and Attribution

An agent handling a recorded meeting can upload the audio, create an asynchronous transcript, and create a diarization, then combine the transcript text with the speaker turns so each line is attributed to a speaker. Transcripts download as subtitles and diarizations download as RTTM, giving the agent both human-readable captions and a machine-readable speaker timeline. This produces an attributed transcript without the agent running any speech model itself.

Example prompt: Upload a meeting recording, create a transcript and a diarization for it, then download the subtitles and the RTTM and align speaker turns to the transcript lines.

### Voice-Based Speaker Identification

To recognise known voices, you enrol each speaker with one or more voice samples under a speaker record, then run synchronous identification on new audio to find the best match. Because identification is synchronous, an agent gets the result in the same call rather than polling, which suits live or interactive flows. Enrolments can be added or removed over time to keep a speaker's voiceprint current.

Example prompt: Create a speaker, add an enrolment from a voice sample, then run speaker identification on a new clip and report the matched speaker id.

### Generating Subtitles for Video

A publishing workflow can transcribe a video's audio track and download the transcript as subtitles ready to attach to the video. The transcript is created asynchronously, so an agent submits the audio, waits for completion, and then fetches the subtitle file. This gives a hands-off path from a raw recording to caption files without a local speech pipeline.

Example prompt: Create a transcript from a video's audio, poll until it is ready, and download its subtitles for attachment to the video.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/transcripts` | Create an asynchronous transcript |
| GET | `/v1/transcripts/{id}/subtitles` | Download a transcript as subtitles |
| POST | `/v1/diarizations` | Create a speaker diarization |
| GET | `/v1/diarizations/{id}/rttm` | Download the diarization as RTTM |
| POST | `/v1/speakers` | Create a speaker record |
| POST | `/v1/speakers/identify` | Identify a speaker from audio synchronously |
| POST | `/v1/files` | Upload an audio file |
| GET | `/v1/models` | List models available per task |

## Key resources

- **Transcripts** — Create, list, read, and delete asynchronous English transcripts and download them as subtitles
- **Diarizations** — Create, list, read, and delete speaker diarizations and download the RTTM speaker timeline
- **Speakers and Enrolments** — Create, read, update, and delete speakers, manage their enrolment samples, and run synchronous identification
- **Files** — Upload audio directly or request a presigned upload URL for larger files
- **Account** — Read account details, usage, and the list of models available per task

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 69 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 80 / 100
  - Developer Experience & Jentic Compatibility: 76 / 100
  - AI-Readiness & Agent Experience: 51 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 72 / 100
- **View full report:** https://jentic.com/apis/aircaps.com/aircaps/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring the AirCaps API by hand means sending your Bearer aircaps_sk_ key on every call, handling the asynchronous transcript and diarization lifecycle, and arranging audio uploads either inline or through a presigned URL. Through Jentic you install once, import it from the API Directory, store the API key once, and your agent calls the transcript, diarization, and speaker operations.
- **Permission scoping:** AirCaps puts the transcript and speaker ids in the URL path (`/v1/transcripts/{id}`, `/v1/speakers/{id}`), so a rule can limit your agent to the operations you pick: it can create and read transcripts and nothing else. You choose the operations it may call, so destructive ones like transcript, speaker, or enrolment deletion are not included unless you add them.
- **Credential handling:** Your AirCaps API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'transcribe an audio file' or 'identify a speaker', and Jentic returns the matching AirCaps operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **AssemblyAI** — Broad speech-to-text with diarization and audio intelligence features across more languages
- **Deepgram** — Real-time and batch speech-to-text with diarization, rather than AirCaps' enrolment-based speaker ID
- **ElevenLabs** — Text-to-speech and voice synthesis that pairs with AirCaps' speech-to-text direction

## FAQ

### What authentication does the AirCaps API use?

Per its OpenAPI spec the AirCaps API uses an HTTP bearer scheme: you send your API key as an Authorization header in the form Bearer aircaps_sk_... over HTTPS. The bearer key applies to the transcript, diarization, speaker, file, account, and usage operations; the models listing is the one open read that needs no key.

### Can I separate who spoke when with the AirCaps API?

Yes. Create a diarization from a recording and the API returns the speaker turns, which you can also download as an RTTM file. To attach names to those turns, enrol each voice as a speaker and run synchronous speaker identification, which returns the best-matching speaker for a clip in the same call.

### What are the rate limits for the AirCaps API?

The OpenAPI spec does not publish numeric rate limits for the AirCaps API; the account and usage operations report your current consumption so you can track it. For current limits check the vendor documentation at https://docs.aircaps.com.

### How do I transcribe an audio file with the AirCaps API through Jentic?

Import the AirCaps API from the Jentic API Directory, then have your agent search by intent such as 'transcribe an audio file' and Jentic returns the create-transcript operation with its input schema. The agent uploads the file, creates the transcript, and downloads the subtitles once it is ready. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit what my agent is allowed to do with the AirCaps API?

Yes. AirCaps carries the transcript and speaker ids in the URL path, so write a rule that allows only the create and read operations your task needs, and your agent can transcribe and read results but cannot delete transcripts, speakers, or enrolments. Add the delete operations only when the agent genuinely needs them, and every call it makes is logged.

### Is there an AirCaps MCP server?

You don't need an MCP server to give your agent the AirCaps API. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the transcript, diarization, and speaker operations on demand without loading another server's tool definitions into its context.

### Does the AirCaps API support languages other than English?

Per the spec the transcription models are described for English, and the models listing reports the engines available for each task so you can confirm what a given model supports. Diarization and speaker identification work from the audio signal rather than the words, so they are not tied to a single language.
