Videoslash API
A I Lab

List AI Lab runs

GET
/v1/ai-lab/runs

List recent AI Lab runs, newest first, one entry per run (multi-output runs are grouped). Includes runs started from the dashboard, the API and MCP.

Page with before: pass the createdAt of the last run you received.

Requires an API key with the read scope.

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication. Create a key in your Account settings.

Pass the full key in the Authorization header:

Authorization: Bearer vsl_...

Keys are shown only once at creation. Treat them like passwords.

In: header

Query Parameters

tool?string

Only runs of this tool.

Value in

  • "recast"
  • "reshoot"
  • "erase"
  • "extend"
  • "edit"
  • "recreate"
  • "thumbnail"
  • "upscale"
  • "lipsync"
  • "voice"
  • "translate"
  • "background"
  • "sound"
limit?integer

Most runs to return.

Range1 <= value <= 50
Default20
before?string

Only runs created before this time.

Formatdate-time

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/ai-lab/runs"
[  {    "id": "string",    "tool": "recast",    "title": "string",    "status": "processing",    "credits": 0,    "createdAt": "2019-08-24T14:15:22Z",    "items": [      {        "id": "string",        "status": "processing",        "type": "video",        "url": "http://example.com",        "label": "string",        "error": "string",        "credits": 0,        "createdAt": "2019-08-24T14:15:22Z"      }    ]  }]
{  "error": {    "code": "missing_api_key",    "message": "string"  }}
{  "error": {    "code": "missing_api_key",    "message": "string"  }}
{  "error": {    "code": "missing_api_key",    "message": "string"  }}
{  "error": {    "code": "missing_api_key",    "message": "string"  }}
{  "error": {    "code": "missing_api_key",    "message": "string"  }}