Symphonic API lets you transcribe silent videos of people speaking.

You can try it out at ReadTheirLips.com!

drake.mp4

Model output: “Ok yeah, no problem.”

API Request

POST

Fields:

Field Name Type Description
video mp4 The video file to be uploaded.

Examples

cURL

// Assuming you have video.mp4

curl -X POST <https://symphoniclabs--symphonet-vsr-modal-htn-model-upload-static-htn.modal.run> \\
     -F '[email protected];type=video/mp4'

Python

import requests
import io

# Assuming video.mp4 exists

def transcribe(file_path):
 
    url = "<https://symphoniclabs--symphonet-vsr-modal-htn-model-upload-static-htn.modal.run>"

    with open(file_path, 'rb') as video_file:
        video = io.BytesIO(video_file.read())

    response = requests.post(url, files={'video': ('input.mp4', video, 'video/mp4')})

    return(response.text)

print(transcribe("video.mp4"))

Javascript

// Assuming you have a <video> element in your HTML with an id of "myVideo"

const videoElement = document.getElementById('myVideo');
const videoSource = videoElement.querySelector('source').src;
const response = await fetch(videoSource);
const videoBlob = await response.blob();

const formData = new FormData();
formData.append("video", videoBlob, "input.mp4");

const response = await fetch("<https://symphoniclabs--symphonet-vsr-modal-htn-model-upload-static-htn.modal.run>", {
  method: 'POST',
  body: formData,
});

const result = await response.text()

console.log(result)