Get started

Authentication

Every request (except the GET /v1 index) is authenticated with an API key.

Bearer keys

Send your key in the Authorization header:

terminal
curl https://api.vivideo.ai/v1/me \
  -H "Authorization: Bearer vv_live_..."

An X-API-Key: vv_live_... header works too, if that's easier for your stack.

!
Keys are account secrets. Anyone with a key can create videos and spend your credits. Keep keys server-side — never in browsers, mobile apps, or git. Vivideo stores only a SHA-256 hash of each key, so a lost key can't be recovered — revoke it and make a new one.

Managing keys

Keys are managed in the Vivideo app under Settings → More → API Keys (app.vivideo.ai/account/api-keys):

ActionNotes
CreateUp to 10 active keys. The full key is shown once, at creation.
NameLabel each key by integration so you can tell them apart.
RevokeTakes effect immediately — requests with that key start returning 401.
InspectSee created and last-used timestamps and request counts.

Failure modes

CodeMeaning
missing_api_keyNo key on the request.
invalid_api_keyKey is malformed or does not exist.
api_key_revokedKey was revoked — create a new one.

All three return 401 with a request_id you can quote to support.

Security best practices

  • Store keys in environment variables or a secret manager, never in source.
  • Use one key per integration, so a leak is revocable in isolation.
  • Rotate by creating a new key, migrating, then revoking the old one.
  • Review last-used timestamps periodically and revoke anything unfamiliar.

Machine-readable: interactive reference · openapi.yaml · llms-api.txt. Base URL https://api.vivideo.ai.