Nano Banana Cut 图片生成切割,用于短视频创作,解决角色一致性问题和故事叙事

Polar Sponsor
爱发电 赞助
.NET 9.0

AI图片生成与智能切割工具,基于AceData Nano Banana模型,支持多分辨率多尺寸生成,自动切割为2/4/6/9宫格,具备瀑布流作品管理与批量下载功能。场景:(1)输入prompt生成AI图片并自动切割成多宫格 (2)上传图片智能切割 (3)管理作品并打包下载

Nano-Banana-Cut AI图片生成切割工具

功能概述

Nano-Banana-Cut AI图片生成切割工具是一项面向实际任务的技能,主要用于📖 功能说明;banana-cut 是一个功能强大的 AI 图片生成与智能切割工具,基于 AceData Nano Banana 系列模型,提供完整的 Web 界面进行图片生成、切割和管理;

核心要点

  • 🎨 图片生成;
  • 多种模型支持 :Nano Banana Pro、Nano Banana 2;
  • 多种分辨率 :1:1(方形)、16:9(横屏)。

使用与执行

它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Nano-Banana-Cut AI图片生成切割工具

📖 功能说明

banana-cut 是一个功能强大的 AI 图片生成与智能切割工具,基于 AceData Nano Banana 系列模型,提供完整的 Web 界面进行图片生成、切割和管理。

核心功能

🎨 图片生成

  • 多种模型支持:Nano Banana Pro、Nano Banana 2
  • 多种分辨率:1:1(方形)、16:9(横屏)、9:16(竖屏)、4:3(标准)、3:4(竖版)
  • 多种质量:1K (1024px)、2K (2048px)、4K (4096px)
  • 图生图:支持最多上传 6 张参考图进行图片编辑

✂️ 智能切割

  • 多种宫格:支持 2/4/6/9 宫格切割
  • 智能适配:自动识别横竖比例,智能选择最佳切割方式
  • 独立工具:提供独立的切割 API,可单独使用

🖼️ 作品管理

  • 瀑布流展示:自动适配不同图片比例,美观展示所有作品
  • 缩略图生成:自动生成 480P 缩略图
  • 批量下载:支持 ZIP 打包下载(原图 + 切割图 + 缩略图 + 生成信息)
  • 文件管理:一键打开文件目录

🎯 任务管理

  • 多任务并发:支持多个任务同时轮询,互不阻塞
  • 智能轮询:第一次延迟 1 分钟,之后每 30 秒查询一次
  • 任务恢复:服务重启后自动恢复未完成任务
  • 错误重试:失败任务支持一键重新获取

🎨 用户体验

  • 双主题:支持亮色/暗色主题切换
  • 实时预览:图片预览、切割图预览
  • 本地存储:自动保存用户配置(模型、分辨率、质量、宫格数)

🚀 快速开始

1. 启动服务

cd C:Users86137.openclawworkspaceskillsbanana-cut
python server.py

访问地址:http://localhost:697

2. 配置 API 密钥

首次访问会自动弹出配置窗口,需要填写:

  • API_KEY(必填):用于图片生成功能
  • PLATFORM_TOKEN(可选):仅图生图/图片编辑功能需要

获取密钥:https://share.acedata.cloud/r/1uN88BrUTQ

配置会保存到 .env 文件中。

3. 生成图片

  1. 输入提示词(支持中英文)
  2. 选择模型、分辨率、质量
  3. 选择宫格数(1/2/4/6/9)
  4. 点击生成按钮
  5. 等待任务完成(前端自动轮询)

4. 图生图(可选)

  1. 点击左下角图片图标上传参考图(最多 6 张)
  2. 输入提示词描述编辑需求
  3. 点击生成按钮

📁 文件结构

banana-cut/
├── server.py              # Flask 主服务器
├── task.py                # 独立任务处理脚本
├── cut.py                 # 图片切割工具
├── upload.py              # 图片上传工具
├── set.json               # 配置文件(模型、分辨率、质量)
├── prompt.md              # 提示词模板
├── .env                   # 环境变量(API密钥)
├── .env.example           # 环境变量示例
├── SKILL.md               # 本文档
├── data/
│   └── works.db           # SQLite 数据库
└── templates/
    ├── index.html         # 主页面(瀑布流)
    └── admin.html         # 管理后台

⚙️ 配置说明

set.json 配置文件

