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

# cielo-24 API

Jentic publishes the only available OpenAPI specification for cielo-24 API, keeping it validated and agent-ready. cielo24 is a media intelligence service that produces searchable captions, transcripts, and metadata from video and audio files. The API uses a job-oriented workflow - create a job, add media, perform transcription, and retrieve the resulting transcript or element list - designed for content libraries that need accessibility-compliant captions and rich media indexing. It is used by broadcasters, EdTech platforms, and media archives that want to make video content searchable and screen-reader compatible.

## For AI agents

Create transcription and captioning jobs on cielo24 - submit video or audio media, run transcription, and retrieve searchable captions.

## Scope

Does not handle video editing, encoding, or content moderation - use for transcription, captioning, and word-level media indexing only.

## Capabilities

- Authenticate and obtain a session token via `/account/login`
- Create a new transcription job via `/job/new` and attach media via `/job/add_media`
- Trigger machine or human transcription on a job via `/job/perform_transcription`
- Retrieve the completed transcript or caption file via `/job/get_transcript`
- Pull a structured element list of words, timecodes, and speakers via `/job/get_elementlist`
- Inspect or delete jobs via `/job/info` and `/job/delete`

## Use cases

### Video Library Caption Generation

Media organisations with large video libraries need accessibility-compliant captions for every asset. The cielo24 workflow accepts a media file or URL via `/job/add_media`, runs `/job/perform_transcription` with the desired fidelity setting, and returns a caption file via `/job/get_transcript` that can be uploaded as a sidecar to the video player. This automates the caption pipeline for ongoing content production.

Example prompt: Create a job via `/job/new`, attach a media URL via `/job/add_media`, run `/job/perform_transcription`, and retrieve the caption via `/job/get_transcript`

### Searchable Media Archive

Archive operators turn video collections into searchable text repositories so users can jump to the moment a topic is mentioned. The `/job/get_elementlist` endpoint returns structured words with start and end timecodes, which a search index ingests so a query for a phrase resolves to the exact second in the video where it was spoken.

Example prompt: Pull `/job/get_elementlist` for a finished job and emit each word with its start and end timecodes for ingestion into a search index

### Lecture and Course Transcripts

EdTech platforms transcribe lecture videos to provide written notes alongside the video player. The cielo24 job workflow handles the upload, transcription, and retrieval; transcripts can be edited inline in the platform and re-fetched, while word-level timecodes drive jump-to-moment navigation in the player.

Example prompt: Submit a 60-minute lecture video to a new cielo24 job and return the transcript text once `/job/perform_transcription` completes

### Agent-Driven Caption Pipeline

An AI agent overseeing a media production pipeline calls cielo24 through Jentic to generate captions for every new video as it lands in storage. The agent searches Jentic for 'transcribe a video file', loads the job creation and transcript retrieval operations, and walks each new asset through the workflow without an engineer wiring up the multi-step job flow manually.

Example prompt: Search Jentic for 'transcribe a video file', load the cielo24 job sequence, and run it for each newly uploaded video

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/account/login` | Authenticate and obtain a session token |
| GET | `/job/new` | Create a new transcription job |
| GET | `/job/add_media` | Attach media to a job |
| GET | `/job/perform_transcription` | Run transcription on the job |
| GET | `/job/get_transcript` | Retrieve the completed transcript |
| GET | `/job/get_elementlist` | Retrieve word-level timecoded elements |

## Key resources

- **Account** — Login and session token retrieval
- **Job** — Transcription job lifecycle - create, add media, transcribe, fetch result, delete

## Why Jentic

- **Setup:** Wiring cielo-24 by hand means logging in at `/account/login`, threading the resulting session token through the new-job, add-media, transcription, and retrieval sequence yourself. Through Jentic you install once, import the cielo-24 API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** cielo-24 identifies jobs through parameters rather than a resource id in the URL path, so scope the agent to the operations it needs, such as creating a job, adding media, and getting a transcript. You choose that set, so the agent runs only the calls you allow.
- **Credential handling:** Your cielo-24 username and password are stored once, encrypted, by your own Jentic One instance, which handles the login call and threads the resulting session token at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'transcribe a video file' or 'get a transcript', and Jentic returns the matching cielo-24 job operations with their input schemas so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **AssemblyAI** — Speech-to-text API with diarization, sentiment, and topic detection
- **Deepgram** — Real-time and batch speech-to-text with low-latency streaming
- **OpenAI Whisper** — Whisper model exposed via the OpenAI audio transcription endpoint

## FAQ

### Why is there no official OpenAPI spec for cielo-24 API?

cielo24 does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call cielo-24 API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the cielo-24 API use?

cielo24 uses a session token model - call `/account/login` with your username and password to receive an API token, then pass that token as a query parameter on subsequent /job/* calls. Through Jentic, the credentials are stored encrypted and the token lifecycle is managed by the runtime.

### Can I get word-level timecodes for transcribed video?

Yes. The `/job/get_elementlist` endpoint returns a structured list of words with start and end timecodes plus speaker labels where available, which is what you need to drive jump-to-moment search and word-level subtitle alignment.

### What output formats does cielo-24 produce?

The `/job/get_transcript` endpoint supports multiple caption and transcript formats including SRT, WebVTT, and plain text via a format parameter, so the same job can produce both player-ready captions and an editable transcript without re-running transcription.

### What are the rate limits for the cielo-24 API?

Specific rate limits are not declared in the OpenAPI spec - cielo24 enforces per-account throughput tied to your subscription. Honour 429 responses and avoid tight polling against `/job/info`; subscribe to webhooks where available for completion notifications instead.

### How do I transcribe a video through Jentic?

Run pip install jentic, search for 'transcribe a video file', load the job sequence (`/job/new`, `/job/add_media`, `/job/perform_transcription`, `/job/get_transcript`), and execute. Jentic handles the login token and threads it through each call in the sequence.

### Can I limit what my agent is allowed to do with the cielo-24 API?

Yes. Because you run Jentic One yourself, you decide which cielo-24 operations the agent may call, so you can grant only the job steps it needs, such as `/job/new`, `/job/add_media`, `/job/perform_transcription`, and `/job/get_transcript.` Since cielo-24 identifies jobs through parameters rather than a resource id in the URL path, scoping is done at the operation level, so an agent built only to fetch transcripts never receives the ability to delete jobs via `/job/delete.` Your own rules decide which credentials and calls are allowed, and the agent runs only that set.
