返回顶部
g

google-gemini-mediaGemini媒体API

Use the Gemini API (Nano Banana image generation, Veo video, Gemini TTS speech and audio understanding) to deliver end-to-end multimodal media workflows and code templates for "generation + understanding".

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.1
安全检测
已通过
3,523
下载量
免费
免费
6
收藏
概述
安装方式
版本历史

google-gemini-media

Gemini 多模态媒体(图像/视频/语音)技能

1. 目标与范围

本技能将六项 Gemini API 能力整合为可复用的工作流和实现模板:

  • - 图像生成(Nano Banana:文生图、图像编辑、多轮迭代)
  • 图像理解(描述/VQA/分类/比较、多图像提示;支持内联和 Files API)
  • 视频生成(Veo 3.1:文生视频、宽高比/分辨率控制、参考图像引导、首尾帧、视频扩展、原生音频)
  • 视频理解(上传/内联/YouTube URL;摘要、问答、带时间戳的证据)
  • 语音生成(Gemini 原生 TTS:单说话人和多说话人;可控风格/口音/语速/语调)
  • 音频理解(上传/内联;描述、转录、时间范围转录、Token 计数)

约定:本技能以官方 Google Gen AI SDK(Node.js/REST)为主线;目前仅提供 Node.js/REST 示例。如果你的项目已封装其他语言或框架,请将本技能的请求结构、模型选择和 I/O 规范映射到你的封装层。


2. 快速路由(决定使用哪项能力)

1) 是否需要生成图像?

  • - 需要从头生成图像或基于图像进行编辑 -> 使用 Nano Banana 图像生成(参见第 5 节)

2) 是否需要理解图像?

  • - 需要识别、描述、问答、比较或信息提取 -> 使用 图像理解(参见第 6 节)

3) 是否需要生成视频?

  • - 需要生成 8 秒视频(可选原生音频) -> 使用 Veo 3.1 视频生成(参见第 7 节)

4) 是否需要理解视频?

  • - 需要摘要/问答/带时间戳的片段提取 -> 使用 视频理解(参见第 8 节)

5) 是否需要朗读文本?

  • - 需要可控旁白、播客/有声书风格等 -> 使用 语音生成(TTS)(参见第 9 节)

6) 是否需要理解音频?

  • - 需要音频描述、转录、时间范围转录、Token 计数 -> 使用 音频理解(参见第 10 节)



3. 统一工程约束与 I/O 规范(必读)

3.0 前置条件(依赖和工具)

  • - Node.js 18+(与你的项目版本匹配)
  • 安装 SDK(示例):
bash npm install @google/genai
  • - REST 示例仅需 curl;如需解析图像 Base64,可安装 jq(可选)。

3.1 认证和环境变量

  • - 将 API 密钥放入 GEMINIAPIKEY
  • REST 请求使用 x-goog-api-key: $GEMINIAPIKEY

3.2 两种文件输入模式:内联 vs Files API

内联(嵌入字节/Base64)

  • - 优点:调用链更短,适合小文件。
  • 关键约束:总请求大小(文本提示 + 系统指令 + 嵌入字节)通常有约 20MB 上限。

Files API(上传后引用)

  • - 优点:适合大文件、重复使用同一文件或多轮对话。
  • 典型流程:

1. files.upload(...)(SDK)或 POST /upload/v1beta/files(REST 可续传)
2. 在 generateContent 中使用 filedata / fileuri

工程建议:实现 ensurefileuri(),当文件超过阈值(例如 10-15MB 警告)或需要重复使用时,自动路由到 Files API。

3.3 二进制媒体输出的统一处理

  • - 图像:通常在响应部分中作为 inlinedata(Base64)返回;在 SDK 中使用 part.asimage() 或解码 Base64 并保存为 PNG/JPG。
  • 语音(TTS):通常返回 PCM 字节(Base64);保存为 .pcm 或封装为 .wav(通常为 24kHz、16 位、单声道)。
  • 视频(Veo):长时间运行的异步任务;轮询操作;下载文件(或使用返回的 URI)。

4. 模型选择矩阵(按场景选择)

