With Speechnotes' API you can achieve mainly 2 tasks:
With Speechnotes' API many people achieve the following:
Purchasing pre-paid minutes packages, generating your API credentials and related settings are all done through the regular dashboard once signed in to https://speechnotes.co/files/
Interested in learning more on the API & automatic transcription workflows? Keep reading.
The following video shows how to set up a complete system that records and transcribes phone calls. Start to finish setup in just 5 minutes.
Using Speechnotes, JustCall, & Zapier.
Get started by opening your account on Speechnotes Files Transcription Service.
Purchase credits if necessary. No subscription, simple pay as you go. You decide when and how much transcription minutes to buy.
Then - tap on the 'API & WEBHOOKS' button, to get everything you need for starting your 100% hands free automatic workflows.
Use Speechnotes' Transcription Webhooks when you want to automatically handle transcription results, by your own server, CMS, or web automation tools such as Zapier, Make, and more.
For instance, you may want to automatically save transcriptions in your Google Drive. Or, perhaps add this as a record in your CMS / CRM database, etc.
Use the transcription API when you want to delegate the process of sending files for transcription to your bots instead of manually doing it yourself. For instance - you can write a script that uploads all files in a specific folder on your computer. Or, you can automate transcriptions of any voice mail message you receive. Automatically transcribe any phone conversation recorded, etc.
There are many use cases. API & Webhooks are simply the tools - so you can build whatever automation you want around it. Here are some main use cases:
Invite link to Speechnotes' on Zapier:
Zapier integrations offer easy drop-in - no coding required - infinite possibilities for automations.
Invite link to Speechnotes' on Zapier:
- Speechnotes' Zapier integration →
Whether it is to automatically transcribe recordings, or to automatically store all Speechnotes transcripts on Google Drive, Dropbox, or in your CRM connected to client profiles. It's all possible. No code required (but yes technical understanding).
The following video shows how to set up a complete system that records and transcribes phone calls. Start to finish setup in just 5 minutes.
Using Speechnotes, JustCall, & Zapier.
Speechnotes will send transcription results to the url defined in your account.
Tip: In order to verify it was indeed sent by us - the message from Speechnotes will include the API SIGNATURE - so you can compare it to the signature you have. The signature is unique to your account - so no one else knows it.
Here's the definition of the POST that will be sent to your url:
POST
https://as.defined.by.you.in.your.account
success
value: true
orfalse
Tells you if something went wrongfullText
, value: The whole transcript
This is the whole point of this payloaderrorCode
, value: The stage that failed
errorMessage
, value: Human readable message
fileUrl
, value: https://some_url.com/file.mp3
The url of the submitted file. If it was uploaded from device - then it will be "device_uploaded"
jobId
, value: SOME_ID
The id of the job on Speechnotes' server, set for each job by SpeechnotesfileName
, value: file_name
The name of the file as received or derived from urlapiKey
, value: YOUR_API_KEY
unique per userapiSignature
, value: YOUR_API_SIGNATURE
Unique per user and secret, so you can verify this POST was indeed by Speechnotes' servers by comparing the received value to the API SIGNATURE as you can view in your dashboard.api_custom
, value: some-user-sent-string
Simply passing on the value that was sent when uploading the job via API. You can use this to pass more data on that job, such as recording id, client id, etc.remainingDollarBalance
, value: 4.3
Dollar balance remaining after the job. As all values this is also represented as a string
{
"api_custom":"callIdOnJustCall=jhgsd876dfkjhdoiu",
"jobId":"c8ZNJjiR7j5cCuzax2zT",
"fileName":"calljhgsd8.mp3",
"apiSignature":"diuyd987d",
"remainingDollarBalance":"49.3",
"wordsCount":"4",
"transcript":"Hi, how are you?",
"apiKey":"kjhsd987sdkjhsdkjhsdkjhdsk",
"success":"true",
"fileUrl":"https://example.com/calljhgsd8.mp3"
}
Here's the definition of the POST HTTP request:
POST
https://speechlogger.com/api/transcribe
Content-Type
, value: application/json
Origin
, value: https://speechnotes.co/files/
Or a different origin, as long as there's oneapiKey
, value: "YOUR_API_KEY"
Get it from https://speechnotes.co/files/ dashboard.apiSecret
, value: "YOUR_API_SECRET"
Get it from https://speechnotes.co/files/ dashboard.type
, value: "upload"
Has to be exactly "upload". Do not change, do not capitalize, etc.fileUrl
, value: "https://link.to.the.file.mp3"
URL linking to the online file. Has to be open to public access. Can be a publicly shared file on Dropbox, Drive or anywhere else. Can also be a link to a YouTube video.fileName
, value: "YOUR_FILE_NAME"
language
, value: "en-US"
Change with the actual language of the recording. Format is BCP-47.numSpeakers
, value: "1"
How many speakers are in the recording? For speaker diarization. Has to be an integer number, sent as a string - for instance - "1", "2", etc.api_custom
, value: "CUSTOM_META_DATA_TO_BE_FORWARDED_TO_THE_WEBHOOK"
This field will be forwarded as is to the webhook once the results are ready, so you can use it to pass on custom data to the webhook.fromSeconds
, value: "0"
You can use this field to transcribe only a part of the recording, starting from "fromSeconds" in seconds - and until "toSeconds" if exists or to the end. Has to be an integer number (representing time counted in seconds) passed as a string, eg "0", "10", etc. Leave empty if to start from the beginning.toSeconds
, value: "125"
You can use this field to transcribe only a part of the recording, from "fromSeconds" (if exists) - and until "toSeconds" in seconds. Has to be an integer number (representing time counted in seconds) passed as a string, eg "120", "1650", etc. Leave empty if to transcribe till the end.
{
"apiKey": "CHANGE_WITH_YOUR_API_KEY",
"apiSecret": "CHANGE_WITH_YOUR_API_SECRET",
"type": "upload",
"fileUrl": "https://ttsreader.com/actors/1005/sample2.mp3",
"fileName": "File_d987cckjhd8_api",
"language":"en-US",
"api_custom": "CRM_clientId=kjhsd87ds987",
"numSpeakers": "2",
}
{
"apiKey": "CHANGE_WITH_YOUR_API_KEY",
"apiSecret": "CHANGE_WITH_YOUR_API_SECRET",
"type": "upload",
"fileUrl": "https://ttsreader.com/actors/1005/sample2.mp3",
"fileName": "File_d987cckjhd8_api",
"language":"en-US",
"api_custom": "CRM_clientId=kjhsd87ds987",
"numSpeakers": "1",
"fromSeconds": "60",
"toSeconds": "1520"
}
Here's an example of such a POST made to Speechnotes' API:
Bash code:
curl -H "Content-Type: application/json" -H "Origin: https://speechnotes.co/files/" --data @upload.txt https://speechlogger.com/api/transcribe
Where as the file 'upload.txt' is in the folder where the command is executed and contains the following text:
{
"apiKey": "CHANGE_WITH_YOUR_API_KEY",
"apiSecret": "CHANGE_WITH_YOUR_API_SECRET",
"type": "upload",
"fileUrl": "https://ttsreader.com/actors/1005/sample2.mp3",
"fileName": "File_d987cckjhd8_api",
"language":"en-US",
"api_custom": "CRM_clientId=kjhsd87ds987",
"numSpeakers": "1",
"fromSeconds": "60",
"toSeconds": "1520"
}
Get started on Speechnotes Files Transcription Service.
Shoot us an email to admin@speechlogger.com