sora-video · diff
v1.0 to v1.0
4 added, 11 removed. Audit A to A.
---
name: sora-video
- description: UNAVAILABLE — the Sora endpoints now return 404 and the service is unpublished; use veo-video, kling-video or seedance-video instead. Historical reference for AceDataCloud's OpenAI Sora API. Was used when creating videos from text prompts, generating videos from reference images, or using character references from existing videos. Supports text-to-video, image-to-video, and character-driven generation with multiple models and resolutions.
+ description: Generate AI videos with OpenAI Sora via AceDataCloud API. Use when creating videos from text prompts, generating videos from reference images, or using character references from existing videos. Supports text-to-video, image-to-video, and character-driven generation with multiple models and resolutions.
license: Apache-2.0
metadata:
author: acedatacloud
version: "1.0"
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-sora for tool-use.
---
# Sora Video Generation
- > [!WARNING]
- > **This service is currently unavailable.** `/sora/videos` and `/sora/tasks` return
- > `404 no Route matched with those values`, and the Sora service is no longer published
- > in the API catalog. The reference below is kept for historical accuracy only — do not
- > build against it. For video generation use [veo-video](../veo-video/SKILL.md),
- > [kling-video](../kling-video/SKILL.md) or [seedance-video](../seedance-video/SKILL.md).
-
Generate AI videos through AceDataCloud's OpenAI Sora API.
> **Setup:** See [authentication](../_shared/authentication.md) for token setup.
## Quick Start
```bash
curl -X POST https://api.acedata.cloud/sora/videos \
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"prompt": "a golden retriever running on a beach at sunset", "model": "sora-2", "callback_url": "https://api.acedata.cloud/health"}'
```
> **Async:** See [async task polling](../_shared/async-tasks.md). Poll via `POST /sora/tasks` with `{"id": "..."}`.
## Models
| Model | Duration | Quality | Best For |
|-------|----------|---------|----------|
| `sora-2` | 10–15s | Standard | Most tasks (default) |
| `sora-2-pro` | 10–25s | Higher | Premium quality, longer videos |
## Workflows
### 1. Text-to-Video
```json
POST /sora/videos
{
"prompt": "a busy Tokyo street at night with neon signs reflecting in rain puddles",
"model": "sora-2",
"size": "small",
"duration": 10,
"orientation": "landscape"
}
```
### 2. Image-to-Video
Use reference images to guide generation.
```json
POST /sora/videos
{
"prompt": "the scene gradually comes alive with gentle motion",
"image_urls": ["https://example.com/scene.jpg"],
"model": "sora-2",
"orientation": "landscape"
}
```
### 3. Character-Driven Video
Extract a character from an existing video and use them in a new scene.
```json
POST /sora/videos
{
"prompt": "the character walks through a futuristic city",
"character_url": "https://example.com/source-video.mp4",
- "character_start": 2.0,
- "character_end": 5.0,
+ "character_start": 2,
+ "character_end": 5,
"model": "sora-2-pro"
}
```
## Parameters
| Parameter | Values | Description |
|-----------|--------|-------------|
| `model` | `"sora-2"`, `"sora-2-pro"` | Model to use (required) |
| `size` | `"small"`, `"large"`, `"720x1280"`, `"1280x720"`, `"1024x1792"`, `"1792x1024"` | Video resolution |
| `duration` | `4`, `8`, `10`, `12`, `15`, `25` | Duration in seconds (25 only with sora-2-pro; version 2.0 supports 4/8/12) |
| `orientation` | `"landscape"` (16:9), `"portrait"` (9:16) | Video orientation — version 1.0 only |
| `version` | `"1.0"` (default), `"2.0"` | API version. `1.0` enables duration up to 25s, `orientation`, character references and image inputs; `2.0` uses pixel `size` values and drops `orientation` |
## Gotchas
- Duration of **25 seconds** is only available with `sora-2-pro` model
- `size: "large"` produces higher resolution but costs more and takes longer
- Character-driven generation requires `character_start` and `character_end` timestamps (in seconds) from the source video
- `orientation` sets the aspect ratio — use `"portrait"` for mobile-first content
- Task states use `"succeeded"` (not "completed") — check for this value when polling
- > **MCP:** the hosted endpoint `https://sora.mcp.acedata.cloud/mcp` currently returns 503, in line with the service being unavailable. See [all MCP servers](../_shared/mcp-servers.md)
+ > **MCP:** `pip install mcp-sora` | Hosted: `https://sora.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)