transcrevo docs
Api

Upload a file

Send the audio file as the raw request body and use the returned `id` as `uploadId` when creating the transcript. No `Content-Type` is required. One request carries a file of up to 100 MB, which covers most audio; the edge rejects a bigger request before it reaches the API. Send no body to get an empty upload instead, and fill it with `PUT /v1/uploads/{id}`, 16 MiB at a time, up to 2 GiB: that is the path for a file above 100 MB, and for a long file over a link that may drop.

POST
/v1/uploads

Send the audio file as the raw request body and use the returned id as uploadId when creating the transcript. No Content-Type is required. One request carries a file of up to 100 MB, which covers most audio; the edge rejects a bigger request before it reaches the API.

Send no body to get an empty upload instead, and fill it with PUT /v1/uploads/{id}, 16 MiB at a time, up to 2 GiB: that is the path for a file above 100 MB, and for a long file over a link that may drop.

Authorization

bearerAuth
AuthorizationBearer <token>

API key (tk_...)

In: header

Query Parameters

expectedBytes?string

Size of the file in bytes. Declare it and a truncated upload becomes an explicit error instead of a transcript of whatever arrived

sha256?string

SHA-256 of the file, in lowercase hex. Checked against the stored audio before it reaches the GPU, and required by reuseIfIdentical

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/uploads"
{  "data": {    "id": "string",    "receivedBytes": 0,    "expectedBytes": 0,    "sha256": "string",    "createdAt": "string"  }}