Skip to content

Sora API Examples

Sora2模型兼容OpenAI SDK,您可以使用OpenAI SDK访问Sora2模型。

基础配置

在开始使用API之前,请确保您已经获取了API Key。如果还没有,请参考创建API Key

基础信息

  • API Base URL: https://api.agentsflare.com/openai/v1
  • 认证方式: Bearer Token
  • 内容类型: application/json

请求示例

生成视频

bash
curl -X POST "https://api.agentsflare.com/openai/v1/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -F 'prompt=展台展示一辆保时捷跑车,跑车在中间缓慢旋转。' 
  -F 'model=sora-2-pro' \
python
from openai import OpenAI

client = openai.OpenAI(
    api_key="AGENTSFLARE_API_KEY",
    base_url="https://api.agentsflare.com/openai/v1",
)

response = client.videos.create(
    model="sora-2-pro",
    prompt="展台展示一辆保时捷跑车,跑车在中间缓慢旋转。",
)

print(response)
javascript
const OpenAI = require('openai');

const client = new OpenAI({
  apiKey: 'AGENTSFLARE_API_KEY',
  baseURL: 'https://api.agentsflare.com/openai/v1',
});

async function main() {
  const video = await client.videos.create({
    model: 'sora-2-pro',
    prompt: '展台展示一辆保时捷跑车,跑车在中间缓慢旋转。',
  });
  console.log(video);
}

main();
go
package main

import (
	"context"
	"fmt"
	"log"
	"os"

	openai "github.com/openai/openai-go"
)

func main() {
	client := openai.NewClient(
		openai.WithAPIKey(os.Getenv("AGENTSFLARE_API_KEY")), // 或直接写死:openai.WithAPIKey("xxx")
		openai.WithBaseURL("https://api.agentsflare.com/openai/v1"),
	)

	resp, err := client.Videos.Create(context.Background(), openai.VideoCreateParams{
		Model:  openai.F("sora-2-pro"),
		Prompt: openai.F("展台展示一辆保时捷跑车,跑车在中间缓慢旋转。"),
	})
	if err != nil {
		log.Fatal(err)
	}

	fmt.Printf("%+v\n", resp)
}

返回示例

{
  "id": "video_********************",
  "object": "video",
  "created_at": 1768375565,
  "status": "queued",
  "completed_at": null,
  "error": null,
  "expires_at": null,
  "model": "sora-2",
  "progress": 0,
  "prompt": "展台展示一辆保时捷跑车,跑车在中间缓慢旋转。",
  "remixed_from_video_id": null,
  "seconds": "4",
  "size": "720x1280"
}

视频状态查询

请求示例

bash
curl -X GET "https://api.agentsflare.com/openai/v1/videos/video_****************" \
  -H "Authorization: Bearer $API_KEY"
python
from openai import OpenAI

client = openai.OpenAI(
    api_key="AGENTSFLARE_API_KEY",
    base_url="https://api.agentsflare.com/openai/v1",
)

response = client.videos.retrieve(
    video_id="video_********************",
)

print(response)
javascript
import axios from 'axios';

const API_KEY = 'AGENTSFLARE_API_KEY';

const url = 'https://api.agentsflare.com/openai/v1/videos/video_********************';

const headers = {
    'Authorization': `Bearer ${API_KEY}`,
    'Content-Type': 'application/json'
};

axios.get(url, { headers })
    .then(response => {
        console.log('视频状态:', response.data.status);
    })
    .catch(error => {
        console.error('错误:', error.message);
    });
go
package main

import (
	"context"
	"fmt"
	"log"
	"os"

	openai "github.com/openai/openai-go"
)

func main() {
	client := openai.NewClient(
		openai.WithAPIKey(os.Getenv("AGENTSFLARE_API_KEY")), // 或直接写死:openai.WithAPIKey("xxx")
		openai.WithBaseURL("https://api.agentsflare.com/openai/v1"),
	)

	resp, err := client.Videos.Retrieve(context.Background(), openai.VideoRetrieveParams{
		VideoID: openai.F("video_********************"),
	})
	if err != nil {
		log.Fatal(err)
	}

	fmt.Printf("%+v\n", resp)
}

返回实例

json
{
  "id": "video_6967450db3908190beae276e09afbf2c0c650c14325307e6",
  "object": "video",
  "created_at": 1768375565,
  "status": "queued", // 视频生成队列中 completed 视频生成完成
  "completed_at": null,
  "error": null,
  "expires_at": null,
  "model": "sora-2",
  "progress": 0,
  "prompt": "展台展示一辆保时捷跑车,跑车在中间缓慢旋转。",
  "remixed_from_video_id": null,
  "seconds": "4",
  "size": "720x1280"
}

请求参数

参数详见Veo video generation

本文档遵循 CC BY-SA 4.0 协议。