用途
本技能将 Gemini API 的六项多模态媒体能力整合为可复用的工作流与实现模板,用于端到端的多模态媒体处理。技能以官方 Google Gen AI SDK(Node.js/REST)为主线,目前仅提供 Node.js/REST 示例;若项目已封装其他语言或框架,可将本技能的请求结构、模型选择与输入输出规范映射到封装层。
主要能力
- 图像生成(Nano Banana):文生图、图像编辑、多轮迭代。
- 图像理解:描述、问答、分类、对比、多图提示,支持内联与 Files API。
- 视频生成(Veo 3.1):文生视频、宽高比与分辨率控制、参考图引导、首尾帧、视频延长、原生音频。
- 视频理解:上传/内联/YouTube URL,摘要、问答、带时间戳证据。
- 语音生成(Gemini 原生 TTS):单说话人与多说话人,可控制风格、口音、语速、语气。
- 音频理解:上传/内联,描述、转录、时间范围转录、token 计数。
使用方式
前置条件:Node.js 18+;安装 SDK:npm install @google/genai;REST 示例仅需 curl,解析图像 Base64 可选装 jq。认证:将 API 密钥放入 GEMINI_API_KEY,REST 请求使用 x-goog-api-key: $GEMINI_API_KEY。
文件输入有两种模式:内联(嵌入字节/Base64,适合小文件,请求总大小通常约 20MB 上限)与 Files API(先上传再引用,适合大文件、复用或多轮对话)。二进制媒体输出处理:图像通常以 inline_data(Base64)返回,可解码保存为 PNG/JPG;语音通常返回 PCM 字节(Base64),保存为 .pcm 或封装为 .wav(常见 24kHz、16 位、单声道);视频为长时异步任务,需轮询操作并下载文件。
模型选择:图像生成可用 gemini-2.5-flash-image(速度/吞吐优化)与 gemini-3-pro-image-preview(指令遵循与高保真文本渲染更强);图像/视频/音频理解文档使用 gemini-3-flash-preview;视频生成示例模型为 veo-3.1-generate-preview(生成 8 秒视频,可原生生成音频);语音生成示例模型为 gemini-2.5-flash-preview-tts(原生 TTS,目前为预览版)。模型名称、版本、限制与配额可能变化,使用前请核对官方文档。
适用场景
- 图像生成与编辑:文生图、基于图像增删改元素、风格与调色调整、多轮迭代编辑。
- 图像理解:识别、描述、问答、对比、信息提取、多图提示。
- 视频生成:生成 8 秒视频(可选原生音频),支持 16:9/9:16 宽高比、720p/1080p/4k 分辨率、视频延长(通常限 720p)、首尾帧控制、最多 3 张参考图。
- 视频理解:摘要、问答、带时间戳的片段提取,支持 Files API 上传、内联数据与公开 YouTube URL。
- 语音生成:可控旁白、播客/有声书风格等;多说话人最多 2 人,说话人名称需与提示中的对话标签一致;voice_name 支持 30 种预置音色,模型可自动检测输入语言并支持 24 种语言。
- 音频理解:音频内容描述(含非语音如鸟鸣、警报)、转录、特定时间范围转录、token 计数。
限制
- 内联模式请求总大小(文本提示 + 系统指令 + 嵌入字节)通常约 20MB 上限,超出需使用 Files API。
- 视频生成延迟从数秒到数分钟不等,需实现超时与重试;生成视频在服务器仅保留有限时间,需及时下载;输出包含 SynthID 水印。
- 音频支持 WAV/MP3/AIFF/AAC/OGG/FLAC 等常见格式;音频 token 化约 32 tokens/秒(约每分钟 1920 tokens,数值可能变化);单次提示音频总时长上限 9.5 小时;多声道音频会被下混;音频会被重采样(具体参数见文档)。
- 多说话人 TTS 最多 2 人。
- 模型名称、版本、限制与配额可能随时间变化,使用前需核对官方文档。
端到端示例
- 示例 A:用 Nano Banana 生成产品图(要求留白、光照一致),再用图像理解自检(文本清晰度、品牌拼写、不安全元素),不满意则送入文+图编辑迭代。
- 示例 B:用 Veo 生成 8 秒镜头(含对话或音效),下载保存(注意保留窗口),上传至视频理解生成分镜 + 时间戳 + 旁白文案(再送入 TTS)。
- 示例 C:上传会议音频并全文转录,转录或总结特定时间范围,再用 TTS 生成重配音。