Uploads a video or audio file
curl --request POST \
--url https://api.meetgeek.ai/v1/upload \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"download_url": "https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4",
"language_code": "en-US",
"template_name": "General meeting"
}
'import requests
url = "https://api.meetgeek.ai/v1/upload"
payload = {
"download_url": "https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4",
"language_code": "en-US",
"template_name": "General meeting"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
download_url: 'https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4',
language_code: 'en-US',
template_name: 'General meeting'
})
};
fetch('https://api.meetgeek.ai/v1/upload', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meetgeek.ai/v1/upload",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'download_url' => 'https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4',
'language_code' => 'en-US',
'template_name' => 'General meeting'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.meetgeek.ai/v1/upload"
payload := strings.NewReader("{\n \"download_url\": \"https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4\",\n \"language_code\": \"en-US\",\n \"template_name\": \"General meeting\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.meetgeek.ai/v1/upload")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"download_url\": \"https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4\",\n \"language_code\": \"en-US\",\n \"template_name\": \"General meeting\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetgeek.ai/v1/upload")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"download_url\": \"https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4\",\n \"language_code\": \"en-US\",\n \"template_name\": \"General meeting\"\n}"
response = http.request(request)
puts response.read_body{
"message": "The recording has been validated and submitted for analysis"
}{
"message": "bad request",
"reason": "missing api key"
}{
"message": "unauthorized"
}{
"message": "you do not have access to view this meeting"
}{
"message": "quota limit reached",
"unit": "day"
}{
"message": "internal server error"
}API Reference
Upload recording
Upload a video or audio file for analysis and receive a notification upon completion
POST
/
v1
/
upload
Uploads a video or audio file
curl --request POST \
--url https://api.meetgeek.ai/v1/upload \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"download_url": "https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4",
"language_code": "en-US",
"template_name": "General meeting"
}
'import requests
url = "https://api.meetgeek.ai/v1/upload"
payload = {
"download_url": "https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4",
"language_code": "en-US",
"template_name": "General meeting"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
download_url: 'https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4',
language_code: 'en-US',
template_name: 'General meeting'
})
};
fetch('https://api.meetgeek.ai/v1/upload', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meetgeek.ai/v1/upload",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'download_url' => 'https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4',
'language_code' => 'en-US',
'template_name' => 'General meeting'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.meetgeek.ai/v1/upload"
payload := strings.NewReader("{\n \"download_url\": \"https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4\",\n \"language_code\": \"en-US\",\n \"template_name\": \"General meeting\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.meetgeek.ai/v1/upload")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"download_url\": \"https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4\",\n \"language_code\": \"en-US\",\n \"template_name\": \"General meeting\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetgeek.ai/v1/upload")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"download_url\": \"https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4\",\n \"language_code\": \"en-US\",\n \"template_name\": \"General meeting\"\n}"
response = http.request(request)
puts response.read_body{
"message": "The recording has been validated and submitted for analysis"
}{
"message": "bad request",
"reason": "missing api key"
}{
"message": "unauthorized"
}{
"message": "you do not have access to view this meeting"
}{
"message": "quota limit reached",
"unit": "day"
}{
"message": "internal server error"
}When providing a download URL, ensure that the link is publicly accessible and triggers the download immediately upon access. If the link does not function as expected, verify its settings. If the issue persists, contact our support team for assistance.
Authorizations
Type "Bearer" followed by a space and a token
Body
application/json
Download information
User account information with user id and username
A publicly accessible URL that initiates a direct download when accessed
Example:
"https://my-bucket.s3.us-west-2.amazonaws.com/photos/2023-08-23/meeting.mp4"