API Documentation

VEO Studio API

Integrate AI video generation into your workflows with our simple REST API. Perfect for n8n, Make, Zapier, and custom integrations.

Quick Start

Authentication

All API requests require authentication using your API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Your API key can be found in your dashboard settings or contact support.

Base URL

https://backend.veostudio.net

Text-to-Video (T2V)

Generate videos from text prompts in 2 simple steps.

POST/api/t2v/generateStep 1

Request Body

promptstringrequiredThe text prompt describing the video
aspect_ratiostringoptional"landscape" (16:9) or "portrait" (9:16). Default: landscape

cURL Example

curl -X POST https://backend.veostudio.net/api/t2v/generate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "A cat playing piano", "aspect_ratio": "landscape"}'

Response

{
  "success": true,
  "scene_id": "abc123...",
  "name": "operations/xyz789...",
  "provider": "provider-10"
}

Save the name value - you'll need it to check status!

GET/api/t2v/statusStep 2

Query Parameters

namestringrequiredThe operation name from Step 1 response

cURL Example

curl -X GET "https://backend.veostudio.net/api/t2v/status?name=YOUR_OPERATION_NAME" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response (Generating)

{
  "status": "generating",
  "download_url": null,
  "prompt": "A cat playing piano",
  "daily_remaining": 9883
}

Response (Completed)

{
  "status": "completed",
  "download_url": "https://...",
  "prompt": "A cat playing piano",
  "daily_remaining": 9882
}

Poll every 30-60 seconds until status is "completed"

Image-to-Video (I2V)

Animate your images with AI in 2 simple steps.

POST/api/i2v/generateStep 1

Request Body

imagestringrequiredBase64 encoded image (with or without data URI prefix)
promptstringrequiredMotion prompt describing how the image should animate
aspect_ratiostringoptional"landscape" (16:9) or "portrait" (9:16). Default: landscape

cURL Example

curl -X POST https://backend.veostudio.net/api/i2v/generate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"image": "BASE64_STRING", "prompt": "The cat walks forward", "aspect_ratio": "portrait"}'

Response

{
  "success": true,
  "scene_id": "abc123...",
  "name": "operations/xyz789...",
  "provider": "provider-6"
}
GET/api/i2v/statusStep 2

Query Parameters

namestringrequiredThe operation name from Step 1 response

cURL Example

curl -X GET "https://backend.veostudio.net/api/i2v/status?name=YOUR_OPERATION_NAME" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response (Completed)

{
  "status": "completed",
  "download_url": "https://...",
  "prompt": "The cat walks forward",
  "daily_remaining": 9881
}

n8n Integration Tips

Polling Loop

Use a Loop node to poll the status endpoint every 30-60 seconds until status === "completed"

Base64 Images

Use n8n's built-in HTTP Request node to fetch an image, then use the Move Binary Data node to convert it to base64

Download Video

When status is "completed", use the download_url in an HTTP Request node to download the video file

Quota Tracking

The daily_remaining field shows your remaining video quota for the day

Video Status Values

generating

Video is being generated by AI (2-5 minutes)

completed

Video is ready! Use download_url to get it

failed

Generation failed - try again with different prompt

Chat on WhatsApp