惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
博客园 - 聂微东
博客园 - 【当耐特】
博客园_首页
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Apple Machine Learning Research
Apple Machine Learning Research
Last Week in AI
Last Week in AI
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网
量子位
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
IT之家
IT之家
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
V
Visual Studio Blog
F
Fortinet All Blogs
Martin Fowler
Martin Fowler

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
Sora2 API接入教程(0.08/条):支持调用Cameo多角色上传+Remix...
2025-11-17 · via 少数派

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

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

Grsai APi(https://grsai.com)是AiAPi源头供应商,提供便宜稳定的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控制台