Sora 2 Cameo多角色上传+Remix二创功能API接入教程,史低0.08/条

news/2025/11/17 22:17:12/文章来源:https://www.cnblogs.com/grsai/p/19234635

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

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

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

{"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控制台

 

2. 使用Cameo角色

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

image

3. 提示词公式

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

案例:

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

注意:

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

  • 详细描述动作和场景

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

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

 

4. Remix二创视频

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

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

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

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

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

image

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

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使用。

image

完整实战案例

 

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

步骤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控制台

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/968357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

info linux

当然可以!你提到的 + #引号 + info linux + #引号 + 是一个在 Linux 系统中常用的命令,用于查看 Linux 内核的文档。它属于 info 命令集,是 man 命令的替代品,主要用于查看系统级的文档。 一、info 命令简介…

AWS云服务深度集成

第一部分:素材管理系统 - 分片上传与断点续传架构 在海量素材上传场景下,网络不稳定、文件巨大(数GB的视频/设计稿)是常态。直接简单上传会导致频繁失败且难以恢复。我们基于 AWS S3 Pre-signed URLs 和 Multipart…

httpd linux 启动

在 Linux 系统中,httpd 通常指的是 Apache HTTP Server,它是一个常用的 Web 服务器软件。如果你想要启动 Apache HTTP Server,可以使用以下几种常见方法:方法一:使用 systemd(适用于大多数现代 Linux 发行版) s…

浅谈 Manacher

问题引入 给定一个长度为 \(n\) 的字符串 \(s\),保证 \(s\) 只由小写字母组成,要求计算出 \(s\) 中最长的连续回文子串的长度。 乍一看,诶我会 \(O(n^3)\) 做法!枚举左右端点然后暴力判断就行。 但是这也太慢了吧!…

第28天(简单题中等题 二分查找)

打卡第二十八天 1道简单题+2道中等题题目:思路:双指针+二分查找 代码: class Solution { public:vector<int> kthSmallestPrimeFraction(vector<int>& arr, int k) {const int n = (int)arr.size();//…

基于MIMO系统的SCMA稀疏码多址接入和MPA消息传递算法matlab仿真

1.算法运行效果图预览2.算法运行软件版本 matlab2022a/matlab2024b 3.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频)................................................................r = de2bi(X, l…

Node.js服务稳定性保障:从热更新到高可用体系

好的,这些问题深入到了Node.js后端架构的核心。下面我将为您系统地拆解这些挑战和我们的解决方案。Node.js服务稳定性保障:从热更新到高可用体系 第一部分:渲染服务的热更新原理与高并发保障 我们的官网/商城渲染服…

一次尝试,3个小时90元的主机游玩和F1电影

一次尝试,3个小时90元的主机游玩和F1电影2025年11月16日 星期日 早上去中影烽禾影城泛悦奥莱店(马房山店),花了90块钱,在PS5上面玩了将近三个小时的风之旅人,比我想象之中的还要可怕,我的忘性大的吓人,除了那个红…

NOIP 模拟赛 8

呜呜呜,直接叫 T1 模拟赛吧。NOIP 模拟赛总结 NOIP 模拟赛 8呜呜呜,直接叫 T1 模拟赛吧。T1 王哥与荷塘(fish) 发现要求的是曼哈顿距离的最远点对。 根据 HZ战神 王战普老师的教导可知。 任意两点的曼哈顿距离可以…

静态路由的配置

11.17配置静态路由实验1、拓扑结构:两台PC机,两台交换机Router 2、连线:PC与Router交叉线连接FastEthernet0/0 Router之间DCE串口线连接Serial2/0口 3、打开接口 Router0和Router1 enable //进入特权模式 config…

读书笔记:“外部表”的进阶使用,它主要解决了三个核心问题:如何切换文件、多用户怎么办,以及一个非常酷的玩法——把系统命令变成表。

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。本文为个人学…

[CF 2166D] Marble Council

思路 肯定是在值域上处理, 类似今年 S T4 的将与未扫描部分相关的部分单独统计 定义 \(c_x\) 为 \(a_i = x\) 的数量 考虑 \(f_{i, j, k}\) 表示考虑到数字 \(i\), 当前要求容量到 \(j\), 当前容量为 \(k\) 的方案数 \…

DP 复习

背包 DP 背包 dp 解决形如用一些物品,有一些限制,装满这个容量的方案/最小代价。 四种板子01背包,循环从高到低 完全背包,循环从低到高 多重背包,二进制分组(低到高)然后01背包 分组背包,每组在最内层,外层跑…

一段话 UOJ

UOJ 比赛胡做UOJ Test Round #1 开始了。 vfk的数据 除了编号的前后缀都一样,长度为第一关键字,字典序为第二关键字排序即可。 这样不需要进行字符串的处理。 record pyx的难题 假定 \(p_x=-1\) 是从 \(S\) 开始考虑…

PG系列:在 ​​psql​​ 客户端中定义参数与动态赋值

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。作为一名长期…

CF1375G Tree Modification 题解

\(\text{CF1375G Tree Modification 题解}\) 相当能引起思考的题目,这里给出两种方法。 首先这个操作相当于把一个节点的孙子及这个孙子的儿子拽上来作为它的儿子,这样的话从下往上合并一定是最优的。那么容易想到的…

AI评价11月17号

AI评价11月17号评: 文章立意准确,抓住了“科技普惠”与“人文关怀”的核心矛盾,并提出了解决问题的方向。但文章在逻辑结构、论证深度和语言表达上存在明显短板,影响了整体得分。 综合得分:65分(满分100分,按申…

避雷:aicodemirror.com --- 酒干倘卖无

避雷:aicodemirror.com --- 酒干倘卖无先是宣传说免费KEY可申请,申请好了送了积分,好不容易配置好Claude, 连上却说免费的用不了。 广告宣传充值赠积分(11点),结果充了值,说积分不送了(10点截止),我说送不了…

9-线性学习

9-线性学习线性学习 线性回归 基本思想:先求出损失函数的最小值,然后找出对应的直线,求出直线参数a和b的值,得到线性回归方程。 就是运用直线来描述数据之间关系的一种算法。 变量之间的关系有函数关系和相关关系。…

AT AGC003 题解

AT AGC003 EditorialA 简单题,由于每一步的距离都可以随意确定,同时只要求最后回到原点,所以只要各个方向上都有相应相反的方向存在即为合法,反之存在一个不匹配的方向则不合法。我的写法绝对傻了。 #include <…