ITPub博客

首页 > 人工智能 > 人工智能 > Sora 2 API 接入实战:Cameo 多角色上传 + Remix 二创,0.08/条保姆级教程来了!

Sora 2 API 接入实战:Cameo 多角色上传 + Remix 二创,0.08/条保姆级教程来了!

原创 人工智能 作者:技术开发小白 时间:2025-11-17 21:33:45 0 删除 编辑

 你还记得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 采用多重活体检测技术防止冒充,所以需要几分钟审核时间。

  • 权限配置:创建角色后,你可以精细设置其使用权限,例如仅自己使用、对所有朋友开放,或设置为需要你批准后才能使用。

2. 使用Cameo角色

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


3. 提示词公式

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

案例:

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

注意:

  • 使用"我"或"主角"指代 Cameo 角色

  • 详细描述动作和场景

  • 避免描述面部细节(AI 会自动匹配你的特征)

  • 可以指定服装、场景、氛围

4. Remix二创视频

当你在 Sora App 的瀑布流中浏览视频时,可以直接对感兴趣的公开视频使用 Remix 功能,输入你的新想法来生成全新版本。

  • 元素替换:一键更换视频中的主角,例如将街头漫步的角色换成您自己。

  • 场景转换:无缝切换视频背景,如从东京街头变为赛博都市,AI会自动适配光影。

  • 细节调整:修改道具与氛围,例如将手中的咖啡换成茶,或将雨天变为雪天。

  • 情节续写:基于原视频生成续集,保持角色与画风一致,以延伸叙事(如通过API实现)。


5. 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功能的调用。

编辑

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)模型列表。


基础环境配置

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参数基于已有视频创作续集:

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

多尺寸输出策略


// 快速预览使用small尺寸
const previewRequest = {
  size: "small",
  duration: 10};
  
// 最终输出使用large尺寸  
  const finalRequest = {
  size: "large", 
  duration: 15
};

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

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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70048307/viewspace-3102019/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2025-11-07

  • 博文量
    35
  • 访问量
    46743