API reference
Every endpoint, on one page.
Basics
| Details | |
|---|---|
| Base URL | https://api.usesigna.org/v1 |
| Authentication | Authorization: Bearer sk_live_… on your server, or a client token ct_… in a page or app |
| Success | JSON answers come as {"success": true, "payload": …}; signs, videos and subtitle files come as files. |
| Errors | JSON with message and code. Errors and limits |
Account
Signing
Speech
POST
/v1/subtitles| Auth | Send | Get back | More |
|---|---|---|---|
| key or token | multipart: file, lang; ?format=json|srt|vtt | Timed subtitles | Guide |
POST
/v1/stt| Auth | Send | Get back | More |
|---|---|---|---|
| key or token | multipart: audio, lang | {"text", "lang", "provider"} | Guide |
POST
/v1/tts| Auth | Send | Get back | More |
|---|---|---|---|
| key or token | {"text", "lang", "speechRate"} | {"audio", "provider", "lang"} | Guide |
WSS
/v1/live| Auth | Send | Get back | More |
|---|---|---|---|
| key or token, in the start message | start message, then 16 kHz PCM | partial and final messages | Guide |
Overlays
POST
/v1/overlays| Auth | Send | Get back | More |
|---|---|---|---|
| key | {"name", "captions"} | The overlay, with its page url (shown once) | Guide |
GET
/v1/overlays| Auth | Send | Get back | More |
|---|---|---|---|
| key | — | Your overlays | Guide |
PUT
/v1/overlays/:id| Auth | Send | Get back | More |
|---|---|---|---|
| key | {"name", "captions"} | The overlay; open screens follow at once | Guide |
POST
/v1/overlays/:id/link| Auth | Send | Get back | More |
|---|---|---|---|
| key | — | The overlay with a new url; the old link stops working | Guide |
DELETE
/v1/overlays/:id| Auth | Send | Get back | More |
|---|---|---|---|
| key | — | {"deleted": true} | Guide |
POST
/v1/overlays/:id/sign| Auth | Send | Get back | More |
|---|---|---|---|
| key or token | {"text", "from", "to"} | {"words", "watchers"} | Guide |
POST
/v1/overlays/:id/clear| Auth | Send | Get back | More |
|---|---|---|---|
| key or token | — | {"cleared": true} | Guide |
A JSON answer
{
"success": true,
"payload": { "signed": ["rsl", "ase", "fsl", "bfi", "jsl", "ils"], "spoken": ["rw", "fr", "en", "ja", "sw"] },
"timestamp": "2026-10-24T07:04:17.630Z"
}