Videoslash API

Authentication

Authenticate API requests with a Videoslash API key.

All Videoslash API requests require an API key. Create one in your Account settings under Developers.

API keys

Keys use the format vsl_ followed by a random secret. Example:

vsl_a1B2c3D4e5F6...

The full key is shown once when you create it. Store it securely — it cannot be retrieved later.

You can create up to 10 active keys per account. Revoke a key immediately if you believe it has been compromised.

Making requests

Include your key in the Authorization header using the Bearer scheme:

curl -s https://www.videoslash.com/api/v1/account \
  -H "Authorization: Bearer vsl_YOUR_KEY"

Security

Treat your API key like a password:

  • Do not share it with anyone
  • Do not post it in public channels, support tickets, or forums
  • Do not commit it to version control or expose it in client-side code
  • Revoke immediately if you suspect it has been leaked, then create a new key

Anyone with your key can access your account via the API within the key's scopes.

Scopes

Each key has a list of scopes that control what it can do:

ScopeAllows
readRead account profile and credit balances (included on every key)
scripts:generateGenerate titles and scripts via the API (uses credits)
creative:generateRun Creative Studio image and video generations via the API (uses credits)

When creating a key, enable Allow script generation or Allow Creative Studio generation to grant write scopes. Read-only keys cannot call write endpoints and receive 403 insufficient_scope.

Error responses

Authentication errors use this shape:

{
  "error": {
    "code": "invalid_api_key",
    "message": "Invalid API key."
  }
}
HTTPCodeWhen
401missing_api_keyNo Authorization: Bearer ... header
401invalid_api_keyKey not found or revoked
401expired_api_keyKey past its expiration date
403insufficient_scopeKey lacks the required scope
400validation_errorInvalid request body
402insufficient_creditsNot enough credits for the operation
429rate_limitedToo many requests (see Retry-After header)
404not_foundResource not found
500internal_errorUnexpected server error

On this page