Use this endpoint to initiate a generation job. Because AI generation takes time (especially for video), this endpoint operates asynchronously.
Create Generation Job
Request
POST /api/v1/generations
curl -X POST https://soup.video/api/v1/generations \
-H "Authorization: Bearer sk_soup_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"model": "veo-3-1",
"inputs": {
"prompt": "A cinematic tracking shot of a futuristic sports car driving through a neon city.",
"resolution": "720p",
"quality": "lite",
"aspect_ratio": "16:9"
}
}'
Python Example
import requests
url = "https://soup.video/api/v1/generations"
headers = {
"Authorization": "Bearer sk_soup_your_key_here",
"Content-Type": "application/json"
}
data = {
"model": "kling-3-0",
"inputs": {
"prompt": "A macro shot of a coffee bean roasting.",
"duration": 5,
"aspect_ratio": "9:16",
"mode": "std"
}
}
response = requests.post(url, json=data, headers=headers)
print(response.json())
Response Example
{
"job_id": "8f8b3c3d-1a2b-4c5d-6e7f-8a9b0c1d2e3f",
"status": "processing",
"check_url": "https://soup.video/api/v1/generations/8f8b3c3d-1a2b-4c5d-6e7f-8a9b0c1d2e3f"
}
Keep the job_id to poll for completion using the Status Endpoint.