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