{
  "server": {
    "url": "https://api.acedata.cloud/nano-banana/images",
    "task_url": "https://api.acedata.cloud/nano-banana/tasks",
    "upload_url": "https://platform.acedata.cloud/api/v1/files/",
    "apikey": ""
  },
  "models": [
    {"name": "Nano Banana Pro", "model": "nano-banana-pro", "logo": "🍌"},
    {"name": "Nano Banana 2", "model": "nano-banana-2", "logo": "🍌"}
  ],
  "resolutions": [
    {"name": "1:1 方形", "ratio": "1:1", "icon": "■"},
    {"name": "16:9 横屏", "ratio": "16:9", "icon": "▬"},
    {"name": "9:16 竖屏", "ratio": "9:16", "icon": "▮"},
    {"name": "4:3 标准", "ratio": "4:3", "icon": "▭"},
    {"name": "3:4 竖版", "ratio": "3:4", "icon": "▯"}
  ],
  "qualities": [
    {"name": "1K (1024px)", "size": "1K", "icon": "🖥️"},
    {"name": "2K (2048px)", "size": "2K", "icon": "🖥️"},
    {"name": "4K (4096px)", "size": "4K", "icon": "🖥️"}
  ],
  "save_path": "C:/Users/86137/Desktop/banana"
}

注意事项:

  • apikey 字段已废弃,请使用 .env 文件配置
  • save_path 可自定义图片保存路径

.env 环境变量

# 请访问 https://share.acedata.cloud/r/1uN88BrUTQ 获取以下配置
API_KEY=your-api-key-here
PLATFORM_TOKEN=your-platform-token-here

prompt.md 提示词模板

生成图片时会自动读取该文件,将 {num} 替换为选择的宫格数,可自定义模板内容。

##生成要求:##
严格生成一张{num}宫格的高质量图片,每个格子的内容根据输入的提示词完全独立...

##用户要求:##
{prompt}

🗄️ 数据库结构

数据库文件:data/works.db

works 表结构

字段 类型 说明
id INTEGER 主键,自增
model TEXT 使用的模型
date TEXT 生成日期,格式 YYYY-MM-DD HH:MM:SS
state INTEGER 状态:1=生成中,10=成功,99=失败,0=文件丢失
prompt TEXT 生成提示词
ratio TEXT 分辨率比例
quality TEXT 图片质量
task_id TEXT 模型返回的任务ID
num INTEGER 切割宫格数:1/2/4/6/9
path TEXT 保存目录路径
filename TEXT 主图文件名
ext TEXT 图片扩展名
request_data TEXT 请求参数JSON
error TEXT 错误信息
respond TEXT 接口返回内容JSON

💾 保存目录结构

每个生成任务会创建独立目录:保存路径/YYYYMMDDHHMMSS/

目录下包含:

  • main.ext:生成的原始主图
  • 480p.ext:480P 缩略图
  • 1.ext ~ n.ext:切割后的子图(n=宫格数)
  • data.txt:生成信息和参数说明

🔌 API 接口

配置相关

GET /api/config/check

检查配置状态

返回:

{
  "success": true,
  "msg": "配置正常"
}

POST /api/config/save

保存配置

参数:

{
  "api_key": "your-api-key",
  "platform_token": "your-platform-token"
}

GET /api/config

获取配置(模型、分辨率、质量)

图片生成

POST /api/generate

生成图片

参数:

{
  "prompt": "图片描述",
  "model": 0,
  "ratio": 0,
  "quality": 1,
  "num": 9,
  "images": []
}

返回:

{
  "success": true,
  "msg": "任务提交成功",
  "work_id": 1
}

GET /api/poll/:id

轮询任务状态

返回:

{
  "success": true,
  "data": {
    "state": 10,
    "error": "",
    "task_id": "xxx",
    "respond": {}
  }
}

作品管理

GET /api/works

获取所有作品列表

GET /api/work/:id

获取单个作品详情

GET /api/download/:id

打包下载作品

POST /api/open-folder/:id

打开文件目录

图片上传

POST /api/upload

上传图片(需要 PLATFORM_TOKEN)

图片切割

POST /api/cut

切割图片

参数:

{
  "path": "图片路径",
  "num": 9,
  "out": "输出目录(可选)"
}

管理接口

GET /api/admin/works

获取所有任务(管理后台)

