The File Upload Sync API allows you to upload audio files for transcription and wait to get the transcript as a response.
This endpoint only supports files durations less than or equal to 60 seconds

Endpoint

POST https://infer.voice.intron.io/file/v1/upload/sync

Authentication

All requests require a Bearer token in the Authorization header:
Authorization: Bearer YOUR_API_KEY

Basic request and response sample

Requests

curl --location 'https://infer.voice.intron.io/file/v1/upload/sync' \
--header 'Authorization: Bearer api-key' \
--form 'audio_file_name="myfile"' \
--form 'audio_file_blob=@"/C:/Users/aaaa/file.wav"'

Response

The request can timeout with an http status 408 and the file-id in 60 seconds, the file-id in the response can be used to get the file’s status with the Get File Status endpoint
{
    "data": {
        "file_id": "12a9760f-b165-4404-91d0-a65d4cdt78fs",
        "processing_status": "FILE_TRANSCRIBED",
        "audio_file_name": "myfile",
        "audio_transcript": "hello world",
        "processed_audio_duration_in_seconds": 20
    },
    "message": "file status found",
    "status": "Ok"
}

Supported File Formats

FormatExtensions
WAV.wav
MP3.mp3
MP4.mp4
M4A.m4a
OGG.ogg
WebM.webm
FLAC.flac

Headers

HeaderValueRequired
AuthorizationBearer YOUR_API_KEYYes
Content-Typemultipart/form-dataYes

Request Body form-data

FieldTypeDescriptionRequiredOptionsDefault
audio_file_nameStringnon-unique file nameyes
audio_file_blobStringurl to a readable fileyes
Post processing options
use_diarizationStringget the transcript text as a diarized responsenoTRUE | FALSE
use_template_idStringuse a custom prompt id for the transcript post-processingno
use_categoryStringset the category of post-processing to use on the filenofile_category_telehealth
use_language_asr_inputStringset the input language codenoen

Supported Languages

Supported Languages

Comprehensive list of languages supported

Post processing options for the file categories

  • file_category_general
  • file_category_telehealth
  • file_category_procedure
  • file_category_call_center
  • file_category_legal
  • file_category_meeting_notes
The post processing options only apply to English transcriptions
FieldTypeDescriptionRequiredOptionsDefault
get_summaryStringget a summary of the transcriptnoTRUE | FALSEFALSE
Sample request using this option
curl --location 'https://infer.voice.intron.io/file/v1/upload/sync' \
  --header 'Authorization: Bearer api-key' \
  --form 'audio_file_name="my_file_2"' \
  --form 'audio_file_blob=@"/C:/Users/aaaa/file.wav"' \
  --form 'use_category="file_category_general"' \
  --form 'get_summary="TRUE"'

Request and response with custom template id

curl --location 'https://infer.voice.intron.io/file/v1/upload/sync' \
  --header 'Authorization: Bearer api-key' \
  --form 'audio_file_name="my_file_2"' \
  --form 'use_template_id="a3f32e46-afa4-42cb-9155-522dcf9xyxyxd"' \
  --form 'audio_file_blob=@"/C:/Users/aaaa/file.wav"'

Rate Limits

60 requests per minute

Next Steps

After uploading a file, use the Get File Status endpoint to check the transcription progress and retrieve results.
For real-time transcription, consider using the Widget Integration instead.