API routes
Base: http://<host>:8765. Authentication, permissions and examples: REST API.
| Method | Route | Notes |
|---|---|---|
GET | /api/v1 | esta lista |
GET | /api/v1/events | eventos de los webhooks |
GET | /api/v1/libraries | bibliotecas |
GET | /api/v1/libraries/{lib} | una biblioteca |
GET | /api/v1/libraries/{lib}/videos | ?collection=&limit=&offset= |
GET | /api/v1/libraries/{lib}/collections | |
GET | /api/v1/libraries/{lib}/search?q= | en las transcripciones |
POST | /api/v1/libraries/{lib}/import | {"urls": [...], "mode": "traducir|descargar", "priority": false, |
GET | /api/v1/libraries/{lib}/glossary | · PUT {"entries": [{"src", "dst"}]} |
GET | /api/v1/videos/{id} | datos, avance y estado en la cola |
GET | /api/v1/videos/{id}/transcript | frases con inglés y español |
GET | /api/v1/videos/{id}/subtitles?lang=es | SRT (es | en) |
DELETE | /api/v1/videos/{id} | lo borra con sus archivos |
GET | /api/v1/queue?library= | cola |
POST | /api/v1/queue | {"video": id, "priority": false} |
DELETE | /api/v1/queue/{id} | |
POST | /api/v1/queue/pause | · /queue/resume (clave para todas las bibliotecas) |
POST | /api/v1/exports | {"videos": [...], "kinds": ["es_video", "srt_es", …]} |
GET | /api/v1/exports/{id} | estado y enlace de descarga |
Export types
Section titled “Export types”Values for kinds in POST /api/v1/exports:
| Value | File |
|---|---|
es_video | español (.mp4) |
es_audio | español (.m4a) |
srt_es | subtítulos español (.srt) |
srt_en | subtítulos inglés (.srt) |
txt | transcripción (.txt) |
orig_video | original (.mp4) |
orig_audio | audio original (.m4a) |
UI sign-in
Section titled “UI sign-in”| Method | Route | Body |
|---|---|---|
POST |
/api/auth/login |
{"password": "…", "vault": "<id>"} (without vault: the owner password) |
POST |
/api/auth/logout |
— |
GET |
/api/auth/me |
— returns {owner, perms, local} |
The route table comes from the docstring of vt/api.py: when you add a route, document it there.