Create an upload link
curl --request POST \
--url https://app.bestvideotranscriptapi.com/v1/uploads \
--header 'x-api-key: <api-key>'const options = {method: 'POST', headers: {'x-api-key': '<api-key>'}};
fetch('https://app.bestvideotranscriptapi.com/v1/uploads', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.bestvideotranscriptapi.com/v1/uploads"
headers = {"x-api-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text){
"uploadUrl": "<string>",
"url": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"maxBytes": 2000000000
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "<string>",
"requestId": "<string>",
"availableLangs": [
"<string>"
],
"durationSeconds": 123,
"maxDurationSeconds": 123,
"sizeBytes": 123,
"maxSizeBytes": 123,
"aiMinutesNeeded": 123,
"aiMinutesRemaining": 123,
"refillsAt": "2023-11-07T05:31:56Z",
"billingUrl": "<string>"
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "<string>",
"requestId": "<string>",
"availableLangs": [
"<string>"
],
"durationSeconds": 123,
"maxDurationSeconds": 123,
"sizeBytes": 123,
"maxSizeBytes": 123,
"aiMinutesNeeded": 123,
"aiMinutesRemaining": 123,
"refillsAt": "2023-11-07T05:31:56Z",
"billingUrl": "<string>"
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "<string>",
"requestId": "<string>",
"availableLangs": [
"<string>"
],
"durationSeconds": 123,
"maxDurationSeconds": 123,
"sizeBytes": 123,
"maxSizeBytes": 123,
"aiMinutesNeeded": 123,
"aiMinutesRemaining": 123,
"refillsAt": "2023-11-07T05:31:56Z",
"billingUrl": "<string>"
}
}API Reference
Create an upload link
Returns a link to PUT one audio or video file to (works for 1 hour), and the url to pass to GET /v1/transcript (works for 24 hours, then the file is deleted). No request body.
POST
/
v1
/
uploads
Create an upload link
curl --request POST \
--url https://app.bestvideotranscriptapi.com/v1/uploads \
--header 'x-api-key: <api-key>'const options = {method: 'POST', headers: {'x-api-key': '<api-key>'}};
fetch('https://app.bestvideotranscriptapi.com/v1/uploads', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.bestvideotranscriptapi.com/v1/uploads"
headers = {"x-api-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text){
"uploadUrl": "<string>",
"url": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"maxBytes": 2000000000
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "<string>",
"requestId": "<string>",
"availableLangs": [
"<string>"
],
"durationSeconds": 123,
"maxDurationSeconds": 123,
"sizeBytes": 123,
"maxSizeBytes": 123,
"aiMinutesNeeded": 123,
"aiMinutesRemaining": 123,
"refillsAt": "2023-11-07T05:31:56Z",
"billingUrl": "<string>"
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "<string>",
"requestId": "<string>",
"availableLangs": [
"<string>"
],
"durationSeconds": 123,
"maxDurationSeconds": 123,
"sizeBytes": 123,
"maxSizeBytes": 123,
"aiMinutesNeeded": 123,
"aiMinutesRemaining": 123,
"refillsAt": "2023-11-07T05:31:56Z",
"billingUrl": "<string>"
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "<string>",
"requestId": "<string>",
"availableLangs": [
"<string>"
],
"durationSeconds": 123,
"maxDurationSeconds": 123,
"sizeBytes": 123,
"maxSizeBytes": 123,
"aiMinutesNeeded": 123,
"aiMinutesRemaining": 123,
"refillsAt": "2023-11-07T05:31:56Z",
"billingUrl": "<string>"
}
}Authorizations
apiKeybearer