# OpenAI Sora 2 - Core.Today AI API > OpenAI's video generation model with realistic physics simulation and audio generation capabilities, producing highly coherent videos. - **Provider**: OpenAI - **Model ID**: openai/sora-2 - **Category**: Video Generation - **Credits**: 930 per video - **Speed**: Slow - **Quality**: Ultra ## Features - Realistic physics simulation - Audio generation support - Up to 20-second videos - Multiple resolution options (480p-1080p) - Image-to-video with start frame ## Use Cases - Realistic scene generation - Physics-based animations - Long-form video content - High-resolution video production - Creative visual storytelling ## API Endpoint Base URL: https://api.core.today/v1 Create Prediction: POST /predictions Get Status: GET /predictions/{job_id} ## Authentication Header: X-API-Key: YOUR_API_KEY ## Input Parameters ### Required - **prompt**: string - Text description of the video to generate ### Optional - **openai_api_key**: string - Optional: Your OpenAI API key. If you use your own OpenAI API key, you will be charged directly by OpenAI. - **input_reference**: string - An optional image to use as the first frame of the video. The image must be the same aspect ratio as the video. - **seconds**: integer (default: 4) - Duration of the video in seconds Options: 4, 8, 12 - **aspect_ratio**: string (default: portrait) - Output aspect ratio Options: portrait, landscape ## Examples ### Physics Simulation Realistic physics-based video ```json { "model": "openai/sora-2", "input": { "prompt": "A glass marble rolls down a wooden ramp, bounces off the table edge, and splashes into a glass of water, slow motion, photorealistic", "duration": "10", "aspect_ratio": "16:9", "resolution": "1080p" } } ``` ### Urban Timelapse Dynamic city timelapse video ```json { "model": "openai/sora-2", "input": { "prompt": "Timelapse of a busy city intersection from sunset to night, car light trails, pedestrians moving quickly, cinematic wide angle", "duration": "15", "aspect_ratio": "16:9", "resolution": "720p" } } ``` ## Response Format ```json { "job_id": "abc123", "status": "pending | processing | completed | failed", "result": "URL or data (when completed)" } ``` ## Usage Flow 1. POST /predictions with model and input -> receive job_id 2. GET /predictions/{job_id} -> poll until status is completed or failed 3. Result contains output URL(s) ## Tips - Sora excels at realistic physics interactions between objects - Use longer durations for complex scene transitions - Higher resolutions cost more credits proportionally - Describe physical interactions explicitly for best results