The VEED API gives you programmatic access to our AI video models. Send a request, get a video back. This article answers the most common questions about getting set up, how billing works, how jobs run, and what to do when something fails.
What APIs does VEED offer?
Each model does one job and is available on its own endpoint:
Fabric 1.0 — turn an image and an audio track into a talking video
Lipsync 2.0 — re-sync an existing video to new audio
Video Background Removal — remove the background from any video (Standard, Fast, Green screen)
Clean Audio — remove background noise from speech
Subtitles API — coming soon
See all models at api.veed.io.
Getting started
How do I make my first API call?
Create an API account by clicking Sign in in the right top corner.
Add credits in Billing, which can be found in the left panel in your dashboard.
Create an API key in API keys, which can be found in the left panel in your dashboard.
Read the docs at api.veed.io/docs and pick a model.
Send a request. You get a
job_idback straight away. Poll the job until its status isCOMPLETED, then download the result from the returned URL.
You can also test any model in the playground on its model page before writing any code. SDKs are available for Node and Go.
Do I need a VEED account to use the API?
No. VEED API accounts and VEED editor accounts are separate. You only need an API account.
How do I get, rotate or revoke an API key?
Manage your keys in the API keys section. Send your key in the Authorization: Bearer header on every request.
If a key is compromised, revoke it and create a new one.
Who can use the API?
The API is for business and professional use, including individual developers. You must be 18 or over.
Should I use the API or the VEED editor?
Use the API if you're a developer building video features into your own product, or automating video at scale.
Use the VEED editor if you want to create or edit videos yourself, without writing code.
Pricing and billing
How does API pricing work?
Each model has its own rate, charged in USD per second, per minute or per frame. See Pricing, or the Pricing tab on each model page — every model page also has a cost estimator.
The API runs on a credit system. Credits are prepaid, non-refundable, and expire two years after purchase. Prices exclude taxes.
Can I use my VEED subscription or AI Credits for the API?
No. API usage is billed separately, from your API credits. Your VEED subscription doesn't cover it.
How do I monitor usage and spending?
In your API Dashboard: Activity shows individual jobs, and Billing shows your spend and remaining credits.
Do you offer enterprise plans?
Yes. Contact sales for higher concurrency limits, direct access to our team, invoicing, and volume discounts.
How jobs work
Are jobs synchronous or asynchronous? Do you support webhooks?
Jobs are asynchronous. A request returns a job_id immediately. Poll the job's GET endpoint until the status is COMPLETED or FAILED.
Webhooks are not supported.
Are there rate limits?
Yes. Limits apply per class of request: reads, writes, and AI generation jobs.
If you hit a limit you get a 429 error, and the response headers tell you when you can retry. For higher limits, contact sales.
How long are output files available?
Output URLs expire 24 hours after the job completes — not 24 hours after you first check it.
You can change this per request with the X-Veed-Media-Expiration-Seconds header, up to 30 days (2,592,000 seconds). Values above 30 days are capped rather than rejected.
Once a URL expires it returns 410 Gone and can't be renewed. Checking the job again returns the same expired link, so save anything you need to your own storage before it expires.
Tip: use a shorter expiry if the link goes somewhere public, such as an email or a log. Anyone with the link can download the file until it expires.
Data, content and usage rights
How is my data stored? Is it used for training?
We store the request and response of each API call for 7 days so you can see them in your request log. After that, they're deleted.
To skip storing them for a specific call, send the header X-Veed-Store-IO: 0. This doesn't affect your output URLs, which follow the expiry rules above. We always keep basic details — time, model, status, duration and cost — for usage and billing.
We don't use your API inputs or outputs to train our models unless you agree to it.
Can I use outputs commercially? Who owns them?
Yes, you can use outputs commercially. See our Terms of Sale for further detail.
What content is not allowed?
See our Code of Conduct. Only use images, videos and voices you own or have permission to use.
Jobs that break the rules fail with the content_moderation error.
Troubleshooting
Why did my job fail?
A failed job returns an error code and message. These are the most common:
Code | What it means | What to do |
| A required input is missing or wrong | Check the |
| We couldn't read the file | Check the format, and that the file isn't corrupted |
| We couldn't download your file | Make sure the URL is public and works without login |
| The audio is over the model's limit | Shorten or split the audio |
| The input breaks our content rules | See the Code of Conduct |
| Something went wrong on our side | Retry. If it keeps failing, contact support with the |
Full list in the error schema.
How do I contact API support?
Email [email protected] or contact us via the support bubble in the bottom right corner. Include your job_id and the X-Request-ID from the response — it helps us find your request quickly.
