Projects
The projects you may open, and one project with its revision.
GET /api/v1/projects
GET /
Answers
| Status | What it means | Body |
|---|---|---|
200 | Every project | object |
GET /api/v1/projects/{project}
GET /
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string |
Answers
Reads
What a command changes, each at its own address, to read before you change it. See Reading a project.
A sentence: its text, its lines and their takes
GET /
Needs the editor role · operationId read-sentence
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
sentence | path | yes | string | |
If-None-Match | header | no | string |
Answers
A sentence's earlier versions, a page
GET /
Needs the editor role · operationId read-sentence-history
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
sentence | path | yes | string | |
before | query | no | string | The next of the page before |
If-None-Match | header | no | string |
Answers
The changes kept in the history, newest first, a page
GET /
Needs the editor role · operationId read-history
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
before | query | no | string | The next of the page before |
If-None-Match | header | no | string |
Answers
A word: how it is said, and its respelling
GET /
Needs the editor role · operationId read-word
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
word | path | yes | string | |
If-None-Match | header | no | string |
Answers
Other lines' readings of a line's words
GET /
Needs the editor role · operationId list-borrow-sources
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
line | path | yes | string | |
If-None-Match | header | no | string |
Answers
The cast's characters
GET /
Needs the editor role · operationId list-characters
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-None-Match | header | no | string |
Answers
One character
GET /
Needs the editor role · operationId read-character
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
character | path | yes | string | |
If-None-Match | header | no | string |
Answers
The project's settings
GET /
Needs the editor role · operationId read-settings
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-None-Match | header | no | string |
Answers
Commands
Each change is a command of its own, sent with the revision you last read. See Making a change.
POST /api/v1/projects/{project}/changes
POST /
Deprecated
Use the commands; this goes once the studio's page does
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string |
Body
Answers
GET /api/v1/projects/{project}/commands
GET /
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string |
Answers
| Status | What it means | Body |
|---|---|---|
200 | Every command, with its body | object |
404 | No such project, job or call | Problem (application/problem+json) |
Add a character to the cast
POST /
Needs the editor role · Cost: edit · operationId add-character
Add a character named name to the cast, with how it should sound, which its voice is designed from.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Rename a character
POST /
Needs the editor role · Cost: edit · operationId rename-character
Give a character a new name.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Say who a character is
POST /
Needs the editor role · Cost: edit · operationId describe-character
Say who a character is, for the cast and the voice it is given.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Say how a character should sound
POST /
Needs the editor role · Cost: edit · operationId set-voice-description
Say how a character should sound, for designing its voice.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Make a character a group said at once by these members, or one character again
POST /
Needs the editor role · Cost: edit · operationId set-group-members
Make a character a group said by these characters at once, adding any new ones named; no members makes it one character again.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
For a group: whether the narrator reads its lines instead
POST /
Needs the editor role · Cost: edit · operationId set-narrator-reads
For a group: whether the narrator reads its lines instead.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
For a group: how loosely its members keep together
POST /
Needs the editor role · Cost: edit · operationId set-group-spread
For a group: how loosely its members keep together.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
For a group: keep in step word by word or over the whole line
POST /
Needs the editor role · Cost: edit · operationId set-group-sync
For a group: whether its members keep in step word by word or over the whole line.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
For a group: the member the others follow
POST /
Needs the editor role · Cost: edit · operationId set-group-lead
For a group: the member the others follow.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
For a group: when one member starts and how loud it is
POST /
Needs the editor role · Cost: edit · operationId set-member-mix
For a group: when one member starts and how loud it is.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Remove a character
POST /
Needs the editor role · Cost: edit · operationId remove-character
Remove the character id from the cast; the narrator reads its lines. A member of a group can't be removed.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Give one character's lines to another and remove it
POST /
Needs the owner role · Cost: edit · operationId merge-character
Give one character's lines to another and remove it.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Pick the take a character's voice is made from
POST /
Needs the editor role · Cost: edit · operationId use-voice
Use one of a character's voice takes, or with take None, the voice designed from its description again.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Discard voice takes of a character
POST /
Needs the editor role · Cost: edit · operationId discard-takes
Delete some of a character's voice takes, none of them in use.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Record a character's voice to make it from
POST /
Needs the editor role · Cost: run-costly · Starts a takes job · operationId record-voice
A recording of a character's voice, to make a voice take from.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | no | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Ai1y-Accept-Up-To | header | no | string | The most this costly run may make, accepted by the person after seeing its quote (dry_run): a whole number in the quote's lead unit (x-ai1y-lead). Without it a costly run is refused as accept-required, with the quote |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | accept-required: a costly run sent without Ai1y-Accept-Up-To, with its quote | Problem (application/problem+json) |
Ask for takes of a group's first lines, to hear it
POST /
Needs the editor role · Cost: run-costly · Starts a takes job · operationId preview-group
Ask for a take of each of the group id's first lines, read by its members at once, to hear it; a line with takes waiting is left as it is.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | no | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Ai1y-Accept-Up-To | header | no | string | The most this costly run may make, accepted by the person after seeing its quote (dry_run): a whole number in the quote's lead unit (x-ai1y-lead). Without it a costly run is refused as accept-required, with the quote |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | accept-required: a costly run sent without Ai1y-Accept-Up-To, with its quote | Problem (application/problem+json) |
Mark the drafted cast as looked at and right
POST /
Needs the editor role · Cost: edit · operationId mark-cast-reviewed
The creator has looked at the drafted cast and marks it right.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Say who reads a line
POST /
Needs the editor role · Cost: edit · operationId set-speaker
Who says a line; null gives it to the narrator.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Set what the voice says for a line
POST /
Needs the editor role · Cost: edit · operationId set-say
What the voice says for a line, in place of the book's words; null says the book's words again.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Set how a line is said, in words
POST /
Needs the editor role · Cost: edit · operationId set-how
How a line is said, in words ("whisper it, scared"); null takes that away.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Play a sound in place of a line's words
POST /
Needs the editor role · Cost: edit · operationId set-sound
A sound that plays in place of a line's words; null takes it away.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Pick the take a line plays
POST /
Needs the editor role · Cost: edit · operationId pick-take
The take a line plays; null goes back to the take the build reads.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Mark a line to come back to, or take the mark away
POST /
Needs the editor role · Cost: edit · operationId mark-line
Mark a line to come back to, or take the mark away.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Trim the start and end of the clip a line plays
POST /
Needs the editor role · Cost: edit · operationId trim-clip
Cut start_ms from the start and end_ms from the end of the clip a line plays, or with both 0, take its trim away (trimming clips, TM2).
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Shape a clip's loudness over time
POST /
Needs the editor role · Cost: edit · operationId set-envelope
Make the clip a line plays as loud over its length as points say, (ms into the clip, dB) in order, or with none, take its envelope away (volume-envelope.md, VE2).
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Set the silence after a line
POST /
Needs the editor role · Cost: edit · operationId set-pause
Make the silence after a line's words ms long, in place of the build's own gap there, or with None, the build's own again (pauses.md, PA1).
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Cut the clip a line plays in two
POST /
Needs the editor role · Cost: edit · operationId cut-clip
Cut the clip a line plays in two (cutting-clips.md, CT2): its audio at ms into the clip, its words before the word starting at at (a code point of its sentence) and from it on.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Use another line's reading of the same words
POST /
Needs the editor role · Cost: edit · operationId borrow-reading
Borrow another line's reading of the same words for the line key (borrowed-takes.md, BT4): source as lines/{key}/borrow-sources named it.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Record a line in your own voice
POST /
Needs the editor role · Cost: edit · operationId record-line
One line read aloud on the Timeline, cut and made mono in the page, its WAV sent as base64, to keep as a take of the line (recording-voices.md, RV5, RV6).
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Record how a line should be said, for its direction
POST /
Needs the editor role · Cost: run-costly · Starts a takes job · operationId record-how
A line read aloud in the Fix sheet to show how it goes, made mono in the page, its WAV sent as base64 (delivery-from-recording.md, DR1, DR2).
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Ai1y-Accept-Up-To | header | no | string | The most this costly run may make, accepted by the person after seeing its quote (dry_run): a whole number in the quote's lead unit (x-ai1y-lead). Without it a costly run is refused as accept-required, with the quote |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | accept-required: a costly run sent without Ai1y-Accept-Up-To, with its quote | Problem (application/problem+json) |
Forget a recording of how to say a line
POST /
Needs the editor role · Cost: edit · operationId forget-how
The creator's reading of a line, to forget.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Discard takes of lines
POST /
Needs the editor role · Cost: edit · operationId discard-line-takes
Delete some takes of lines, none of them in use.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | no | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
Read a sentence in one go with the next, or apart
POST /
Needs the editor role · Cost: edit · operationId join-sentences
Read a sentence in one go with the one before it (True), apart from it (False), or as the build decides (None).
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Mark a sentence's words as spoken or not
POST /
Needs the editor role · Cost: edit · operationId set-spoken
Read a sentence aloud (True), or show it and don't read it (False).
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Give some of a sentence's words to a reader
POST /
Needs the editor role · Cost: edit · operationId give-words
Give some words of a sentence to the narrator (narrator) or a character (SF14, splitting lines SL1): a stretch of one segment, in code points, as the Fix sheet picks it or the Lines screen splits a line there.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Put a sentence's lines back as they were (an undo)
POST /
Needs the editor role · Cost: edit · operationId restore-lines
Put a sentence's lines back as they were, with the takes of other lines a split set aside picked again: the Undo of a split or of putting lines together. Its clips' volumes and clean-ups, when given, are put back as they were too (readings.md, RD9).
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Play a sound in place of some of a sentence's words
POST /
Needs the editor role · Cost: edit · operationId set-words-sound
Play a sound in place of some words of the book: a stretch of one segment, in code points.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Set how one clip is cleaned of noise
POST /
Needs the editor role · Cost: edit · operationId set-clip-cleanup
Clean one clip of noise its own way, or as the whole book does (null).
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Set how the whole book is cleaned of noise
POST /
Needs the owner role · Cost: edit · operationId set-book-cleanup
How every clip of the book is cleaned of noise, unless it has its own way.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Set how loud a clip plays
POST /
Needs the editor role · Cost: edit · operationId set-volume
Make a clip louder or quieter, in dB; 0 leaves it as read (clip-volume.md, VL4). The studio makes every other piece of the reading in one go it is a piece of as loud (readings.md, RD4).
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Set the model every voice of the book is cleaned with
POST /
Needs the owner role · Cost: edit · operationId set-book-cleanup-model
The model every voice of the book is cleaned with, unless a voice, a take or a clip has its own (cleanup-models.md, CM15).
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Set the model a character's voice, or the narrator's, is cleaned with
POST /
Needs the editor role · Cost: edit · operationId set-voice-cleanup-model
The model a character's voice, or the narrator's (narrator), is cleaned with, or as the whole book (null).
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Set the model a take is cleaned with
POST /
Needs the editor role · Cost: edit · operationId set-take-cleanup-model
The model a take is cleaned with, or as its voice (null).
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Set the model one clip is cleaned with
POST /
Needs the editor role · Cost: edit · operationId set-clip-cleanup-model
The model one clip is cleaned with, or as its take or voice (null).
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Put clean-up models back as they were (an undo)
POST /
Needs the editor role · Cost: edit · operationId restore-cleanup-models
Put clean-up models back as they were: the whole book's, when given, and each voice's, take's and clip's named, null for none of its own. The Undo of setting one.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Ask for takes of a line
POST /
Needs the editor role · Cost: run-costly · Starts a takes job · operationId queue-line-takes
Ask for takes of a line, made by the next takes job.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | no | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Ai1y-Accept-Up-To | header | no | string | The most this costly run may make, accepted by the person after seeing its quote (dry_run): a whole number in the quote's lead unit (x-ai1y-lead). Without it a costly run is refused as accept-required, with the quote |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | accept-required: a costly run sent without Ai1y-Accept-Up-To, with its quote | Problem (application/problem+json) |
Ask for voice takes of a character
POST /
Needs the editor role · Cost: run-costly · Starts a takes job · operationId queue-voice-takes
Ask for voice takes of a character, to pick its voice from.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | no | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Ai1y-Accept-Up-To | header | no | string | The most this costly run may make, accepted by the person after seeing its quote (dry_run): a whole number in the quote's lead unit (x-ai1y-lead). Without it a costly run is refused as accept-required, with the quote |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | accept-required: a costly run sent without Ai1y-Accept-Up-To, with its quote | Problem (application/problem+json) |
Ask for takes of one run of a sentence, made next
POST /
Needs the editor role · Cost: run-costly · Starts a takes job · operationId queue-sentence-takes
Takes of one run of a sentence, made now or right after the running job, from the reader's Fix sheet (sentence fixes, SF4).
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | no | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Ai1y-Accept-Up-To | header | no | string | The most this costly run may make, accepted by the person after seeing its quote (dry_run): a whole number in the quote's lead unit (x-ai1y-lead). Without it a costly run is refused as accept-required, with the quote |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | accept-required: a costly run sent without Ai1y-Accept-Up-To, with its quote | Problem (application/problem+json) |
Ask for voice takes of every character with no voice yet
POST /
Needs the editor role · Cost: run-costly · Starts a takes job · operationId queue-everyone
Voice takes for every character with no voice picked and none to hear.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | no | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Ai1y-Accept-Up-To | header | no | string | The most this costly run may make, accepted by the person after seeing its quote (dry_run): a whole number in the quote's lead unit (x-ai1y-lead). Without it a costly run is refused as accept-required, with the quote |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | accept-required: a costly run sent without Ai1y-Accept-Up-To, with its quote | Problem (application/problem+json) |
Take back takes asked for and not made yet
POST /
Needs the editor role · Cost: edit · operationId unqueue
Take back the request id for takes, asked for and not made yet.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | no | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
Say how a word is said, everywhere in the book
POST /
Needs the editor role · Cost: edit · operationId respell
Say word as respelling from now on.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Take a word's respelling away
POST /
Needs the editor role · Cost: edit · operationId unrespell
Take the respelling of word away, so it is said as written; a suggested one is never suggested again.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Keep a suggested respelling of a word
POST /
Needs the editor role · Cost: edit · operationId keep-respelling
Keep the respelling suggested for word as the creator's own.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Ask for takes of a word as respelled
POST /
Needs the editor role · Cost: run-costly · Starts a takes job · operationId word-takes
Takes of word said as respelling, to hear before it is saved.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | no | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Ai1y-Accept-Up-To | header | no | string | The most this costly run may make, accepted by the person after seeing its quote (dry_run): a whole number in the quote's lead unit (x-ai1y-lead). Without it a costly run is refused as accept-required, with the quote |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | accept-required: a costly run sent without Ai1y-Accept-Up-To, with its quote | Problem (application/problem+json) |
Add a sound to the project
POST /
Needs the editor role · Cost: edit · operationId add-sound
A recorded sound with its rights, its WAV sent as base64: the file the creator picked, in whatever format, converted in the page, with that file's name and SHA-256.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Remove a sound from the project
POST /
Needs the editor role · Cost: edit · operationId remove-sound
A sound in the studio's list, by its name relative to the cast file.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Add a background under some sentences
POST /
Needs the editor role · Cost: edit · operationId add-background
Add a background under some sentences.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Set everything about a background
POST /
Needs the editor role · Cost: edit · operationId set-background
Set everything about a background that is there already.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Remove a background
POST /
Needs the editor role · Cost: edit · operationId remove-background
Remove the background id from under its sentences.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Pick the voice engine the book is read with
POST /
Needs the owner role · Cost: edit · operationId set-engine
The voice engine the book is read with.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Pick the engine's voice the narrator reads with
POST /
Needs the editor role · Cost: edit · operationId set-narrator-name
The engine's voice the narrator reads with, by its name.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Say how the narrator should sound
POST /
Needs the editor role · Cost: edit · operationId set-narrator-description
How the narrator should sound, for designing its voice.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Go back to a narrator voice designed from its description
POST /
Needs the editor role · Cost: edit · operationId use-designed-narrator
Go back to a narrator voice designed from its description, from a recording.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Record the narrator's voice to make it from
POST /
Needs the editor role · Cost: edit · operationId set-narrator-clip
A recording of the narrator's voice to clone.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Set the seed readings are made with
POST /
Needs the editor role · Cost: edit · operationId set-seed
The seed readings are made with, so a build can be made again the same.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Pick which of Breeze's loops reads
POST /
Needs the editor role · Cost: edit · operationId set-breeze-loop
Which of Breeze's loops reads: its own, or the faster one.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Set how many lines are read at once
POST /
Needs the editor role · Cost: edit · operationId set-batch
How many lines the voice reads at once.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Set whether each reading is heard back to check it
POST /
Needs the editor role · Cost: edit · operationId set-check-voices
Whether each reading is heard back to check its words.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Set how many readings of a line are tried
POST /
Needs the editor role · Cost: edit · operationId set-attempts
How many readings of a line are tried before one is kept.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Make an earlier version the project's again
POST /
Needs the owner role · Cost: edit · operationId go-back
Make the version a change left the project's again, as a new change (history.md, HS6): the change by its number in the history. With sentence, only that sentence and those it is read in one go with.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | yes | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | revision-required: no revision was sent in If-Match | Problem (application/problem+json) |
Show a build in the reader
POST /
Needs the editor role · Cost: edit · operationId show-build
Show the build name in the reader, in place of the one shown.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | no | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
Delete a build
POST /
Needs the owner role · Cost: edit · operationId delete-build
Delete the build name and its files for good; the one the studio shows can't be.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | no | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Body
Answers
Export samples to download: takes, a voice's samples or chapters
POST /
Needs the editor role · Cost: run-costly · Starts a export job · operationId export-samples
Export samples to download: takes of lines, a character's voice samples, or chapters of a build, as audio files with a manifest (export.json, with a credit line), zipped. Audio already made is copied as it is; nothing is rendered, so a line with no take is refused (ask for takes first). A paid use, quoted exactly in audio delivered and accepted first. commercial refuses any sample a paid product may not hold: a voice whose license does not allow it (Breeze's free weights, a model nobody has read), a clean-up model that does not (Sidon), or a person's voice (their consent is not built yet). The export is named by the job; a person downloads it from media/exports/{name}, which agents are never offered.
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-Match | header | no | string | The project's revision the command is made against |
Idempotency-Key | header | no | string | |
dry_run | query | no | boolean | Check the command and say what it would touch, changing nothing; the job it starts is quoted |
Ai1y-Accept-Up-To | header | no | string | The most this costly run may make, accepted by the person after seeing its quote (dry_run): a whole number in the quote's lead unit (x-ai1y-lead). Without it a costly run is refused as accept-required, with the quote |
Body
Answers
| Status | What it means | Body |
|---|---|---|
200 | Made; the revision after it, what it touched and its undo | Done |
404 | No such project, job or call | Problem (application/problem+json) |
409 | What it touches was changed since its revision | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | accept-required: a costly run sent without Ai1y-Accept-Up-To, with its quote | Problem (application/problem+json) |
Jobs
Builds, takes, updates and exports: asked for, followed, stopped. See Jobs.
The project's jobs, newest first, a page
GET /
Needs the editor role · operationId list-jobs
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
before | query | no | string | |
limit | query | no | integer |
Answers
| Status | What it means | Body |
|---|---|---|
200 | The jobs, newest first, a page; next is the cursor of the next page | object |
404 | No such project, job or call | Problem (application/problem+json) |
Ask for a job; it runs in its turn
POST /
Needs the editor role · Cost: run-costly · operationId ask-job
One call for every kind of job for now; a command per kind replaces it (PA-2's requests)
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
Ai1y-Accept-Up-To | header | no | string | The most this costly run may make, accepted by the person after seeing its quote (dry_run): a whole number in the quote's lead unit (x-ai1y-lead). Without it a costly run is refused as accept-required, with the quote |
Idempotency-Key | header | no | string | The same key with another body is refused |
dry_run | query | no | boolean | Check the job and quote it (JobDryRun), asking for nothing |
Body
Answers
| Status | What it means | Body |
|---|---|---|
202 | Asked for; it waits its turn | Job |
200 | Asked for already with this Idempotency-Key: the job now; or, with dry_run, what it would make and cost | Job or JobDryRun |
404 | No such project, job or call | Problem (application/problem+json) |
409 | command-in-flight: the first is being asked | Problem (application/problem+json) |
422 | Refused, with the reason | Problem (application/problem+json) |
428 | accept-required: a costly run sent without Ai1y-Accept-Up-To, with its quote | Problem (application/problem+json) |
A job as it is now
GET /
Needs the editor role · operationId read-job
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
job | path | yes | string |
Answers
Stop a job
POST /
Needs the editor role · operationId stop-job
Stop a running job, or remove one that waits. An agent stops only the jobs it asked for, which the ledger's job.asked entry names
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
job | path | yes | string |
Answers
A job's log, its last lines
GET /
Needs the editor role · operationId read-job-log
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
job | path | yes | string |
Answers
| Status | What it means | Body |
|---|---|---|
200 | Its log's last lines | object |
404 | No such project or job | Problem (application/problem+json) |
GET /api/v1/jobs/{job}
GET /
Deprecated
Moved under the job's project
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
job | path | yes | string |
Answers
POST /api/v1/jobs/{job}/stop
POST /
Deprecated
Moved under the job's project
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
job | path | yes | string |
Answers
GET /api/v1/jobs/{job}/log
GET /
Deprecated
Moved under the job's project
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
job | path | yes | string |
Answers
| Status | What it means | Body |
|---|---|---|
200 | Its log's last lines | object |
404 | No such project or job | Problem (application/problem+json) |
Events
What happens, as it happens. See Following along.
GET /api/v1/projects/{project}/events
GET /
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
Last-Event-ID | header | no | integer |
Answers
| Status | What it means | Body |
|---|---|---|
200 | Server-sent events: first hello ({revision, replayed}, unnumbered), then job (a Job), job-removed ({id}), change ({revision, action, subject}) and command ({action, subject}), each with its number | string (text/event-stream) |
404 | No such project, job or call | Problem (application/problem+json) |
Views
Screens of the studio that put many things together, each as the studio reads it.
Everything the studio's screens show
GET /
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-None-Match | header | no | string |
Answers
The book's contents
GET /
Needs the editor role · operationId view-contents
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-None-Match | header | no | string |
Answers
A section of the book, line by line
GET /
Needs the editor role · operationId view-section
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
section | path | yes | string | |
If-None-Match | header | no | string |
Answers
The Timeline of a section
GET /
Needs the editor role · operationId view-timeline
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
section | path | yes | string | |
If-None-Match | header | no | string |
Answers
The sentences changed since the book was built
GET /
Needs the editor role · operationId view-fixes
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
If-None-Match | header | no | string |
Answers
The links between sentences of a part
GET /
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
part | path | yes | string | |
If-None-Match | header | no | string |
Answers
A part's changed sentences as they sound now
GET /
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
part | path | yes | string | |
If-None-Match | header | no | string |
Answers
A clip heard cleaned, before the clean-up is set
GET /
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
clip | query | no | string | The clip |
noise | query | no | string | off, light or strong |
rumble | query | no | string | 1 to cut it |
job | query | no | string | Instead, what a hear-cleaned job heard: its number |
If-None-Match | header | no | string |
Answers
Audio and files
Takes, previews, exports and the book's files.
A take read in one go, heard whole
GET /
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
take | path | yes | string | |
If-None-Match | header | no | string |
Answers
What borrowing a reading would copy
GET /
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
line | path | yes | string | |
source | path | yes | string | |
If-None-Match | header | no | string |
Answers
A changed sentence as it sounds now
GET /
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
version | path | yes | string | |
If-None-Match | header | no | string |
Answers
The last clean-up preview, as read or cleaned
GET /
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
which | path | yes | string | |
If-None-Match | header | no | string |
Answers
A file the studio serves, in ranges
GET /
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
folder | path | yes | string | |
path | path | yes | string | |
If-None-Match | header | no | string |
Answers
An export's samples, zipped, for a person
GET /
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string | |
export | path | yes | string | |
If-None-Match | header | no | string |
Answers
The ledger
The project's record of jobs, usage and accepts.
GET /api/v1/projects/{project}/ledger/verify
GET /
Parameters
| Name | In | Required | Type | About |
|---|---|---|---|---|
project | path | yes | string |
Answers
Schemas
The bodies the operations take and answer with.
CleanupSettings
How one stretch of the voice is cleaned.
| Property | Type | Required | About |
|---|---|---|---|
noise | NoiseLevel | no | |
rumble | boolean | no |
ModelName
one of "off", "deepfilternet3", "mossformer2", "sidon".
NoiseLevel
one of "off", "light", "medium", "strong".
JobAsk
Run a job: draft the cast (with Claude, rules alone, or for the narrator alone), make the queued takes, build the book, put a build on Yoto, suggest how lines are said (with Claude, or the rules, CV26), or hear a clip, a take or a voice's first clip cleaned with a model.
| Property | Type | Required | About |
|---|---|---|---|
kind | one of "cast", "takes", "build", "yoto", "directions", "words", "hear-cleaned" | yes | |
how | one of "claude", "rules", "narrator" | no | |
build | string or null | no | |
icons | boolean | no | |
update | boolean | no | |
minutes | number or null | no | |
rest | boolean | no | |
through | integer or null | no | |
keep | list of string | no | |
clip | string or null | no | |
take | string or null | no | |
voice | string or null | no | |
model | ModelName or null | no | |
noise | CleanupSettings or null | no |
ChangeAsk
A change asked for through the API: one the studio's page could ask for, by its name, with the project's revision it was made against.
| Property | Type | Required | About |
|---|---|---|---|
action | string | yes | |
change | object | yes | |
revision | integer | yes |
Changed
| Property | Type | Required | About |
|---|---|---|---|
revision | integer | yes |
ApiBuild
The book a job makes.
| Property | Type | Required | About |
|---|---|---|---|
name | string | yes | |
made_as | MadeAs | yes | |
kept_at | string or null | yes |
ApiExport
The samples a job exports, named by the job: a person downloads them, zipped, at media; agents are never offered media.
| Property | Type | Required | About |
|---|---|---|---|
name | string | yes | |
media | string or null | yes |
ApiMade
What a job made for the customer of one product unit, for one output. A count, never money.
| Property | Type | Required | About |
|---|---|---|---|
unit | string | yes | |
output | string | yes | |
count | integer | yes | |
disputed | boolean | yes |
ApiProgress
| Property | Type | Required | About |
|---|---|---|---|
step | string | yes | |
done | integer | yes | |
total | integer | yes | |
unit | string | yes | |
seconds_left | number or null | yes |
ApiUsage
ApiUsed
What a job used of one provider's model, in one unit.
| Property | Type | Required | About |
|---|---|---|---|
provider | string | yes | |
model | string | yes | |
unit | string | yes | |
count | integer | yes | |
reported | boolean | yes | |
disputed | boolean | yes |
JobId
string.
JobKind
one of "cast", "takes", "build", "yoto", "directions", "words", "hear-cleaned", "export".
JobState
one of "waiting", "running", "done", "failed", "stopped".
MadeAs
one of "whole", "update", "first", "more", "rest", "chapter".
Outcome
one of "succeeded", "failed", "stopped".
Job
A job as the API shows it.
| Property | Type | Required | About |
|---|---|---|---|
id | JobId | yes | |
project | string | yes | |
kind | JobKind | yes | |
state | JobState | yes | |
outcome | Outcome or null | yes | |
title | string | yes | |
asked_at | string | yes | |
started_at | string or null | yes | |
ended_at | string or null | yes | |
why | string or null | yes | |
last_line | string or null | no | |
build | ApiBuild or null | yes | |
export | ApiExport or null | no | |
progress | ApiProgress or null | yes | |
log | string or null | yes | |
usage | ApiUsage | yes |
Project
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes | |
name | string | yes | |
revision | integer | yes |
Stopped
| Property | Type | Required | About |
|---|---|---|---|
id | JobId | yes | |
stopped | true | no |
Verified
What checking the project's ledger found (PL-L3).
| Property | Type | Required | About |
|---|---|---|---|
ok | boolean | yes | |
entries | integer | yes | |
bad | integer or null | yes | |
why | string or null | yes |
ApiUndo
The command that undoes one, sent as any other.
| Property | Type | Required | About |
|---|---|---|---|
command | string | yes | |
body | object | yes | |
gone | any | no | |
sentences | any | no |
Done
A command made.
| Property | Type | Required | About |
|---|---|---|---|
revision | integer | yes | |
subject | string or null | yes | |
undo | ApiUndo or null | no |
ApiCredits
A quote in credits: at most, and likely when that is known.
| Property | Type | Required | About |
|---|---|---|---|
most | integer | yes | |
likely | integer or null | yes |
ApiQuote
What a job would make, in the unit its cap counts, and cost, with nothing asked. A null says it can't be told honestly, and notes say why.
| Property | Type | Required | About |
|---|---|---|---|
kind | JobKind | yes | |
lead | string or null | yes | |
output | string or null | yes | |
most | integer or null | yes | |
likely | integer or null | yes | |
credits | ApiCredits or null | yes | |
provisional | boolean | yes | |
notes | list of string | yes | |
table | string | yes |
JobDryRun
A job asked for with ?dry_run=true: checked and refused as asking for it is, and quoted, with nothing asked.
Command
A command, for a program or an agent to find what it can ask.
| Property | Type | Required | About |
|---|---|---|---|
name | string | yes | |
summary | string | yes | |
cost | string | yes | |
starts | JobKind or null | yes | |
role | string | yes | |
revision | boolean | yes | |
body | object | yes |
NewCharacter
Add a character named name to the cast, with how it should sound, which its voice is designed from.
| Property | Type | Required | About |
|---|---|---|---|
name | string | yes | |
voiceDescription | string | no |
RenameCharacter
Give a character a new name.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes | |
name | string | yes |
DescribeCharacter
Say who a character is, for the cast and the voice it is given.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes | |
description | string | yes |
SetVoiceDescription
Say how a character should sound, for designing its voice.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes | |
voiceDescription | string | yes |
SetGroupMembers
Make a character a group said by these characters at once, adding any new ones named; no members makes it one character again.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes | |
members | list of string | yes | |
newMembers | list of string | no |
SetNarratorReads
For a group: whether the narrator reads its lines instead.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes | |
narratorReads | boolean | yes |
SetGroupSpread
For a group: how loosely its members keep together.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes | |
spread | one of "tight", "natural", "loose" | yes |
SetGroupSync
For a group: whether its members keep in step word by word or over the whole line.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes | |
sync | one of "words", "line" | yes |
SetGroupLead
For a group: the member the others follow.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes | |
lead | string | yes |
MemberMixChange
When a member other than the lead starts and how loud it is, each None to draw it from the line within the group's spread.
| Property | Type | Required | About |
|---|---|---|---|
member | string | yes | |
delayMs | integer or null | no | |
volume | integer or null | no |
SetMemberMix
For a group: when one member starts and how loud it is.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes | |
memberMix | MemberMixChange | yes |
RemoveCharacter
Remove the character id from the cast; the narrator reads its lines. A member of a group can't be removed.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes |
CharacterMerge
Give one character's lines to another and remove it.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes | |
into | string | yes |
VoicePick
Use one of a character's voice takes, or with take None, the voice designed from its description again.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes | |
take | string or null | no |
DiscardTakes
Delete some of a character's voice takes, none of them in use.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes | |
takes | list of string | yes |
VoiceRecording
A recording of a character's voice, to make a voice take from.
| Property | Type | Required | About |
|---|---|---|---|
words | string | yes | |
data | string (binary) | yes | |
id | string | yes |
PreviewGroup
Ask for a take of each of the group id's first lines, read by its members at once, to hear it; a line with takes waiting is left as it is.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes |
CastReviewed
The creator has looked at the drafted cast and marks it right.
object.
SetSpeaker
Who says a line; null gives it to the narrator.
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes | |
speaker | string or null | yes |
SetSay
What the voice says for a line, in place of the book's words; null says the book's words again.
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes | |
say | string or null | yes |
SetHow
How a line is said, in words ("whisper it, scared"); null takes that away.
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes | |
how | string or null | yes |
SetSound
A sound that plays in place of a line's words; null takes it away.
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes | |
sound | string or null | yes |
PickTake
The take a line plays; null goes back to the take the build reads.
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes | |
take | string or null | yes |
LineMark
Mark a line to come back to, or take the mark away.
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes | |
marked | boolean | yes |
TrimAsk
Cut start_ms from the start and end_ms from the end of the clip a line plays, or with both 0, take its trim away (trimming clips, TM2).
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes | |
start_ms | integer | yes | |
end_ms | integer | yes |
EnvelopeAsk
Make the clip a line plays as loud over its length as points say, (ms into the clip, dB) in order, or with none, take its envelope away (volume-envelope.md, VE2).
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes | |
points | list of list of number | yes |
PauseAsk
Make the silence after a line's words ms long, in place of the build's own gap there, or with None, the build's own again (pauses.md, PA1).
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes | |
ms | integer or null | yes |
CutAsk
Cut the clip a line plays in two (cutting-clips.md, CT2): its audio at ms into the clip, its words before the word starting at at (a code point of its sentence) and from it on.
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes | |
ms | integer | yes | |
at | integer | yes |
BorrowAsk
Borrow another line's reading of the same words for the line key (borrowed-takes.md, BT4): source as lines/{key}/borrow-sources named it.
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes | |
source | string | yes |
LineRecording
One line read aloud on the Timeline, cut and made mono in the page, its WAV sent as base64, to keep as a take of the line (recording-voices.md, RV5, RV6).
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes | |
data | string (binary) | yes |
HowRecording
A line read aloud in the Fix sheet to show how it goes, made mono in the page, its WAV sent as base64 (delivery-from-recording.md, DR1, DR2).
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes | |
data | string (binary) | yes |
HowReadingRef
The creator's reading of a line, to forget.
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes |
DiscardLineTakes
Delete some takes of lines, none of them in use.
| Property | Type | Required | About |
|---|---|---|---|
takes | list of string | yes |
JoinAsk
Read a sentence in one go with the one before it (True), apart from it (False), or as the build decides (None).
| Property | Type | Required | About |
|---|---|---|---|
segment | string | yes | |
together | boolean or null | yes | |
takes | map of string | no |
SpokenAsk
Read a sentence aloud (True), or show it and don't read it (False).
| Property | Type | Required | About |
|---|---|---|---|
segment | string | yes | |
spoken | boolean | yes |
GiveWords
Give some words of a sentence to the narrator (narrator) or a character (SF14, splitting lines SL1): a stretch of one segment, in code points, as the Fix sheet picks it or the Lines screen splits a line there.
| Property | Type | Required | About |
|---|---|---|---|
segment | string | yes | |
start | integer | yes | |
end | integer | yes | |
speaker | string | yes |
Envelope
How loud the clip a line plays is over its length, drawn on its waveform on the Timeline (volume-envelope.md, VE2): points of (ms into the clip, dB), the volume going straight from one to the next in dB, and held before the first and after the last. Like a trim, it applies only while the line plays the clip it was drawn on, and the clip itself is never changed.
| Property | Type | Required | About |
|---|---|---|---|
clip | string | yes | |
points | list of list | yes |
SavedLine
A line of the cast file as it was before a split, to put back, with its id (readings.md, RD8).
| Property | Type | Required | About |
|---|---|---|---|
id | string or null | no | |
start | integer | yes | |
end | integer | yes | |
speaker | string or null | yes | |
by_model | boolean | no | |
say | string or null | no | |
how | string or null | no | |
how_by | one of "model", "creator" or null | no | |
sound | string or null | no | |
take | string or null | no | |
trim | Trim or null | no | |
envelope | Envelope or null | no | |
pause_ms | integer or null | no |
Trim
What is cut from the start and the end of the clip a line plays, its take or its sound, set on the Timeline (trimming clips, TM2). The clip itself is never changed, so a trim can be changed or taken away; it applies only while the line plays the clip it was set on.
| Property | Type | Required | About |
|---|---|---|---|
clip | string | yes | |
start_ms | integer | yes | |
end_ms | integer | yes |
RestoreLines
Put a sentence's lines back as they were, with the takes of other lines a split set aside picked again: the Undo of a split or of putting lines together. Its clips' volumes and clean-ups, when given, are put back as they were too (readings.md, RD9).
| Property | Type | Required | About |
|---|---|---|---|
segment | string | yes | |
lines | list of SavedLine | yes | |
takes | map of string | no | |
volume | object or null | no | |
cleanup | object or null | no | |
models | object or null | no |
WordsAsSound
Play a sound in place of some words of the book: a stretch of one segment, in code points.
| Property | Type | Required | About |
|---|---|---|---|
segment | string | yes | |
start | integer | yes | |
end | integer | yes | |
sound | string | yes |
SetClipCleanup
Clean one clip of noise its own way, or as the whole book does (null).
| Property | Type | Required | About |
|---|---|---|---|
clip | string | yes | |
settings | CleanupSettings or null | yes |
SetBookCleanup
How every clip of the book is cleaned of noise, unless it has its own way.
| Property | Type | Required | About |
|---|---|---|---|
settings | CleanupSettings or null | yes |
VolumeAsk
Make a clip louder or quieter, in dB; 0 leaves it as read (clip-volume.md, VL4). The studio makes every other piece of the reading in one go it is a piece of as loud (readings.md, RD4).
| Property | Type | Required | About |
|---|---|---|---|
clip | string | yes | |
gainDb | integer | yes |
SetBookCleanupModel
The model every voice of the book is cleaned with, unless a voice, a take or a clip has its own (cleanup-models.md, CM15).
| Property | Type | Required | About |
|---|---|---|---|
model | ModelName | yes |
SetVoiceCleanupModel
The model a character's voice, or the narrator's (narrator), is cleaned with, or as the whole book (null).
| Property | Type | Required | About |
|---|---|---|---|
voice | string | yes | |
model | ModelName or null | yes |
SetTakeCleanupModel
The model a take is cleaned with, or as its voice (null).
| Property | Type | Required | About |
|---|---|---|---|
take | string | yes | |
model | ModelName or null | yes |
SetClipCleanupModel
The model one clip is cleaned with, or as its take or voice (null).
| Property | Type | Required | About |
|---|---|---|---|
clip | string | yes | |
model | ModelName or null | yes |
RestoreCleanupModels
Put clean-up models back as they were: the whole book's, when given, and each voice's, take's and clip's named, null for none of its own. The Undo of setting one.
QueueLineTakes
Ask for takes of a line, made by the next takes job.
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes | |
count | integer | no |
QueueVoiceTakes
Ask for voice takes of a character, to pick its voice from.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes | |
count | integer | no |
SentenceTakesAsk
Takes of one run of a sentence, made now or right after the running job, from the reader's Fix sheet (sentence fixes, SF4).
| Property | Type | Required | About |
|---|---|---|---|
key | string | yes | |
count | integer | no |
EveryoneAsk
Voice takes for every character with no voice picked and none to hear.
| Property | Type | Required | About |
|---|---|---|---|
count | integer | no |
QueuedRef
Take back the request id for takes, asked for and not made yet.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes |
Respell
Say word as respelling from now on.
| Property | Type | Required | About |
|---|---|---|---|
word | string | yes | |
respelling | string | yes |
Unrespell
Take the respelling of word away, so it is said as written; a suggested one is never suggested again.
| Property | Type | Required | About |
|---|---|---|---|
word | string | yes |
KeepRespelling
Keep the respelling suggested for word as the creator's own.
| Property | Type | Required | About |
|---|---|---|---|
word | string | yes |
WordTakesAsk
Takes of word said as respelling, to hear before it is saved.
| Property | Type | Required | About |
|---|---|---|---|
word | string | yes | |
respelling | string | yes | |
count | integer | no |
NewSound
A recorded sound with its rights, its WAV sent as base64: the file the creator picked, in whatever format, converted in the page, with that file's name and SHA-256.
| Property | Type | Required | About |
|---|---|---|---|
title | string | yes | |
source | string | yes | |
license | string | yes | |
author | string | no | |
originalName | string | no | |
originalSha256 | string | no | |
data | string (binary) | yes |
SoundRef
A sound in the studio's list, by its name relative to the cast file.
| Property | Type | Required | About |
|---|---|---|---|
name | string | yes |
AddBackground
Add a background under some sentences.
| Property | Type | Required | About |
|---|---|---|---|
sound | string | yes | |
first | string | yes | |
last | string | yes | |
level | one of "quiet", "soft", "medium" | no | |
loop | boolean | no | |
gainDb | integer | no | |
fadeInMs | integer | no | |
fadeOutMs | integer | no | |
rise | boolean | no | |
leadMs | integer | no | |
holdMs | integer | no |
SetBackground
Set everything about a background that is there already.
| Property | Type | Required | About |
|---|---|---|---|
sound | string | yes | |
first | string | yes | |
last | string | yes | |
level | one of "quiet", "soft", "medium" | no | |
loop | boolean | no | |
gainDb | integer | no | |
fadeInMs | integer | no | |
fadeOutMs | integer | no | |
rise | boolean | no | |
leadMs | integer | no | |
holdMs | integer | no | |
id | string | yes |
BackgroundRef
Remove the background id from under its sentences.
| Property | Type | Required | About |
|---|---|---|---|
id | string | yes |
SetEngine
The voice engine the book is read with.
| Property | Type | Required | About |
|---|---|---|---|
engine | string | yes |
SetNarratorName
The engine's voice the narrator reads with, by its name.
| Property | Type | Required | About |
|---|---|---|---|
narratorName | string | yes |
SetNarratorDescription
How the narrator should sound, for designing its voice.
| Property | Type | Required | About |
|---|---|---|---|
narratorDescription | string | yes |
UseDesignedNarrator
Go back to a narrator voice designed from its description, from a recording.
object.
NarratorClip
A recording of the narrator's voice to clone.
| Property | Type | Required | About |
|---|---|---|---|
words | string | yes | |
data | string (binary) | yes |
SetSeed
The seed readings are made with, so a build can be made again the same.
| Property | Type | Required | About |
|---|---|---|---|
seed | integer | yes |
SetBreezeLoop
Which of Breeze's loops reads: its own, or the faster one.
| Property | Type | Required | About |
|---|---|---|---|
breezeLoop | one of "stock", "fast" | yes |
SetBatch
How many lines the voice reads at once.
| Property | Type | Required | About |
|---|---|---|---|
batch | integer | yes |
SetCheckVoices
Whether each reading is heard back to check its words.
| Property | Type | Required | About |
|---|---|---|---|
checkVoices | boolean | yes |
SetAttempts
How many readings of a line are tried before one is kept.
| Property | Type | Required | About |
|---|---|---|---|
attempts | integer | yes |
GoBack
Make the version a change left the project's again, as a new change (history.md, HS6): the change by its number in the history. With sentence, only that sentence and those it is read in one go with.
| Property | Type | Required | About |
|---|---|---|---|
to | integer | yes | |
sentence | string or null | no |
ShowBuild
Show the build name in the reader, in place of the one shown.
| Property | Type | Required | About |
|---|---|---|---|
name | string | yes |
DeleteBuild
Delete the build name and its files for good; the one the studio shows can't be.
| Property | Type | Required | About |
|---|---|---|---|
name | string | yes |
ExportChapters
Whole parts of one of the studio's builds, as its package has them, by their place in its reading order, from 1.
| Property | Type | Required | About |
|---|---|---|---|
what | "chapters" | yes | |
build | string | yes | |
chapters | list of integer | yes |
ExportLines
The take each of these lines plays now, in the order given.
| Property | Type | Required | About |
|---|---|---|---|
what | "lines" | yes | |
keys | list of string | yes |
ExportVoice
The lines a character's voice take in use was made reading.
| Property | Type | Required | About |
|---|---|---|---|
what | "voice" | yes | |
character | string | yes |
ExportSamples
Export samples to download: takes of lines, a character's voice samples, or chapters of a build, as audio files with a manifest (export.json, with a credit line), zipped. Audio already made is copied as it is; nothing is rendered, so a line with no take is refused (ask for takes first). A paid use, quoted exactly in audio delivered and accepted first. commercial refuses any sample a paid product may not hold: a voice whose license does not allow it (Breeze's free weights, a model nobody has read), a clean-up model that does not (Sidon), or a person's voice (their consent is not built yet). The export is named by the job; a person downloads it from media/exports/{name}, which agents are never offered.
| Property | Type | Required | About |
|---|---|---|---|
samples | ExportLines or ExportVoice or ExportChapters | yes | |
format | one of "wav", "m4a" | no | |
use | one of "personal", "commercial" | no |
Problem
RFC 9457: act on type and next; detail is for a person
| Property | Type | Required | About |
|---|---|---|---|
type | one of "https://ai1y.co/problems/not-found", "https://ai1y.co/problems/invalid-body", "https://ai1y.co/problems/cannot-run", "https://ai1y.co/problems/idempotency-key-reused", "https://ai1y.co/problems/revision-required", "https://ai1y.co/problems/stale-revision", "https://ai1y.co/problems/job-ended", "https://ai1y.co/problems/command-in-flight", "https://ai1y.co/problems/accept-required", "https://ai1y.co/problems/forbidden", "https://ai1y.co/problems/too-large", "https://ai1y.co/problems/failed" | yes | |
title | string | yes | |
status | integer | yes | |
detail | string | yes | |
next | string | yes | What to do next: one fixed sentence for each type |
kind | one of "transient", "refused", "fatal", "invariant" | yes | Who acts: transient (try again after Retry-After), refused (change something first), fatal (this can't go on), invariant (a bug: tell the person) |
retryable | boolean | yes | Whether sending it again, after Retry-After, may succeed |
code | string | no | Only when an error of ai1y's named it: its stable code |
said | string | no | The refusal in the person's own words, for their page: it may hold the book's text or a file's name |
revision | integer | no | Only in stale-revision: the project's revision now |
subject | string or null | no | Only in stale-revision: what was changed, to read again |
quote | object or null | no | Only in accept-required: what the run would make and cost (a Quote), to show the person before they accept |