apyhub
ARTIFICIAL INTELLIGENCE · AUDIO PROCESSING

Convert Speech to Text API

What it does

Speech to Text transcribes WAV audio into plain text. Send either a public WAV URL or a binary WAV file, along with the language locale, and get the transcript back in the data field.

Use the /url endpoint when your audio is already hosted, or /file when you’re uploading audio directly from your app. Both endpoints accept a language value such as en-US, which helps the transcription match the spoken language more accurately.

The response is intentionally simple: a single text string containing the transcription. That makes it easy to store, search, display, or pass into downstream workflows like call-note generation, subtitle creation, meeting indexing, or voice-command processing.

If you need a lightweight way to turn WAV speech into text without managing your own speech model pipeline, Speech to Text gives you a direct request-and-response interface.

▣ ENDPOINT 01 / 02
POST
Transcribe WAV from URL to text
https://api.eu.apyverse.com/apyhub/speech-to-text/url

QUICKSTART

GUIDE

Quickstart

Convert an audio file from a URL to text with the required language code.

curl -X POST "https://api.eu.apyverse.com/apyhub/speech-to-text/url" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://assets.apyhub.com/samples/sample.wav","language":"en-US"}'

What you'll get back

Returns a JSON object with a data string field containing the transcribed text.

{
  "data": "Hello, this is a sample transcription."
}
TRY ITLIVE · 750 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*

About this endpoint

What it does

Transcribes a WAV audio file from a URL and returns the transcription as text. The request body must include the audio file URL and the language code to use for transcription.

Request Body

ParameterTypeMandatoryDescription
urlStringYesURL of the WAV file to transcribe. Must be a URI.
languageStringYesLanguage code for transcription, such as en-US.

Response

Returns a JSON object with a data string field containing the transcription text.

ParameterTypeMandatoryDescription
dataStringYesThe transcription text returned by the service.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 02 / 02
POST
Transcribe WAV file to text
https://api.eu.apyverse.com/apyhub/speech-to-text/file

QUICKSTART

GUIDE

Quickstart

Upload a WAV file and set the Azure locale to transcribe it.

curl -X POST "https://api.eu.apyverse.com/apyhub/speech-to-text/file" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/audio.wav" \
  -F "language=en-US"

What you'll get back

Returns a JSON object with a data string field containing the transcription result.

{
  "data": "Hello, thank you for calling ApyHub."
}
TRY ITLIVE · 750 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
WAV audio file.
Azure locale (e.g. en-US).

About this endpoint

What it does

Transcribes a WAV audio file into text. You send the audio file and the Azure locale to use for recognition, and the response returns the transcript as a string.

Request Body

ParameterTypeMandatoryDescription
fileStringYesWAV audio file.
languageStringYesAzure locale (e.g. en-US).

Response

Returns a JSON object with a data string field containing the transcription result.

ParameterTypeMandatoryDescription
dataStringNoThe transcription text returned by the service.

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.