Skip to content
JARAI Developers Help centre ↗

Getting Started

This guide walks you through creating an API key, triggering your first production, polling for status, and downloading the finished deliverables.

1. Create your API key

API keys are created in the Studio Console, under Settings → API Keys — there is no registration form and no waiting for approval. You sign in once with your JARAI account and mint a key in seconds.

  1. Sign in to the Studio Console with your JARAI account (Microsoft, Google, or email) and open Settings → API Keys.
  2. Click Create key, give it a name (e.g. Local development), and choose its scopes. New keys default to a least-privilege, read-only set — add write scopes only if your integration needs them.
  3. Copy the key. It looks like jarai_test_… and is shown only once — store it in your secrets manager now; it cannot be retrieved again.

Self-serve keys are test keys. Keys you create yourself are jarai_test_ keys scoped to your own sandbox accounts — ideal for building and testing your integration. When you are ready for a production (jarai_live_) key, contact us at hello@jarai.studio.

You authenticate every request with this key in the X-API-Key header (see Authentication). The rest of this guide assumes you have a key ready.

2. Explore Your Accounts

List the accounts available to your partner key:

curl https://api.jarai.studio/v1/partner/accounts \
-H "X-API-Key: jarai_your_api_key_here"

Each account includes its accountId, available avatars, and connected platforms.

3. Trigger Your First Production

Use the accountId from the previous step along with valid languageId, countryId, and avatarId:

curl -X POST https://api.jarai.studio/v1/accounts/{accountId}/productions \
-H "X-API-Key: jarai_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
  "topic": "Quarterly earnings highlights for Q1 2026",
  "languageId": "LANGUAGE_UUID",
  "countryId": "COUNTRY_UUID",
  "avatarId": "AVATAR_UUID"
}'

The API returns 202 Accepted with a productionId and a Location header pointing to the status endpoint.

Triggering a production requires the productions:write scope on your key.

Optional Fields

FieldTypeDescription
projectTypeSlugstringProject type identifier (e.g. social-video-30s). Defaults to the account’s default project type.
metadataMDstringMarkdown metadata for the production (max 4,096 characters). Passed to the AI pipeline as additional context.

4. Poll for Status

The status endpoint is scoped to the account, so use the accountId you triggered with and the productionId you got back — or simply follow the Location header returned by the trigger call:

curl https://api.jarai.studio/v1/accounts/{accountId}/productions/{productionId} \
-H "X-API-Key: jarai_your_api_key_here"

Recommended polling intervals:

  • While Queued: every 10 seconds
  • While Producing: every 30 seconds
  • Once terminal (Published, Failed, Cancelled): stop polling

For real-time updates without polling, see Webhook Integration.

5. Download Deliverables

Once the production reaches AwaitingApproval, Distributing, or Published status, retrieve the deliverable files:

curl https://api.jarai.studio/v1/accounts/{accountId}/productions/{productionId}/deliverables \
-H "X-API-Key: jarai_your_api_key_here"

Each deliverable includes a time-limited sasUrl (valid for 1 hour) for direct download. Deliverable types include Video, ClosedCaptions, AudioDescription, Transcript, and ComplianceCertificate.

Next Steps