Text-to-Speech Jobs
List async operations
List the operations of your async synthesis jobs. The workspace is resolved from your API key, so no workspace id is needed. Use - as the job segment to list across every one of your async jobs — this is how you find jobs again after losing an operation name. Add filter=-done to see only running jobs. Results cover roughly the last 7 days (operations expire with their results), their order is unspecified, and a page can be short or empty while more results remain — keep paginating until the response has no nextPageToken. The fully qualified form, /lro/v1alpha/workspaces/{workspace}/ttsAsyncJobs/{job}/operations, remains valid.
/lro/v1alpha/ttsAsyncJobs/{job}/operationsAuthorizationstringrequired
Your authentication credentials. For Basic authentication, please populate Basic $INWORLD_API_KEY. You can create a key in one command with the Inworld CLI: inworld workspace add-key.
jobstringrequired
A specific async job id to list that job's operations, or - to list operations across every one of your async jobs.
filterenum<string>
Optional. -done (or NOT done, or done=false) returns only running jobs; done (or done=true) only finished ones. Omit for all. Any other filter is rejected with INVALID_ARGUMENT.
Available options:done-doneNOT donedone=truedone=false
pageSizeintegerdefault: 50
Upper bound on operations scanned per page, before expired or filtered-out entries are removed — so a returned page can be smaller. Defaults to 50, capped at 1000.
pageTokenstring
Opaque cursor from a previous response's nextPageToken. Treat it as a black box.
operationsobject[]
Operations on this page. May be absent when the page is empty — an empty page does not mean the listing is finished.
Show child attributes
namestring
Server-assigned operation resource name, in the format workspaces/{workspace}/ttsAsyncJobs/{job}/operations/{operation}. Pass it verbatim as the path of the Get operation endpoint to poll for completion.
metadataobject
Always null. An async job is a single unit of work and carries no progress metadata: done already says everything there is to know.
doneboolean
If false, the job is still running. If true, the job has finished and exactly one of error or response is set.
errorobject
Show child attributes
codeinteger
The error code, as specified by gRPC status codes.
messagestring
A short description of the error.
detailsobject[]
Show child attributes
@typestring
responseobject
Set when the job succeeded: a SynthesizeSpeechAsyncResponse saying where the results are.
Show child attributes
@typestring
Type of the serialized message, always type.googleapis.com/ai.inworld.tts.v1.SynthesizeSpeechAsyncResponse.
audioUristring
Pre-signed download URL for the synthesized audio, in the format requested via audioConfig.audioEncoding. Set when the results are packaged as FILES, the default for results Inworld hosts.
timestampsUristring
Pre-signed download URL for the timestamp alignment JSON. Only present when timestampType was set in the request and the results are packaged as FILES. The file is a JSON array of timestamp objects on one timeline from the start of the audio; see Reading the timestamps document.
resultsUristring
The zip archive holding the results, when they are packaged as ZIP. For results delivered to your storage, your outputConfig.resultsUri without its signature; for an archive Inworld hosts, a pre-signed download URL that expires at expireTime.
resultsPathstring
Path of the results document inside the archive at resultsUri. Read the name from here rather than assuming it.
expireTimestring
Time at which the download URLs expire, approximately 7 days after job completion. Absent when the results were delivered to outputConfig.resultsUri, where nothing is left with Inworld to expire.
nextPageTokenstring
Cursor for the next page. Absent when there are no further results — paginate until this field is missing, not until a page comes back short or empty.