VoiceStudioDocs
Cloud reference

Audio

POST
/v1/audio/transcriptions

OpenAI-compatible transcription. The upload is bounded at 25 MiB and must be audio/wav, audio/mpeg, audio/flac, or audio/ogg. The request waits for a terminal Job and returns the transcript projected into the requested response_format; past the wait deadline it returns 202 with the job_id and the client continues through the standard Job and Artifact APIs. X-Job-Id is always set once admission succeeds. Failures use the OpenAI-compatible error envelope, not the platform ErrorEnvelope. prompt and temperature are accepted, bounded, and ignored, and stay out of the idempotency digest. project_id is optional only where server-side default Project resolution is wired and the principal's Membership is unambiguous; a caller in several Organizations must send it (project_ambiguous, project_required, default_project_not_found).

Authorization

DeveloperCredential
AuthorizationBearer <token>

In: header

Header Parameters

Idempotency-Key?string
Lengthlength <= 128

Request Body

multipart/form-data

file*file

audio/wav, audio/mpeg, audio/flac, or audio/ogg, at most 25 MiB.

Formatbinary
model*string
Length1 <= length <= 128
model_version?string
Lengthlength <= 128
language?string
Lengthlength <= 32
response_format?string
Default"json"

Value in

  • "json"
  • "text"
  • "verbose_json"
  • "srt"
  • "vtt"
mode?string

Selects the billing class the resolved model must match. A mismatch answers 404 model_not_found.

Default"accurate"

Value in

  • "fast"
  • "accurate"
timestamp_granularity?string
Default"segment"

Value in

  • "segment"
  • "word"
project_id?string

Extension field. Omitted, the façade resolves the principal's default Project where that is unambiguous.

Lengthlength <= 128
duration_seconds?integer

Optional extension. The server measures the media itself when omitted, and verifies any supplied value against the received bytes so a client cannot understate audio-seconds.

Range1 <= value <= 14400
prompt?string

Accepted, bounded, and ignored. Excluded from the idempotency digest.

temperature?number

Accepted, bounded, and ignored. Excluded from the idempotency digest.

Range0 <= value <= 1
stream?"false"

Streaming is not supported here; any other value answers 400 unsupported_parameter. Poll the returned job instead.

Value in

  • "false"

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

bash
curl -X POST "https://example.com/v1/audio/transcriptions" \
  -F file="string" \
  -F model="string"
json
{
  "text": "string",
  "task": "transcribe",
  "language": "string",
  "duration": 0,
  "segments": [
    {
      "id": 0,
      "start": 0,
      "end": 0,
      "text": "string"
    }
  ]
}