Sora2 API低价接入教程0.08/条:支持调用Cameo多角色上传+Remix二创视频功能


你还记得Sora2推出的Cameo和Remix功能吗?

Cameo(客串)是 Sora 2 推出的官方真人出镜功能,允许用户通过录制验证视频,将自己的面部、体型、声音特征提取并融合到 AI 生成的任意场景中,实现"真人演员+虚拟场景+配音"的混合视频生成。它允许你将多个角色(包括自己、朋友、宠物甚至原创形象)置入同一个AI生成的视频中。

Remix(重混)是Sora 2 的一项非常强大的视频二次创作能力,它允许你对已有的视频进行对象级和场景级的深度修改,而不仅仅是简单的剪辑或添加滤镜,通过提示词你可以修改视频并且加入自己的Cameo角色。

本文将详细介绍Sora 2 的Cameo 和Remix功能如何使用 ,以及企业、独立开发和普通用户如何通过GrsAi API调用Sora 2 Cameo和Remix。

Sora 2 Cameo和Remix 功能如何使用

  1. 创建Cameo 角色
  • 录制视频:根据要求录制一段个人短视频,并按照屏幕指示读出屏幕中的数字,系统会从中学习你的外貌、动作甚至声线。
  • 活体检测:Sora 2 采用多重活体检测技术防止冒充,所以需要几分钟审核时间。
  • 权限配置:创建角色后,你可以精细设置其使用权限,例如仅自己使用、对所有朋友开放,或设置为需要你批准后才能使用。
Image
  1. 使用Cameo角色

以“sora”app为例,点击底部“+”创建视频,选择cameo出镜秀中的角色,通过“@”标签来调用你已经创建或他人共享的角色,实现多角色同框,输入提示词(支持中文),等待生成。

Image
  1. 提示词公式

[场景描述] + [主角(我/Cameo角色)动作] + [环境细节] + [风格要求]

案例:

古老巨龙盘踞的山巅,我是精灵法师举杖召唤魔法护盾,抵挡烈焰吐息,破碎巨石,魔法尘埃,云海夕阳,史诗奇幻,电影广角,戏剧灯光。

注意:
使用"我"或"主角"指代 Cameo 角色
详细描述动作和场景
避免描述面部细节(AI 会自动匹配你的特征)
可以指定服装、场景、氛围

  1. Remix二创视频
    当你在 Sora App 的瀑布流中浏览视频时,可以直接对感兴趣的公开视频使用 Remix 功能,输入你的新想法来生成全新版本。
  • 元素替换:一键更换视频中的主角,例如将街头漫步的角色换成您自己。
  • 场景转换:无缝切换视频背景,如从东京街头变为赛博都市,AI会自动适配光影。
  • 细节调整:修改道具与氛围,例如将手中的咖啡换成茶,或将雨天变为雪天。
  • 情节续写:基于原视频生成续集,保持角色与画风一致,以延伸叙事(如通过API实现)。
Image
  1. Sora2 应用场景
  • 个人娱乐:将自已或朋友置入历史大片、科幻场景
  • 内容创作:虚拟网红运营、品牌营销内容制作
  • IP经济:数字肖像权租赁,为明星、经典IP提供新的变现渠道
  • 广告营销:规模化生成个性化广告

Sora2 API调用实战

Sora2目前有严格的地区限制,并且采用邀请制,没有码且非美国,加拿大IP用户则无法使用。Openai目前还没有开通Sora 2 APi包括Cameo和Remix功能,那企业或独立开发者应该怎么调用正版的Sora2 Api?

GrsAi Sora2 Cameo多角色生成功能接入

