Video generation

POST /videos starts a text- or image-to-video job in OpenAI's Videos API shape and returns a video object (status queued). Poll GET /videos/{id} until it is completed (or failed), then download GET /videos/{id}/content — a redirect to the MP4 (?variant=thumbnail for the poster). Pass seconds, and aspect_ratio or size ("1280x720"); resolution and image_url (a public https first frame) where the model supports them — GET /models?type=video lists durations, ratios and the price per second. You are billed the provider's actual cost when the clip completes; failed clips are free. A video.completed / video.failed webhook fires at the end.

curl https://api.ultragpt.pro/v1/videos \
  -H "Authorization: Bearer $ULTRAGPT_API_KEY" -H "Content-Type: application/json" \
  -d '{ "model": "<video-model>", "prompt": "A paper boat in the rain", "seconds": 4, "size": "1280x720" }'

curl https://api.ultragpt.pro/v1/videos/video_... -H "Authorization: Bearer $ULTRAGPT_API_KEY"
curl -L https://api.ultragpt.pro/v1/videos/video_.../content -H "Authorization: Bearer $ULTRAGPT_API_KEY" -o clip.mp4