重要:模型名称、版本、限制和配额可能随时间变化。使用前请与官方文档核对。最后更新:2026-01-22。

4.1 图像生成(Nano Banana)

  • - gemini-2.5-flash-image:针对速度/吞吐量优化;适合频繁、低延迟的生成/编辑。
  • gemini-3-pro-image-preview:更强的指令遵循和高保真文本渲染;更适合专业素材和复杂编辑。

4.2 通用图像/视频/音频理解

  • - 文档使用 gemini-3-flash-preview 进行图像、视频和音频理解(根据需要选择更强的模型以平衡质量/成本)。

4.3 视频生成(Veo)

  • - 示例模型:veo-3.1-generate-preview(生成 8 秒视频并可原生生成音频)。

4.4 语音生成(TTS)

  • - 示例模型:gemini-2.5-flash-preview-tts(原生 TTS,目前为预览版)。

5. 图像生成(Nano Banana)

5.1 文生图

SDK(Node.js)最小模板
js
import { GoogleGenAI } from @google/genai;
import * as fs from node:fs;

const ai = new GoogleGenAI({ apiKey: process.env.GEMINIAPIKEY });

const response = await ai.models.generateContent({
model: gemini-2.5-flash-image,
contents:
Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme,
});

const parts = response.candidates?.[0]?.content?.parts ?? [];
for (const part of parts) {
if (part.text) console.log(part.text);
if (part.inlineData?.data) {
fs.writeFileSync(out.png, Buffer.from(part.inlineData.data, base64));
}
}

REST(带 imageConfig)最小模板
bash
curl -s -X POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image:generateContent -H x-goog-api-key: $GEMINIAPIKEY -H Content-Type: application/json -d {
contents:[{parts:[{text:Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme}]}],
generationConfig: {imageConfig: {aspectRatio:16:9}}
}

REST 图像解析(Base64 解码)
bash
curl -s -X POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image:generateContent \
-H x-goog-api-key: $GEMINIAPIKEY \
-H Content-Type: application/json \
-d {contents:[{parts:[{text:A minimal studio product shot of a nano banana}]}]} \
| jq -r .candidates[0].content.parts[] | select(.inlinedata) | .inlinedata.data \
| base64 --decode > out.png

macOS 可使用:base64 -D > out.png

5.2 文本+图像到图像

用例:给定一张图像,添加/删除/修改元素,更改风格、色调等。

SDK(Node.js)最小模板
js
import { GoogleGenAI } from @google/genai;
import * as fs from node:fs;

const ai = new GoogleGenAI({ apiKey: process.env.GEMINIAPIKEY });

const prompt =
Add a nano banana on the table, keep lighting consistent, cinematic tone.;
const imageBase64 = fs.readFileSync(input.png).toString(base64);

const response = await ai.models.generateContent({
model: gemini-2.5-flash-image,
contents: [
{ text: prompt },
{ inlineData: { mimeType: image/png, data: imageBase64 } },
],
});

const parts = response.candidates?.[0]?.content?.parts ?? [];
for (const part of parts) {
if (part.inlineData?.data) {
fs.writeFileSync(edited.png, Buffer.from(part.inlineData.data, base64));
}
}

5.3 多轮图像迭代(多轮编辑)

最佳实践:使用聊天进行连续迭代(例如:先生成,然后仅编辑特定区域/元素,然后以相同风格生成变体)。
要输出混合的文本 + 图像结果,请设置

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 google-gemini-media-1776380985 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 google-gemini-media-1776380985 技能

通过命令行安装

skillhub install google-gemini-media-1776380985

下载

⬇ 下载 google-gemini-media v1.0.1(免费)

文件大小: 6.96 KB | 发布时间: 2026-4-17 16:16

v1.0.1 最新 2026-4-17 16:16
- Major simplification: all standalone example scripts and extra documentation files were removed.
- The main SKILL.md documentation was retained and is now the single point of reference.
- Examples for Node.js, Python, and REST are no longer included as separate files.
- Usage guidance, capabilities, and technical details are still available in SKILL.md.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部