Skill: chengzipidaily/bona-version-skill (version 0.1.0)

--- name: bona-movie-production description: "Bona Movie Production is Bona Group's film-grade production skill. It covers image generation, image editing, and video generation, using Nano Banana 2 and Nano Banana Pro for images, and Seedance plus generate_video_kling_v3 for videos." license: MIT compatibility: "需要 Python 3.9+，依赖 requests。" metadata: author: chengzipi version: "1.0.0" python-version: ">=3.9" dependencies: - requests tags: - ai-image - ai-video - bona - movie-production env: - name: BONA_API_KEY required: true desc: "Bona API Key" - name: TENCENT_VIDEO_TIMEOUT required: false desc: "HTTP 超时时间，默认 600 秒" --- # Bona Movie Production 这是博纳集团电影级的制作 Skill，包含： - 图片生成 - 图片编辑 - 视频生成 流程： - 创建任务后，持续轮询查询任务结果 - 轮询状态为 `9` 说明生成完毕 - `-1` 为生成失败 - `1` 是正在生成中 - 图片大概 `1min` - 视频大概 `3-5min` 当前 Skill 只使用四个模型： - 图片：`generate_image_nano_banana_2`、`generate_image_nano_banana_pro` - 视频：`generate_video_seedance`、`generate_video_kling_v3` 使用前先配置环境变量： ```bash export BONA_API_KEY="your_api_key" ``` ## 一、图片生成 - `Nano Banana 2` 更偏理解能力。适合复杂指令、参考图理解、换视角、文本渲染、多图关系理解。 - `Nano Banana Pro` 更偏最终质量。适合高质量成片、商业视觉、海报、封面、九宫格或 5x5 宫格输出。 ### 1. `generate_image_nano_banana_2` 适合： - 指令复杂 - 要求理解更强 - 文字内容多 - 多元素关系清晰 参数规则： - 分辨率：`0.5K`、`1K`、`2K`、`4K` - 比例：`1:1`、`1:4`、`1:8`、`2:3`、`3:2`、`3:4`、`4:1`、`4:3`、`4:5`、`5:4`、`8:1`、`9:16`、`16:9`、`21:9` Prompt 写法： - 必须用英文 - 用户需求清晰时，尽量保持原意 - 不清晰时，按 主体 + 场景 + 风格 + 光线 + 细节 来写 - 如果要文字渲染，直接把文字内容写进 prompt 示例： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-image \ --tool-name generate_image_nano_banana_2 \ --image-name "hero-character-design" \ --prompt "A modern bookstore cafe interior with warm wood shelves, soft afternoon sunlight, a handwritten chalkboard menu, calm and inviting atmosphere, editorial interior photography" \ --task-type TEXT_TO_IMAGE \ --resolution 2K \ --aspect-ratio 4:3 ``` ### 2. `generate_image_nano_banana_pro` 适合： - 成片质量优先 - 广告图 - 质感、细节、商业感更重要 参数规则： - 分辨率：`1K`、`2K`、`4K` - 比例：`21:9`、`16:9`、`4:3`、`3:2`、`1:1`、`9:16`、`3:4`、`2:3`、`5:4`、`4:5` Prompt 写法： - 必须用英文 - 适合写高质量商业表达 - 强调材质、光线、构图、品牌感 示例： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-image \ --tool-name generate_image_nano_banana_pro \ --image-name "premium-key-visual" \ --prompt "A premium skincare bottle on polished black stone, controlled studio side lighting, luxury beauty advertising, sharp reflections, elegant minimal composition" \ --task-type TEXT_TO_IMAGE \ --resolution 4K \ --aspect-ratio 4:5 ``` ## 二、图片编辑 ### 1. `generate_image_nano_banana_2` 适合： - 精确编辑 - 改一处、保留其余不变 - 对指令理解要求高 Prompt 写法： - 必须用英文 - 明确要保留什么 - 明确只改什么 - 常用句式： `change only X to Y` `add/remove X while keeping everything else unchanged` 示例： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-image \ --tool-name generate_image_nano_banana_2 \ --image-name "character-bg-edit" \ --prompt "Change only the wall color to muted olive green while keeping the furniture, layout, lighting, and camera angle unchanged" \ --image-url https://example.com/room.png \ --task-type EDIT_SINGLE_IMAGE \ --aspect-ratio 4:3 \ --resolution 1K ``` ### 2. `generate_image_nano_banana_pro` 适合： - 成片质感优先的编辑 - 海报、封面、商业人像精修 示例： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-image \ --tool-name generate_image_nano_banana_pro \ --image-name "fashion-campaign-edit" \ --prompt "Change only the background to a luxury hotel lobby, keeping the model pose, facial expression, clothing, and lighting direction unchanged, premium fashion campaign look" \ --image-url https://example.com/model.png \ --task-type EDIT_SINGLE_IMAGE \ --aspect-ratio 3:4 \ --resolution 2K ``` ## 三、参考图生成 ### 1. `generate_image_nano_banana_2` 适合： - 参考图理解 - 角色一致性 - 多图语义关系清晰 Prompt 写法： - 必须用英文 - 用 `the first image`、`the second image` - 明确每张参考图负责什么 - 如果要角色一致，直接写 `keep character consistent` 示例： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-image \ --tool-name generate_image_nano_banana_2 \ --image-name "character-consistency-scene" \ --prompt "Refer to the first image for the character appearance and the second image for the outfit details. Keep character consistent and place her in a futuristic subway station with cinematic lighting." \ --image-url https://example.com/char.png \ --image-url https://example.com/outfit.png \ --task-type REFERENCE_TO_IMAGE \ --aspect-ratio 9:16 \ --resolution 2K ``` ### 2. `generate_image_nano_banana_pro` 适合： - 品牌 KV - 人物、商品一致性但最终输出更重质量 示例： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-image \ --tool-name generate_image_nano_banana_pro \ --image-name "premium-reference-kv" \ --prompt "Refer to the first image for the product shape and the second image for the lighting mood. Create a premium hero shot with clean reflections and luxury beauty campaign quality." \ --image-url https://example.com/product.png \ --image-url https://example.com/light.png \ --task-type REFERENCE_TO_IMAGE \ --aspect-ratio 1:1 \ --resolution 4K ``` ## 四、转视角 这个任务更推荐 `Nano Banana 2`。 原因： - 它对结构理解更强 - 更适合“同一主体换角度、换视角、转三视图” Prompt 写法： - 必须用英文 - 明确是同一主体 - 明确要变成什么视角 - 保留哪些元素不变 示例 1：单图转侧视角 ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-image \ --tool-name generate_image_nano_banana_2 \ --image-name "product-side-view" \ --prompt "Use the first image as the same product reference. Change the camera view from front view to left side view, while keeping material, color, proportions, and design details unchanged." \ --image-url https://example.com/product-front.png \ --task-type REFERENCE_TO_IMAGE \ --aspect-ratio 1:1 \ --resolution 2K ``` 示例 2：角色转背视角 ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-image \ --tool-name generate_image_nano_banana_2 \ --image-name "character-rear-view" \ --prompt "Use the first image as the same character reference. Generate a clean rear view of the same character, keeping hairstyle, clothing, silhouette, and proportions consistent." \ --image-url https://example.com/character-front.png \ --task-type REFERENCE_TO_IMAGE \ --aspect-ratio 3:4 \ --resolution 2K ``` 示例 3：角色三视图 ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-image \ --tool-name generate_image_nano_banana_2 \ --image-name "character-turnaround-sheet" \ --prompt "Use the first image as the same character reference. Create a character turnaround sheet showing front view, side view, and back view, consistent design, clean white background, concept art presentation." \ --image-url https://example.com/character.png \ --task-type REFERENCE_TO_IMAGE \ --aspect-ratio 16:9 \ --resolution 4K ``` ## 五、九宫格和 5x5 宫格 这种任务更推荐 `Nano Banana Pro`。 原因： - 最终输出质量更好 - 适合整页构图 - 更适合海报、角色表、商品矩阵图 Prompt 写法： - 必须用英文 - 明确是几宫格 - 明确每格内容是否一致风格 - 明确整体版式和背景 - 最好逐格指定构图，至少写清每一格的景别、角度或主体动作 - 推荐写法：`panel 1 ... panel 2 ... panel 3 ...`，不要只写“九个不同画面” 示例 1：九宫格人物造型板 ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-image \ --tool-name generate_image_nano_banana_pro \ --image-name "character-style-board-3x3" \ --prompt "Create a 3x3 character style board for the same girl in one image, consistent character design, clean editorial layout, white background, fashion mood board quality. Panel 1 full-body front standing pose. Panel 2 full-body left side view. Panel 3 full-body back view. Panel 4 medium shot looking up with arms crossed. Panel 5 medium shot smiling toward camera. Panel 6 medium shot turning while hair moves. Panel 7 close-up calm expression. Panel 8 close-up laughing expression. Panel 9 seated three-quarter view with elegant pose." \ --task-type TEXT_TO_IMAGE \ --aspect-ratio 1:1 \ --resolution 4K ``` 示例 2：九宫格商品展示图 ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-image \ --tool-name generate_image_nano_banana_pro \ --image-name "product-grid-3x3" \ --prompt "Create a 3x3 product grid in one image for the same sneaker, nine clean panels showing different angles and close-up details, premium e-commerce presentation, consistent lighting, white studio background." \ --task-type TEXT_TO_IMAGE \ --aspect-ratio 1:1 \ --resolution 4K ``` 示例 3：5x5 表情宫格 ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-image \ --tool-name generate_image_nano_banana_pro \ --image-name "expression-sheet-5x5" \ --prompt "Create a 5x5 facial expression sheet in one image for the same anime girl, twenty-five panels, consistent character design, each panel with a different expression, clean character sheet layout, white background." \ --task-type TEXT_TO_IMAGE \ --aspect-ratio 1:1 \ --resolution 4K ``` 示例 4：5x5 icon / sticker sheet ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-image \ --tool-name generate_image_nano_banana_pro \ --image-name "sticker-sheet-5x5" \ --prompt "Create a 5x5 sticker sheet in one image, twenty-five cute food icons, consistent illustration style, balanced spacing, bright clean colors, packaging-ready quality." \ --task-type TEXT_TO_IMAGE \ --aspect-ratio 1:1 \ --resolution 4K ``` ## 六、文生视频 当用户只有文本描述，没有首帧、尾帧、参考图、参考视频、参考音频时，按文生视频处理。 ### 1. `generate_video_kling_v3` 适合： - 默认首选文生视频 - 要更强镜头感 - 想要音画表现更完整 - 短时长电影感镜头 参数规则： - 比例：`16:9`、`9:16`、`1:1` - 时长：推荐 `5`、`10` - 模式：`std`、`pro` - 声音：`on`、`off` - 支持多镜头 `shot_prompts` Prompt 写法： - 清楚写主体、动作、镜头运动、场景、光线 - 单镜头直接写完整 prompt - 多镜头时优先拆成 `shot_prompts` - 如果要声音氛围，可直接写进 prompt 示例： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-video \ --tool-name generate_video_kling_v3 \ --video-name "teaser-shot-01" \ --prompt "A young woman walking through a rainy neon street at night, reflections on the wet ground, camera slowly tracking forward, blue and pink neon lighting, cinematic atmosphere, realistic motion" \ --duration 5 \ --aspect-ratio 16:9 \ --mode pro \ --sound on ``` ### 2. `generate_video_seedance` 适合： - 文生视频 - 更强运动质量 - 后续可能扩展到参考素材模式 参数规则： - 比例：`21:9`、`16:9`、`4:3`、`1:1`、`3:4`、`9:16` - 时长：`4-15` - 分辨率：`480P`、`720P` - 文生模式下不要同时传首尾帧或参考素材 Prompt 写法： - 清楚描述主体、动作、镜头、光线 - 优先写成单镜头 - 不要太抽象，尽量写清动作节奏 示例： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-video \ --tool-name generate_video_seedance \ --video-name "character-motion-shot" \ --prompt "A fashion model turns slowly toward camera, fabric moves naturally, soft cinematic backlight, stable single-shot motion" \ --duration 6 \ --aspect-ratio 9:16 \ --resolution 720P ``` ## 七、首帧生视频 当用户提供一张起始图片，希望把静态图做成视频时，按首帧生视频处理。 ### 1. `generate_video_kling_v3` 适合： - 首帧图转视频默认首选 - 人物轻动作 - 海报起身 - 电影感人物镜头 参数规则： - 起始帧可传 `--start-frame` - 支持 `16:9`、`9:16`、`1:1` - 时长推荐 `5`、`10` 示例： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-video \ --tool-name generate_video_kling_v3 \ --video-name "character-i2v" \ --prompt "The character slowly turns her head, blinks naturally, and breathes subtly. Keep the framing stable and cinematic." \ --start-frame https://example.com/character-first-frame.png \ --duration 5 \ --aspect-ratio 9:16 \ --mode pro ``` ### 2. `generate_video_seedance` 适合： - 起始帧驱动动画 - 更重运动质量 - 人物、服装、动态保持自然 参数规则： - 比例：`21:9`、`16:9`、`4:3`、`1:1`、`3:4`、`9:16` - 时长：`4-15` - 分辨率：`480P`、`720P` Prompt 写法： - 如果用了起始帧，重点写动作变化，不要重复描述外观 - 清楚写镜头和动作 示例： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-video \ --tool-name generate_video_seedance \ --video-name "seedance-first-frame" \ --prompt "The subject smiles slightly and the camera pushes in gently, preserving identity and costume details." \ --start-frame https://example.com/char.png \ --duration 5 \ --aspect-ratio 9:16 \ --resolution 720P ``` ## 八、首尾帧视频 当用户同时提供起始图和结束图，希望做中间插帧和过渡时，按首尾帧视频处理。 ### 1. `generate_video_kling_v3` 适合： - 默认首选 - 标准首尾帧过渡 - 电影感过渡镜头 参数规则： - 传尾帧时必须同时传首帧 - 若不想生成声音，建议 `--sound off` 示例： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-video \ --tool-name generate_video_kling_v3 \ --video-name "start-end-transition" \ --prompt "A smooth cinematic transition from the first frame to the final frame, with natural body movement and stable camera motion." \ --start-frame https://example.com/start.png \ --end-frame https://example.com/end.png \ --duration 5 \ --aspect-ratio 16:9 \ --mode pro \ --sound off ``` ### 2. `generate_video_seedance` 适合： - 首尾帧过渡 - 更强调动作质量 - 人物、产品从 A 状态平滑过渡到 B 状态 参数规则： - `image_end_frame` 存在时，必须有 `image_start_frame` - 首尾帧模式和参考模式互斥 示例： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-video \ --tool-name generate_video_seedance \ --video-name "seedance-start-end" \ --prompt "The character walks from the first pose into the final pose with continuous natural motion and matching costume dynamics." \ --start-frame https://example.com/start-pose.png \ --end-frame https://example.com/end-pose.png \ --duration 6 \ --aspect-ratio 3:4 \ --resolution 720P ``` ## 九、参考图视频 当用户希望人物、产品、IP 形象保持一致性，且提供了一张或多张参考图时，按参考图视频处理。 ### 推荐模型 #### 1. `generate_video_seedance` 适合： - 参考图较多 - 人物一致性视频 - 商品一致性视频 - 还可能接参考视频、参考音频 参数规则： - 参考图：`1-6` - 一旦用了参考模式，就不能同时再传首帧或尾帧 Prompt 写法： - 不重复描述人物长相 - 重点写动作、镜头、场景和情绪 示例： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-video \ --tool-name generate_video_seedance \ --video-name "reference-image-driven-video" \ --prompt "Keep the same character identity and create a slow cinematic walk toward camera with subtle wind in hair and coat." \ --reference-image https://example.com/ref1.png \ --reference-image https://example.com/ref2.png \ --reference-image https://example.com/ref3.png \ --duration 5 \ --aspect-ratio 16:9 \ --resolution 720P ``` ## 十、参考视频视频 当用户提供参考视频，希望做视频风格迁移、动作参考或节奏参考时，按参考视频视频处理。 ### 推荐模型 #### 1. `generate_video_seedance` 适合： - 参考视频 - 动作节奏参考 - 镜头运动参考 - 后续还要接参考音频 参数规则： - 参考视频：`1-3` - 与首尾帧模式互斥 Prompt 写法： - 重点写要保留什么运动能量、节奏、镜头感 - 不要写成和参考视频完全无关的内容 示例： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-video \ --tool-name generate_video_seedance \ --video-name "reference-video-driven-video" \ --prompt "Keep the same motion energy as the reference and generate a stylish commercial shot, clean body rhythm, strong fashion lighting." \ --reference-video https://example.com/motion.mp4 \ --duration 5 \ --aspect-ratio 16:9 \ --resolution 720P ``` ## 十一、参考音频视频 当用户提供参考音频，希望根据节拍、对白节奏或音乐做视频时，按参考音频视频处理。 ### 推荐模型 #### 1. `generate_video_seedance` 适合： - 音乐卡点视频 - 根据音频节奏做动作 - 有对白或旁白节奏参考 参数规则： - 参考音频：`1-3` - 与首尾帧模式互斥 Prompt 写法： - 写清动作、节奏、beat、卡点方式 - 适合音乐感强的 prompt 示例： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py create-video \ --tool-name generate_video_seedance \ --video-name "audio-driven-video" \ --prompt "Generate a stylish dance clip matching the reference beat, strong rhythmic body movement, clean timing accents, energetic stage lighting." \ --reference-audio https://example.com/beat.mp3 \ --duration 5 \ --aspect-ratio 9:16 \ --resolution 720P ``` ## 十二、查询任务 图片查询： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py query-image \ --task-id your-task-id ``` 视频查询： ```bash python skills/bona-movie-production/scripts/bona_movie_production.py query-video \ --task-id your-task-id ``` 状态说明： - `1`：进行中 - `9`：完成 - `-1`：失败 查询判断规则： - 先看 `status`，不要先看 `result_url` - `status = 1` 时，即使 `result_url` 为空，也只是任务还在跑，不能判断为失败 - `status = 9` 时，才去读取 `result_url` - `status = -1` 时，才按失败处理，并查看 `error_code`、`error_message` - 不要因为 `result_url` 暂时为空，就改判成“接口行为变了”或“需要重新生成” - 只有确认 `status = -1`，或者长时间轮询后仍没有进入终态，才考虑进一步排查 - `status = 9` 但 `result_url` 仍为空时，只能说明“任务已完成，但当前回包没有返回结果地址” 推荐理解方式： - `status = 1`：继续查询 - `status = 9`：返回结果链接 - `status = -1`：返回失败原因 和视频联动时的规则： - 如果用户要求“先生成分镜图，再用分镜图生成视频”，这就是两段任务，不能混成一个纯文生视频任务 - 只有真正拿到分镜图 URL 或本地文件后，才能进入下一步视频生成 - 如果图片任务 `status = 9` 但没有可用图片地址，要停在这里如实汇报，而不是自动改成“直接文生视频” ## 十四、实用建议 - 默认普通文生图：先用 `Nano Banana Pro` - 复杂理解、换视角、参考图关系、多图任务：优先 `Nano Banana 2` - 九宫格、5x5 宫格、海报、成片质量：优先 `Nano Banana Pro` - 默认普通文生视频：先用 `generate_video_kling_v3` - 参考图、参考视频、参考音频、多素材一致性：优先 `generate_video_seedance` - 如果只想先看参数，用 `--print-payload`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)