GrsAi(https://grsai.com)是Ai大模型APi源头供应商,提供便宜稳定的Ai大模型APi接入服务,国内直连。Sora 2—0.08/条视频,同时支持Sora 2 Cameo多角色上传和Remix功能的调用。

Image

Sora 2 API接入文档请到控制台查看:https://grsai.com/zh/dashboard/documents/sora-2

目前站内模型包含:Nano Banana-0.022/张,Sora-image(Gpt4o)-0.02/张,Veo3.1/Veo3.0-0.4/张,Gemini,Flux.......更多请查看GrsAi控制台(https://grsai.com/zh/dashboard/models)模型列表。

Image

基础环境配置

1.API端点信息

// 海外用户使用
const HOST_OVERSEAS = "https://api.grsai.com";

// 国内用户使用  
const HOST_DOMESTIC = "https://grsai.dakka.com.cn";

// 接口地址
const API_ENDPOINT = `${HOST_DOMESTIC}/v1/video/sora-video`;

2.请求头配置

const headers = {
  "Content-Type": "application/json",
  "Authorization": "Bearer apikey" // 替换为实际API密钥
};

Cameo APi多角色上传功能调用

1.characters参数完整说明

{
  "characters": [
    {
      "url": "https://example.com/characterA.mp4",
      "timestamps": "0,3"
    },
    {
      "url": "https://example.com/characterB.mp4", 
      "timestamps": "1,4"
    }
  ]
}

2.参数规范:

  • url:角色视频的公开访问URL,支持MP4格式
  • timestamps:视频截取范围,格式为"开始秒数,结束秒数"
  • 时长限制:每个角色视频最多截取3秒
  • 禁止内容:不可上传真人视频内容

3.角色引用语法
在prompt中使用@character+位置索引格式引用角色:

// 正确示例
const prompt = "在公园长椅上,@character1正在读书,@character2在旁边玩耍";

// 位置索引从1开始,对应characters数组中的顺序
// @character1 → characters[0]
// @character2 → characters[1] 

如果要使用Sora2中公开的Cameo角色,则可以直接在提示词中@用户ID使用。

完整实战案例

案例:创建两个卡通角色在公园场景

步骤1:准备角色视频

确保视频文件可通过URL公开访问

步骤2:构造API请求

const requestBody = {
  "model": "sora-2",
  "prompt": "在阳光明媚的公园里,@character1在草地上快乐地跳舞,@character2在天空中盘旋飞翔,背景有鲜花和树木,风格为卡通动画",
  "url": "https://example.com/park_background.png", // 场景参考图
  "aspectRatio": "16:9",
  "duration": 10,
  "size": "large",
  "characters": [
    {
      "url": "https://example.com/rabbit_dance.mp4",
      "timestamps": "0,3"
    },
    {
      "url": "https://example.com/bird_fly.mp4", 
      "timestamps": "0,3"
    }
  ],
  "webHook": "https://your-app.com/callback", // 回调地址
  "shutProgress": false
};

步骤3:执行API调用

// 使用Fetch API调用
async function generateSoraVideo() {
  try {
    const response = await fetch('https://grsai.dakka.com.cn/v1/video/sora-video', {
      method: 'POST',
      headers: headers,
      body: JSON.stringify(requestBody)
    });
    
    const data = await response.json();
    console.log('任务ID:', data.data.id);
    return data;
  } catch (error) {
    console.error('API调用失败:', error);
  }
}

结果获取方式

方式1:WebHook回调(推荐)

// 你的回调接口需要处理的数据格式
const callbackData = {
  "id": "f44bcf50-f2d0-4c26-a467-26f2014a771b",
  "results": [
    {
      "url": "https://example.com/generated_video.mp4",
      "removeWatermark": true,
      "pid": "s_6916910fc8548191aa07e106e84b3bb8"
    }
  ],
  "progress": 100,
  "status": "succeeded",
  "failure_reason": "",
  "error": ""
};

方式2:轮询获取结果

// 使用结果查询接口
async function getResult(taskId) {
  const response = await fetch('https://grsai.dakka.com.cn/v1/draw/result', {
    method: 'POST',
    headers: headers,
    body: JSON.stringify({ id: taskId })
  });
  
  return await response.json();
}

// 轮询示例
async function pollResult(taskId, interval = 5000) {
  while (true) {
    const result = await getResult(taskId);
    
    if (result.data.status === 'succeeded') {
      console.log('生成成功:', result.data.results[0].url);
      break;
    } else if (result.data.status === 'failed') {
      console.error('生成失败:', result.data.failure_reason);
      break;
    }
    
    console.log(`进度: ${result.data.progress}%`);
    await new Promise(resolve => setTimeout(resolve, interval));
  }
}

重要注意事项

1.视频规格限制

  • 角色视频最长截取3秒
  • 支持MP4格式,确保URL可公开访问
  • 禁止上传真人视频内容

2.计费与配额

  • 生成失败会返还积分
  • 视频URL有效期为2小时
  • 及时下载生成结果

3.错误处理

// 常见的状态码和错误信息
const errorMessages = {
  "output_moderation": "输出内容违规",
  "input_moderation": "输入内容违规", 
  "error": "其他系统错误"
};

Remix功能APi调用
二次创作功能
使用remixTargetId参数基于已有视频创作续集:

{
  "remixTargetId": "s_6916910fc8548191aa07e106e84b3bb8",
  "prompt": "同样的角色在夜晚的公园中,@character1和@character2在月光下继续他们的冒险"
}

多尺寸输出策略

// 快速预览使用small尺寸
const previewRequest = {
  size: "small",
  duration: 10
};

// 最终输出使用large尺寸  
const finalRequest = {
  size: "large", 
  duration: 15
};

通过GRSAI的Sora 2 API,开发者可以充分利用多角色上传功能,创建出丰富多样的个性化AI视频内容,为应用程序增添强大的视频生成能力。

更详细的Sora 2 Api文档请参考GrsAi控制台

浏览 (9)
充电
收藏
评论