apyhub
AUDIO PROCESSING

Convert Speech to Text API

Hosted on ApyHub

What it does

Speech to Text turns WAV audio into plain text. Send either a WAV file or a public WAV URL, along with an Azure locale such as en-US, and get the transcription back in the data field.

Use /file when you already have the audio in your app, or /url when the WAV is hosted elsewhere. The request bodies are small and explicit: file or url, plus language. The response is equally simple, which makes it easy to drop into ingestion pipelines, call-center tooling, note-taking apps, or any workflow that needs audio converted to text.

This service is focused on transcription only. It does not return speaker labels, timestamps, or confidence scores in the schemas provided, so plan around a single text output.

If you need to index meetings, archive voice messages, or make spoken content searchable, Speech to Text gives you a direct path from WAV audio to text without extra parsing steps.

▣ ENDPOINT 01 / 02
POST
Transcribe WAV file to text
http://localhost:8080/apyhub/transcribe-speech-to-text/file
QUICKSTARTGUIDE

Quickstart

Upload a WAV file and the locale to transcribe speech to text.

curl -X POST "http://localhost:8080/apyhub/transcribe-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, welcome to the meeting."
}
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

Uploads a WAV audio file and a language locale, then returns the transcription 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 transcribed text. The success response is a JSON object with one top-level field: data (string).

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.

▣ ENDPOINT 02 / 02
POST
Transcribe WAV from URL to text
http://localhost:8080/apyhub/transcribe-speech-to-text/url
QUICKSTARTGUIDE

Quickstart

Send the audio file URL and its language code to transcribe speech to text.

curl -X POST "http://localhost:8080/apyhub/transcribe-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 into text. Send the source file URL and language, and the response returns the transcription as a string.

Request Body

ParameterTypeMandatoryDescription
urlStringYesThe WAV file URL to transcribe. Must be a valid URI.
languageStringYesThe language code for transcription, such as en-US.

Response

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

Body

Name
Type
Description
bodyREQUIRED
object
▣ 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.