sora

Generate, remix, poll, and download Sora videos via the OpenAI Video API.

Updated Jan 10, 2026
One-click install
npx skills add https://github.com/Rabbit-Ivan/Ivan-skills --skill sora-rabbit-ivan
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: sora
Source: https://github.com/Rabbit-Ivan/Ivan-skills/tree/main/skills/sora
Command: npx skills add https://github.com/Rabbit-Ivan/Ivan-skills --skill sora-rabbit-ivan

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires openai, and includes scripts (resource) and references (resource) components.

What problem does it solve? Creating short AI-generated video clips through the OpenAI Sora API involves async job management, prompt structuring, polling, and asset downloads, which is tedious to script by hand. This Skill wraps the entire lifecycle in a bundled CLI with structured prompt augmentation. ## Core Features & Use Cases - Full video lifecycle management: Create, remix, poll, list, download (video/thumbnail/spritesheet), and delete Sora jobs through one CLI (scripts/sora.py). - Structured prompt augmentation: Converts plain prompts into production-oriented specs (scene, camera, lighting, palette, dialogue) with CLI flags or JSONL batch fields. - Batch generation: Run many prompts concurrently from a JSONL file with retry logic for rate limits and transient errors. - Use Case: A marketer needs a 4-second product teaser and a variant. Generate the base clip with create-and-poll, then use remix with stated invariants to change only the color palette. ## Quick Start Ask the agent to generate a 4-second Sora video of your subject using the sora skill, then download the finished MP4 once the job completes.

Frequently Asked Questions about sora

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate a Sora video with the OpenAI API?▼

Set OPENAI_API_KEY, then run the bundled CLI with `uv run --with openai python sora.py create --prompt "..." --size 1280x720 --seconds 4`. Video creation is async, so poll the job until it completes before downloading the MP4.

How to remix an existing Sora video?▼

Use the remix command with the completed video ID and a prompt describing only the change, for example `remix --id video_abc123 --prompt "Same shot, shift palette to teal/sand/rust"`. State invariants explicitly to prevent drift from the original shot.

What models, sizes, and durations does the Sora API support?▼

Models are limited to sora-2 and sora-2-pro. Durations must be 4, 8, or 12 seconds passed as a string parameter. sora-2 supports 1280x720 and 720x1280; sora-2-pro adds 1024x1792 and 1792x1024.

Why does my Sora job fail with size or seconds errors?▼

Failures occur when the size is not supported by the chosen model or seconds is not one of "4", "8", or "12". Match the size to the model and pass seconds as a string value to avoid invalid_type errors.

Can I use reference images with faces in Sora video generation?▼

No. Input reference images must be jpg, png, or webp matching the target size, and images containing human faces are rejected by the API. Content guardrails also prohibit real people, copyrighted characters, and copyrighted music.

How do I batch generate multiple Sora videos?▼

Write a temporary JSONL file with one job per line (each requiring a prompt key), then run `create-batch --input prompts.jsonl --out-dir out --concurrency 3`. The CLI writes one JSON response per job and retries transient rate-limit errors automatically.