apyhub
ARTIFICIAL INTELLIGENCE · AUDIO PROCESSING

AI Video Transcriber API

Hosted on ApyHub

What it does

Speech Transcription converts audio or video into text through Azure or Google transcription backends. Send a file upload or a media URL, choose the requested service, and include the provider-specific settings needed for that route.

With the file endpoint, you upload a binary file and set requested_service to azure or google. Azure routes can include azure_region, azure_account_id, and azure_access_token. Google routes can include google_language and a google_credential_file. With the URL endpoint, you send a media url and can pass Azure settings under azure or Google settings under google, including google_credential_json for Google video routes.

The response returns a data object with an azure or google object depending on the requested_service you chose. That makes Speech Transcription useful when you need to extract spoken content from customer calls, meeting recordings, interviews, or uploaded media and hand the result to downstream search, analytics, or review workflows.

Use it when your application needs to accept user media, route transcription to a specific cloud provider, and keep the response shape aligned with the provider you selected.

Provider (requested_service)Atoms
Azure500
Google500
▣ ENDPOINT 01 / 02
POST
Speech Transcription via file upload
http://localhost:8080/apyhub/speech-transcription/file
QUICKSTARTGUIDE

Quickstart

Transcribe a local audio file by sending it with the required service selection.

curl -X POST "http://localhost:8080/apyhub/speech-transcription/file" \
  -H "apy-token: $APY_TOKEN" \
  -F 'file=@"sample.mp4"' \
  -F 'requested_service="azure"' \
  -F 'azure_access_token="your-azure_access_token"' \
  -F 'azure_account_id="your-azure_account_id"' \
  -F 'azure_region="your-azure_region"'

What you'll get back

Returns a JSON object with a data object field. Inside data, the API may include an azure object when requested_service is azure, or a google object when requested_service is google.

{
  "data": {
    "azure": {}
  }
}
TRY ITLIVE · 500 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*
Service account JSON (Google routes).

About this endpoint

What it does

Uploads an audio file and returns transcription output for the requested speech service. The request body selects either Azure or Google processing via requested_service, and the response returns a JSON object containing a data object with the service-specific result.

Request Body

ParameterTypeMandatoryDescription
fileBinaryYesAudio file to transcribe. Binary upload.
azure_regionStringNoAzure region.
google_languageStringNoGoogle language code. Example: en-US.
azure_account_idStringNoAzure account identifier.
requested_serviceENUMYesWhich transcription service to use. Allowed values: azure, google.
azure_access_tokenStringNoAzure access token.
google_credential_fileStringNoGoogle service account JSON file. Binary upload.

Response

Returns a JSON object with a required data object field. The data object may contain an azure object when requested_service is azure, or a google object when requested_service is google; the service-specific object can include additional properties.

ParameterTypeMandatoryDescription
dataObjectYesTranscription result wrapper. May include azure when requested_service is azure, or google when requested_service is google. Each service object allows additional properties.

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
Speech Transcription via URL
http://localhost:8080/apyhub/speech-transcription/url
QUICKSTARTGUIDE

Quickstart

Transcribe audio from a URL by sending the file link and choosing the transcription provider.

curl -X POST "http://localhost:8080/apyhub/speech-transcription/url" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://assets.apyhub.com/samples/sample.mp4",
    "requested_service": "azure",
    "azure": {
        "access_token": "your-access_token",
        "account_id": "your-account_id",
        "region": "your-region"
    }
  }'

What you'll get back

Returns a JSON object with a top-level data field. data is an object that may include an azure object when requested_service is azure, or a google object when requested_service is google.

{
  "data": {
    "azure": {}
  }
}
TRY ITLIVE · 500 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*
azure
google
google_credential_json
Google Cloud service account JSON (required for Google video routes).

About this endpoint

What it does

Submits a media file URL for speech transcription and routes the request to either Azure or Google based on requested_service. The response returns a JSON object with a data object containing the provider-specific transcription result.

Request Body

ParameterTypeMandatoryDescription
urlStringYesMedia file URL to transcribe. Must be a URI.
azureObjectNoAzure-specific settings. Include this object when requested_service is azure.
azure.regionStringNoAzure region.
azure.account_idStringNoAzure account identifier.
azure.access_tokenStringNoAzure access token.
googleObjectNoGoogle-specific settings. Include this object when requested_service is google.
google.google_languageStringNoGoogle language code.
google.google_credential_jsonObjectNoGoogle Cloud service account JSON. Required for Google video routes. See schema for nested fields.
requested_serviceENUMYesTarget transcription provider. Allowed values: azure, google.

Response

Returns a JSON object with a data object field. The data object may contain an azure object when requested_service is azure, or a google object when requested_service is google.

ParameterTypeMandatoryDescription
dataObjectYesContainer for the provider-specific result.
data.azureObjectNoPresent when requested_service is azure. Additional properties are allowed.
data.googleObjectNoPresent when requested_service is google. Additional properties are allowed.

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.