API Reference
API Reference / Endpoints / Speech

Speech to text

/v1/speech/speech-to-text

Transcribe uploaded audio. Returns 200 for short jobs or 202 for longer work.

POST/v1/speech/speech-to-text
Auth: API keyBilling: Billable when generation startsBehavior: Sync or asyncScopes: audio:generate
POSTSync or asyncmultipartaudio:generate

When to use it

Use this for transcription when you have an audio file and want the platform to choose sync or async behavior based on duration.

Behavior on success

May return immediately for shorter work or 202 Accepted for longer jobs.

Integration shape

Authorization model
audio:generate
Request format
multipart
Polling pattern
Poll status if the route returns processing.

Request

FieldTypeRequiredDescription
filefileYesAudio file to transcribe.

Example request

POST /v1/speech/speech-to-text
const form = new FormData();
form.append('file', fileInput.files[0]);
form.append('model_id', 'scribe');

const response = await fetch('https://prod-backup-backend.wubble.ai/v1/speech/speech-to-text', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.WUBBLE_API_KEY}`,
  },
  body: form,
});

const payload = await response.json();
console.log(payload);

Example response

Response shapejson
{
  "success": true,
  "data": {
    "transcript": "Hello world",
    "request_id": "<uuid>"
  }
}

Implementation notes

Longer files may return 202 and require polling.

Production guidance

Pair this route with idempotency on POST requests and either request polling or webhooks whenever the response is asynchronous.
Was this page helpful?