Create high-quality videos from text descriptions or transform static images into dynamic video content. Related

Pricing

Video generation costs $0.05 per second of generated video. Tip Check your balance before generating videos to ensure you have sufficient credits.

Text-to-Video

Endpoint
POST /api/v1/generate/text-to-video
Authentication
Authorization: Bearer sk-your-api-key-here

Request body

ParameterTypeDescriptionDefault
promptstringText description of the video to generateRequired
duration_secondsintegerVideo duration in seconds (1–10)5
aspect_ratiostringOne of “16:9”, “9:16”, “1:1""16:9”
seedintegerRandom seed for reproducible results-1 (random)

Response

200 OK
{
  "request_id": "req_abc123...",
  "status": "pending",
  "estimated_cost_usd": 0.25,
  "estimated_duration_seconds": 5
}

Code examples

curl -X POST "https://tryvinci.com/api/v1/generate/text-to-video" \
  -H "Authorization: Bearer sk-your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A majestic eagle soaring through mountain peaks at sunset",
    "duration_seconds": 8,
    "aspect_ratio": "16:9"
  }'

Image-to-Video

Endpoint
POST /api/v1/generate/image-to-video
Authentication
Authorization: Bearer sk-your-api-key-here

Request body (multipart form)

ParameterTypeDescriptionDefault
imagefileInput image (JPEG/PNG)Required
promptstringText describing motionRequired
duration_secondsintegerVideo duration in seconds (1–10)5

Response

200 OK
{
  "request_id": "req_abc123...",
  "status": "pending",
  "estimated_cost_usd": 0.25,
  "estimated_duration_seconds": 5
}

Code examples

curl -X POST "https://tryvinci.com/api/v1/generate/image-to-video" \
  -H "Authorization: Bearer sk-your-api-key-here" \
  -F "image=@portrait.jpg" \
  -F "prompt=The person starts smiling and waves at the camera" \
  -F "duration_seconds=6"

Status Checking

Endpoint
GET /api/v1/status/{request_id}
Authentication
Authorization: Bearer sk-your-api-key-here

Status responses

Pending
{
  "request_id": "req_abc123...",
  "status": "pending",
  "estimated_cost_usd": 0.25
}
Processing
{
  "request_id": "req_abc123...",
  "status": "processing",
  "estimated_cost_usd": 0.25,
  "progress": 45
}
Completed
{
  "request_id": "req_abc123...",
  "status": "completed",
  "video_url": "https://storage.googleapis.com/vinci-dev/videos/generated_video.mp4",
  "duration_seconds": 5.2,
  "cost_usd": 0.26
}
Failed
{
  "request_id": "req_abc123...",
  "status": "failed",
  "error": "Invalid prompt format"
}

Errors

StatusMeaningAction
401Invalid API keyVerify Authorization header
402Insufficient balanceAdd credits
413File too largeReduce image file size
429Rate limit exceededBackoff and retry
500Server errorRetry with backoff
Warning Always implement error handling and retry logic for production workloads.