Sign text

Send text, get the signs back a word at a time. The first word arrives while the rest of the sentence is still being signed.

The request

POST/v1/sign

A JSON body with three fields:

FieldTypeRequiredDetails
textstringYesWhat to sign: a sentence, a caption, a headline. Punctuation is dropped and each word is signed in order. Send one sentence or caption per request for the fastest start (a few hundred characters at most).
fromstringNoThe spoken language of text: rw Kinyarwanda (default), en English, fr French, sw Swahili, ja Japanese.
tostringNoThe sign language: rsl Rwandan Sign Language (default), ase American, fsl French, bfi British, ils International Sign, jsl Japanese. All languages.
curl https://api.usesigna.org/v1/sign \
  -H "Authorization: Bearer $SIGNA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Mwiriwe", "from": "rw", "to": "rsl"}' \
  --output mwiriwe.sgn

The Browser tab calls Signa straight from a web page, with a short-lived client token instead of your key. How web pages and apps call Signa.

The response

Details
Status200
Content-Typeapplication/vnd.signa.sgn
BodyOne .sgn segment per word, each written the moment that word and every word before it are ready. Read it as a stream to start the first word straight away; read it to the end and you have the sentence as one valid .sgn file.
SizeAbout 10 KB per second of signing

A word that cannot be signed is skipped, so one unusual word never costs you the sentence. Only when no word at all could be signed do you get an error instead (JSON, see Errors).

What to do with the signs

You wantDo this
A video fileSend the .sgn to /v1/sign/video.
The signer on TV or in your web pageSign onto an overlay instead: it draws the Signa avatar for you.
Your own player or avatarDecode the frames (the format) and draw them.
To keep themStore the .sgn file; it plays back the same forever.

Speed

Every word is looked up at once. Words signed before, by anyone, come back almost instantly; new words are prepared in parallel. A sentence of everyday words usually starts playing in well under a second.

Long texts

Send one sentence or caption at a time rather than a whole article. Each request streams on its own, so the first sentence plays while you send the next, and an error affects one sentence, not the page.

Billing

The characters of text count against your monthly character limit, once, after something was signed. A request that fails costs nothing.

Example: what a request counts
{"text": "Mwiriwe"}         →  7 characters
{"text": "Muraho neza"}     → 11 characters