Sora,一出手就改写了AI视频的格局。
但很多开发者还停留在「等开放」阶段,却不知道其实——Sora 的 API 已经能直接调用!

只要 5 分钟,你就能用几行代码生成属于自己的 AI 视频。
本文将手把手教你跑通整个流程,0 踩坑。

非技术人员,不建议继续往下看,涉及到代码操作。

一、准备工作

1、注册并获取API KEY

登录壹定开放平台,进入到密钥管理页面,选择所属权限,生成密钥。

二、调用示例代码

1、创建任务
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.yidevs.com/app/human/human/Tool/sora",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\r\n    \"prompt\":\"根据线稿图的内容,生成一个广告片。”\",\r\n    \"image_url\":\"https://2a145bb.png\",\r\n    \"aspectRatio\":\"9:16\",\r\n    \"duration\":10\r\n}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Accept-Encoding: gzip, deflate, br",
    "Authorization: Bearer 4C76EE5723A5EC05F3926.GRVCDZSL",
    "Connection: keep-alive",
    "Content-Type: application/json",
    "User-Agent: PostmanRuntime-ApipostRuntime/1.1.0"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

响应数据,task_id是任务ID。

{
	"code": 200,
	"msg": "success",
	"data": {
		"task_id": "b4ed912025f37d06dd"
	}
}
2、获取任务
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.yidevs.com/app/human/human/Tool/sora_task",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\r\n    \"id\":\"39ef3f-715535ddabc3\"\r\n}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/json",
    "Accept-Encoding: gzip, deflate, br",
    "Authorization: Bearer 4C76EE5DE37FCF85C05F3926.GRVCDZSL",
    "Connection: keep-alive",
    "Content-Type: application/json",
    "User-Agent: PostmanRuntime-ApipostRuntime/1.1.0"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

返回值,重点需要关注状态。

{
	"code": 200,
	"msg": "success",
	"data": {
		"file_url": "https://yc-digital-human-1251511393.xhadmin.cn/xhadmincn/temp/sora-temp/20251016/9f7bf330a8273cf5b6b8505e68735b2d_68f0aada95f9c.mp4",
		"thumbnail_url": "https://yc-digital-human-1251511393.xhadmin.cn/server/did/cover/20251016/53b3cc463239096d7904478eb9bbd6c6.jpg",
		"task_id": "39ef4ccf-dabc3",
		"tips": "返回链接有效期24小时,请尽快下载保存",
		"state": 1,
		"state_text": "任务创建成功"
	}
}

三、应用开发

Sora-2的横空出世,让不少的模型开发商,胆战心惊,有些甚至模型还没有推出来,就已经发了相关论文。

但这也是一大利好,推动了整个行业的快速发展。

基于Sora-2的API接口,可以将其集成到应用里面,作为产品应用的附加值还是非常不错的选择。

四、常见问题

问题 解决方式
state状态值 0:等待中,1:已生成,2:任务创建失败
失败多次 这种情况就换提示词或者图片,大概率是违规
提示参数不能为空 在调用接口的时候,header头一定要声明json类型
链接有效期 由于资源有限,所以24小时后就自动失效,需要转存或者尽快下载。

五、总结

跑通一次,你就拥有了生成视频的“AI工厂”。
越早掌握 Sora API,你的应用越能快人一步。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