# Video

AI video generation (scripts, generation, status)

## Generate video script

> Generate a detailed video prompt and settings from a brief description.

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Video","description":"AI video generation (scripts, generation, status)"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}}},"paths":{"/v1/video/script":{"post":{"summary":"Generate video script","description":"Generate a detailed video prompt and settings from a brief description.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["brief"],"properties":{"brief":{"type":"string","description":"Brief description of the video"},"format":{"type":"string","enum":["product_showcase","lifestyle_aesthetic","ugc_style","before_after","cinematic_broll","logo_brand_reveal","tutorial_howto","testimonial_talking_head","seasonal_campaign","abstract_mood"]},"platform":{"type":"string"},"site_id":{"type":"string","format":"uuid"}}}}}},"responses":{"200":{"description":"Generated video script","content":{"application/json":{"schema":{"type":"object","properties":{"prompt":{"type":"string"},"suggested_duration":{"type":"number"},"suggested_aspect_ratio":{"type":"string"},"suggested_resolution":{"type":"string"},"shot_description":{"type":"string"},"negative_prompt":{"type":"string"}}}}}}},"tags":["Video"]}}}}
```

## Create video generation job

> Start a video generation job. Returns an ID to poll for status.

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Video","description":"AI video generation (scripts, generation, status)"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}}},"paths":{"/v1/video":{"post":{"summary":"Create video generation job","description":"Start a video generation job. Returns an ID to poll for status.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["prompt","model","duration_seconds"],"properties":{"prompt":{"type":"string"},"model":{"type":"string","description":"Video model to use (e.g. replicate:runway-gen-4.5, replicate:seedance-2.0, replicate:seedance-2.0-fast, replicate:kling-v3, replicate:veo-3.1-fast, replicate:grok-imagine-video, replicate:p-video)"},"duration_seconds":{"type":"number"},"aspect_ratio":{"type":"string","enum":["16:9","9:16","1:1","4:3","3:4","3:2","2:3"]},"resolution":{"type":"string","enum":["480p","720p","1080p"]},"negative_prompt":{"type":"string"},"site_id":{"type":"string","format":"uuid"},"use_brand_context":{"type":"boolean"}}}}}},"responses":{"201":{"description":"Video generation job created","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["progress"]}}}}}}},"tags":["Video"]}}}}
```

## Get video status

> Check the status of a video generation job.

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Video","description":"AI video generation (scripts, generation, status)"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}}},"paths":{"/v1/video/{id}":{"get":{"summary":"Get video status","description":"Check the status of a video generation job.","responses":{"200":{"description":"Video job status","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string","nullable":true},"thumbnail_url":{"type":"string","nullable":true},"status":{"type":"string"},"provider":{"type":"string","nullable":true},"model":{"type":"string","nullable":true},"video_type":{"type":"string","nullable":true},"meta":{"type":"object","nullable":true},"progress":{"type":"number","nullable":true},"duration_seconds":{"type":"number","nullable":true},"error_message":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"}}}}}}},"tags":["Video"]}}}}
```

## DELETE /v1/video/{id}

> Delete video

```json
{"openapi":"3.1.0","info":{"title":"Cuppa API","version":"1.0.0"},"tags":[{"name":"Video","description":"AI video generation (scripts, generation, status)"}],"servers":[{"url":"https://api.cuppa.ai"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY"}}},"paths":{"/v1/video/{id}":{"delete":{"summary":"Delete video","responses":{"200":{"description":"Video deleted","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"boolean"}}}}}}},"tags":["Video"]}}}}
```
