Videoslash API
A I Lab

Estimate AI Lab run

POST
/v1/ai-lab/{tool}/estimate

Quote the credits a run would cost without starting it. Files are not needed; send the options you plan to use.

Pass seconds (the length of the main video or audio) for an exact price; without it the price for the tool's maximum length is quoted.

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

Path Parameters

tool*string

AI Lab tool identifier.

Value in

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

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/ai-lab/recast/estimate" \  -H "Content-Type: application/json" \  -d '{    "input": {      "resolution": "1080p",      "fps": 30    },    "seconds": 42  }'
{  "tool": "upscale",  "credits": 5.3,  "basis": "given_length"}
{  "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"  }}