API REFERENCE · CREATORS & CONTROL

Creator profiles

Your users curate how they're dubbed without leaving your product: one profile per creator, carrying their Do Not Translate list and context across every job.

01.Create a profile

A platform integrates once and dubs for many people. Create one profile per creator and pass its creator_id on dubs and live sessions; their preferences follow them across every job.

POST/v1/creators
REQUEST + RESPONSE
curl -X POST https://api.thefamiliarlab.com/v1/creators \
  -H "Authorization: Bearer $FAMILIAR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "chessqueen", "external_id": "user_204981" }'

{
  "creator_id": "cr_8f2k1q",
  "name": "chessqueen",
  "external_id": "user_204981",
  "created_at": "2026-08-13T16:40:09Z"
}
TABLE 01 · REQUEST FIELDS
FIELDTYPEREQUIREDDESCRIPTION
namestringyesA display name; yours to choose.
external_idstringnoYour own user ID -- store ours or look up by yours. Unique per organization.

02.List and read

GET/v1/creators
GET/v1/creators/{creator_id}
LOOK UP BY YOUR OWN ID
curl "https://api.thefamiliarlab.com/v1/creators?external_id=user_204981" \
  -H "Authorization: Bearer $FAMILIAR_API_KEY"

{
  "data": [ { "creator_id": "cr_8f2k1q", "name": "chessqueen", … } ],
  "has_more": false
}

The list paginates like every list endpoint: limit + starting_after cursors, newest first, default 20 per page (max 100) -- the pattern on List dubs.

03.Update and delete

PATCH/v1/creators/{creator_id}
curl -X PATCH https://api.thefamiliarlab.com/v1/creators/cr_8f2k1q \
  -H "Authorization: Bearer $FAMILIAR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "chessqueen_tv" }'
DELETE/v1/creators/{creator_id}

Deleting a profile removes its Do Not Translate entries and context. Finished dubs stay downloadable; a profile with a live session running can't be deleted (409).

04.The three scopes

Do Not Translate entries and context both attach at one of three scopes:

TABLE 02 · WHERE A PREFERENCE APPLIES
SCOPEKEYED BYLIFETIME
creatorcreator_idPersistent defaults -- applies to everything the creator dubs.
streamsession_idSaved with the live session and reused next time it runs.
jobdub_idOne upload only -- an override for a single video.

Narrower wins: a job entry overrides a creator default for that video. This is the piece that makes a platform integration feel native -- creators edit these in your UI, and the pipeline honors them on every dub. The write endpoints: Do Not Translate and Context.

05.Access

Everything on this page rides your organization's key -- see Authentication.

The API is enterprise-only: private access under a Studio contract, with volume pricing, raised limits, and a named point of contact for the integration. Book a call and your key is issued with the contract.