Sign in
Docs

API reference

Narrate lines

Have a token? Manage tokens in the console
POST
/v1/narration/synthesize

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.

Authorization

bearer
headerAuthorizationBearer <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.

Request Body

iohr.narration.v1.SynthesizeRequest; path variables override their fields

application/json
  1. body

iohr.narration.v1.SynthesizeRequest

context?boolean
language_code?string
lines?array<>
model_id?string
spend?boolean
voice_id?string

Response Body

iohr.narration.v1.SynthesizeResponse

application/json
  1. response

iohr.narration.v1.SynthesizeResponse

characters_cached*integer
Formatint32
characters_left*integer
Formatint32
characters_needed*integer
Formatint32
characters_spent*integer
Formatint32
clips*array<>
dry_run*boolean
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.synthesize({ language_code: "<language_code>" });  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.

{  "characters_cached": 0,  "characters_left": 0,  "characters_needed": 0,  "characters_spent": 0,  "clips": [    {      "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"      }    }  ],  "dry_run": true}