/vot.js

An unofficial library for interacting with the Yandex VOT API, which supports working with JavaScript, TypeScript, and also has built-in types for Typebox.

Primary LanguageTypeScriptMIT LicenseMIT

vot.js

GitHub Actions npm ru en

An unofficial library for interacting with the Yandex VOT API, which supports working with JavaScript, TypeScript, and also has built-in parted types for Typebox.

The library supports working with worker servers, to do this, you need to create a VOTWorkerClient client and specify the domain of the worker server, for example vot-worker.toil.cc.

Installation

To work with Node, Bun, or other runtimes, install the @vot.js/node:

bin install @vot.js/node

To develop browser extensions, install the @vot.js/ext:

bin install @vot.js/ext

If you only need part of the functionality, use the @vot.js/core and @vot.js/shared

Getting started

To start working with the API, you need to create a VOT Client. This can be done using the line provided below.

Standard Client:

const client = new VOTClient();

const videoData = await client.getVideoData("https://youtu.be/LK6nLR1bzpI");

const result = await client.translateVideo({ videoData });

Proxying via vot-worker:

const client = new VOTWorkerClient({
  host: "vot.toil.cc",
});

You can see more code examples here

Limitations

  1. The library can't translate videos longer than 4 hours

Build

To build, you must have:

  • Bun
  • Protoc (if you are building with the update of the .proto file)

Don't forget to install the dependencies:

bun install

Start building:

bun build:all

Tests

The library has minimal test coverage to check its performance.

Run the tests:

bun test