curl --request POST \
--url 'https://api.elkapi.com/v1/videos' \
--header 'Authorization: Bearer <token>' \
--form 'model=sora-2' \
--form 'prompt=一只小猫在阳光下的花园里奔跑,电影感,高细节' \
--form 'image=https://example.com/image.png' \
--form 'duration=5' \
--form 'width=1280' \
--form 'height=720' \
--form 'fps=30' \
--form 'seed=12345' \
--form 'n=1' \
--form 'response_format=json' \
--form 'user=user-1234' \
--form 'metadata=[object Object]'
import requests
url = "https://api.elkapi.com/v1/videos"
headers = {
"Authorization": "Bearer <token>"
}
files = {
}
data = {
"model": "sora-2",
"prompt": "一只小猫在阳光下的花园里奔跑,电影感,高细节",
"image": "https://example.com/image.png",
"duration": "5",
"width": "1280",
"height": "720",
"fps": "30",
"seed": "12345",
"n": "1",
"response_format": "json",
"user": "user-1234",
"metadata": "[object Object]",
}
response = requests.request("POST", url, headers=headers, data=data, files=files)
print(response.text)
const url = "https://api.elkapi.com/v1/videos";
const headers = {
"Authorization": "Bearer <token>"
};
const form = new FormData();
form.append("model", "sora-2");
form.append("prompt", "一只小猫在阳光下的花园里奔跑,电影感,高细节");
form.append("image", "https://example.com/image.png");
form.append("duration", "5");
form.append("width", "1280");
form.append("height", "720");
form.append("fps", "30");
form.append("seed", "12345");
form.append("n", "1");
form.append("response_format", "json");
form.append("user", "user-1234");
form.append("metadata", "[object Object]");
const response = await fetch(url, {
method: "POST",
headers,
body: form
});
console.log(await response.text());
{
"id": "id",
"object": "object",
"model": "sora-2",
"status": "status",
"progress": 1,
"created_at": 1,
"seconds": "seconds",
"completed_at": 1,
"expires_at": 1,
"size": "1024x1024",
"error": {
"message": "message",
"code": "code"
},
"metadata": {}
}
{
"error": {
"message": "message",
"type": "type",
"param": "param",
"code": "code"
}
}
Sora 格式
创建 Sora 视频
- OpenAI 兼容的视频生成接口。
- 参考文档: https://platform.openai.com/docs/api-reference/videos/create
POST
/
v1
/
videos
curl --request POST \
--url 'https://api.elkapi.com/v1/videos' \
--header 'Authorization: Bearer <token>' \
--form 'model=sora-2' \
--form 'prompt=一只小猫在阳光下的花园里奔跑,电影感,高细节' \
--form 'image=https://example.com/image.png' \
--form 'duration=5' \
--form 'width=1280' \
--form 'height=720' \
--form 'fps=30' \
--form 'seed=12345' \
--form 'n=1' \
--form 'response_format=json' \
--form 'user=user-1234' \
--form 'metadata=[object Object]'
import requests
url = "https://api.elkapi.com/v1/videos"
headers = {
"Authorization": "Bearer <token>"
}
files = {
}
data = {
"model": "sora-2",
"prompt": "一只小猫在阳光下的花园里奔跑,电影感,高细节",
"image": "https://example.com/image.png",
"duration": "5",
"width": "1280",
"height": "720",
"fps": "30",
"seed": "12345",
"n": "1",
"response_format": "json",
"user": "user-1234",
"metadata": "[object Object]",
}
response = requests.request("POST", url, headers=headers, data=data, files=files)
print(response.text)
const url = "https://api.elkapi.com/v1/videos";
const headers = {
"Authorization": "Bearer <token>"
};
const form = new FormData();
form.append("model", "sora-2");
form.append("prompt", "一只小猫在阳光下的花园里奔跑,电影感,高细节");
form.append("image", "https://example.com/image.png");
form.append("duration", "5");
form.append("width", "1280");
form.append("height", "720");
form.append("fps", "30");
form.append("seed", "12345");
form.append("n", "1");
form.append("response_format", "json");
form.append("user", "user-1234");
form.append("metadata", "[object Object]");
const response = await fetch(url, {
method: "POST",
headers,
body: form
});
console.log(await response.text());
{
"id": "id",
"object": "object",
"model": "sora-2",
"status": "status",
"progress": 1,
"created_at": 1,
"seconds": "seconds",
"completed_at": 1,
"expires_at": 1,
"size": "1024x1024",
"error": {
"message": "message",
"code": "code"
},
"metadata": {}
}
{
"error": {
"message": "message",
"type": "type",
"param": "param",
"code": "code"
}
}
curl --request POST \
--url 'https://api.elkapi.com/v1/videos' \
--header 'Authorization: Bearer <token>' \
--form 'model=sora-2' \
--form 'prompt=一只小猫在阳光下的花园里奔跑,电影感,高细节' \
--form 'image=https://example.com/image.png' \
--form 'duration=5' \
--form 'width=1280' \
--form 'height=720' \
--form 'fps=30' \
--form 'seed=12345' \
--form 'n=1' \
--form 'response_format=json' \
--form 'user=user-1234' \
--form 'metadata=[object Object]'
import requests
url = "https://api.elkapi.com/v1/videos"
headers = {
"Authorization": "Bearer <token>"
}
files = {
}
data = {
"model": "sora-2",
"prompt": "一只小猫在阳光下的花园里奔跑,电影感,高细节",
"image": "https://example.com/image.png",
"duration": "5",
"width": "1280",
"height": "720",
"fps": "30",
"seed": "12345",
"n": "1",
"response_format": "json",
"user": "user-1234",
"metadata": "[object Object]",
}
response = requests.request("POST", url, headers=headers, data=data, files=files)
print(response.text)
const url = "https://api.elkapi.com/v1/videos";
const headers = {
"Authorization": "Bearer <token>"
};
const form = new FormData();
form.append("model", "sora-2");
form.append("prompt", "一只小猫在阳光下的花园里奔跑,电影感,高细节");
form.append("image", "https://example.com/image.png");
form.append("duration", "5");
form.append("width", "1280");
form.append("height", "720");
form.append("fps", "30");
form.append("seed", "12345");
form.append("n", "1");
form.append("response_format", "json");
form.append("user", "user-1234");
form.append("metadata", "[object Object]");
const response = await fetch(url, {
method: "POST",
headers,
body: form
});
console.log(await response.text());
{
"id": "id",
"object": "object",
"model": "sora-2",
"status": "status",
"progress": 1,
"created_at": 1,
"seconds": "seconds",
"completed_at": 1,
"expires_at": 1,
"size": "1024x1024",
"error": {
"message": "message",
"code": "code"
},
"metadata": {}
}
{
"error": {
"message": "message",
"type": "type",
"param": "param",
"code": "code"
}
}
Authorizations
string
必填
所有接口均需要使用 Bearer Token 进行认证。在请求头中添加:
Authorization: Bearer YOUR_API_KEY
Body
string
默认值:"sora-2"
模型/风格 ID示例:
sora-2string
文本描述提示词示例:
宇航员站起身走了string
图片输入 (URL 或 Base64)示例:
https://example.com/image.jpgnumber
视频时长(秒)示例:
5integer
视频宽度示例:
1280integer
视频高度示例:
720integer
视频帧率示例:
30integer
随机种子示例:
20231234integer
生成视频数量示例:
1string
响应格式示例:
urlstring
用户标识示例:
user-1234object
扩展参数 (如 negative_prompt, style, quality_level 等)
Response
string
视频 ID
string
对象类型
string
默认值:"sora-2"
使用的模型示例:
sora-2string
任务状态
integer
进度百分比
integer
创建时间戳
string
视频时长
integer
完成时间戳
integer
过期时间戳
string
视频尺寸
object
额外元数据
⌘I