API reference
Get a clip
One narrated clip of the account's with its audio (MP3), per-character timings, its licence (the provider's plan when it was made, whether it may be used commercially, the voice) and the AI-voice disclosure.
Needs scope narration:read.
bearerAuthorizationBearer <token>An access token from the identity provider: a person's, or a customer's from the client credentials grant with an API key (developers.inorbit.hr). The gateway verifies it; the audience is iohr-api.
hash*stringThe clip's hash, 64 hex characters, from Narrate lines.
iohr.narration.v1.GetClipResponse
application/json- response
iohr.narration.v1.GetClipResponse
clip?iohr.narration.v1.Clip
import { ApiError, Public } from "@inorbithr/sdk";// Reads INORBIT_TOKEN, or INORBIT_KEY_ID and INORBIT_KEY_SECRET.const api = Public.fromEnv();try { const { value } = await api.narration.getClip("<hash>"); console.log(value);} catch (e) { if (!(e instanceof ApiError)) throw e; console.error(`${e.code}: ${e.problem} (request id ${e.raw.requestId})`);}npm install @inorbithr/sdk. Calls the package's public surface; an operation newer than your package needs the next release or a client generated for your account. The SDKs.
{ "clip": { "alignment": { "characters": [ "string" ], "end_ms": [ 0 ], "start_ms": [ 0 ] }, "audio": "string", "cached": true, "characters": 0, "content_type": "string", "duration_ms": 0, "hash": "string", "licence": { "attribution": "string", "commercial": true, "disclosure": "string", "generated_at": "string", "library_voice": true, "model_id": "string", "provider": "string", "provider_plan": "string", "voice_id": "string", "voice_name": "string" } }}Narrate lines POST
Narrate 1 to 50 lines of up to 400 characters with one voice. Without `spend: true` it is a dry run that counts what a run would cost and calls nothing that costs. Lines already narrated come from the account's clip cache at no cost; a run whose new characters pass the monthly budget or the provider's remaining characters is refused whole. Each clip carries its licence and the AI-voice disclosure; its audio is fetched with Get a clip. Needs scope `narration:write`.
Get narration usage GET
This month's characters as InOrbit counts them and as ElevenLabs counts them (cached a day, plus what was spent since; `refresh` asks the provider again), the cap that applies and the plan. Needs scope `narration:read`.