Soup.video

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.