Skip to content
/ vot.js Public

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

License

Notifications You must be signed in to change notification settings

FOSWLY/vot.js

Repository files navigation

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-worker.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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published