POST /api/admin/retry/:id

重试任务

POST /api/admin/close/:id

关闭任务

POST /api/admin/delete/:id

删除任务

POST /api/shutdown

关闭服务

🛠️ 独立工具使用

cut.py - 图片切割工具

python cut.py -path 图片路径 -num 9 [-out 输出目录]

参数:

  • -path:图片路径(必填)
  • -num:宫格数 2/4/6/9(必填)
  • -out:输出目录(可选,默认原图片目录)

task.py - 任务处理工具

python task.py -id 任务ID
python task.py -task_id 模型任务ID

参数:

  • -id:数据库任务ID
  • -task_id:模型返回的任务ID
  • -num:宫格数(可选,默认读取数据库)

upload.py - 图片上传工具

python upload.py -file 图片路径

🎯 使用场景

场景1:生成九宫格图片

  1. 打开 http://localhost:697
  2. 输入提示词:"生成一张3x3九宫格电影海报图片"
  3. 选择 9 宫格
  4. 点击生成
  5. 等待完成,查看瀑布流展示

场景2:图生图编辑

  1. 上传参考图(最多6张)
  2. 输入描述:"参考原图风格,生成..."
  3. 点击生成
  4. 查看结果

场景3:管理已生成作品

  1. 点击作品查看详情
  2. 下载 ZIP 打包
  3. 打开文件目录
  4. 以图生图

场景4:失败任务重试

  1. 切换到错误记录视图(导航栏感叹号按钮)
  2. 点击失败任务查看详情
  3. 点击"重新获取"
  4. 查看实时日志

🔧 故障排除

问题1:未配置 API_KEY

症状:自动弹出配置窗口

解决:填写 API_KEY,保存后刷新页面

问题2:图片生成失败

症状:任务状态为失败

解决:

  1. 查看错误详情
  2. 检查 API_KEY 是否正确
  3. 点击"重新获取"重试

问题3:服务启动失败

症状:端口被占用

解决:

# 查看端口占用
netstat -ano | findstr :697

# 结束进程
taskkill /F /PID 进程ID

# 重新启动
python server.py

问题4:瀑布流布局错乱

症状:图片显示异常

解决:刷新页面,前端会重新初始化 Masonry

📊 性能优化

多任务并发

  • 支持多个任务同时轮询
  • 每个任务独立定时器,互不阻塞
  • 第一次延迟 1 分钟,之后每 30 秒查询

前端轮询

  • 轮询逻辑完全由前端控制
  • 减少服务器压力
  • 支持页面刷新自动恢复

数据库优化

  • 使用 SQLite 轻量级数据库
  • 自动检测并添加新字段
  • 支持旧数据库平滑升级

🔄 更新日志

v2.0.0 (2026-03-25)

  • ✅ 修复数据库表结构缺少 respond 字段
  • ✅ 移除 API Key 硬编码,改用环境变量
  • ✅ 修复全局锁导致任务阻塞问题
  • ✅ 优化任务恢复机制
  • ✅ 修复瀑布流缩小问题
  • ✅ 修复弹窗重叠问题
  • ✅ 优化轮询策略(第一次1分钟,之后30秒)
  • ✅ 支持多任务并发轮询
  • ✅ 清理无用文件

v1.0.0 (2026-03-23)

  • 🎉 初始版本发布
  • ✅ 基础图片生成功能
  • ✅ 智能切割功能
  • ✅ 瀑布流展示
  • ✅ 批量下载功能

📝 开发者备注

技术栈

  • 后端:Flask + SQLite + PIL
  • 前端:jQuery + Masonry + imagesLoaded
  • API:AceData Nano Banana API

扩展建议

  1. 添加更多 AI 模型支持
  2. 添加图片滤镜功能
  3. 添加批量生成功能
  4. 添加用户认证系统
  5. 添加 WebSocket 实时推送

贡献代码

欢迎提交 Issue 和 Pull Request!

📄 许可证

MIT License

🆘 获取帮助

  • 文档:本 SKILL.md 文件
  • API 官网:https://share.acedata.cloud/r/1uN88BrUTQ
  • 问题反馈:在 OpenClaw 社区提问

联系我们

email: zhuxi0906@gmail.com 微信 jakeycis 如果有功能开发需求,可以联系我,由于开放语言和方案的改变,这个skill还有一些小BUG没完成。

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

0

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134万人学习