Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
.claude/skills/leoyeai-bona-movie-production/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 740% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 636% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 410% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 333% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 298% | 0% |
这是博纳集团电影级的制作 Skill,包含:
流程:
9 说明生成完毕-1 为生成失败1 是正在生成中1min3-5min当前 Skill 只使用四个模型:
generate_image_nano_banana_2、generate_image_nano_banana_progenerate_video_seedance、generate_video_kling_v3使用前先配置环境变量:
bashexport BONA_API_KEY="your_api_key"
Nano Banana 2更偏理解能力。适合复杂指令、参考图理解、换视角、文本渲染、多图关系理解。
Nano Banana Pro更偏最终质量。适合高质量成片、商业视觉、海报、封面、九宫格或 5x5 宫格输出。
generate_image_nano_banana_2适合:
参数规则:
0.5K、1K、2K、4K1: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:9Prompt 写法:
示例:
bashpython 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
generate_image_nano_banana_pro适合:
参数规则:
1K、2K、4K21:9、16:9、4:3、3:2、1:1、9:16、3:4、2:3、5:4、4:5Prompt 写法:
示例:
bashpython 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
generate_image_nano_banana_2适合:
Prompt 写法:
change only X to Y add/remove X while keeping everything else unchanged
示例:
bashpython 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
generate_image_nano_banana_pro适合:
示例:
bashpython 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
generate_image_nano_banana_2适合:
Prompt 写法:
the first image、the second imagekeep character consistent示例:
bashpython 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
generate_image_nano_banana_pro适合:
示例:
bashpython 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:单图转侧视角
bashpython 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:角色转背视角
bashpython 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:角色三视图
bashpython 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
这种任务更推荐 Nano Banana Pro。
原因:
Prompt 写法:
panel 1 ... panel 2 ... panel 3 ...,不要只写“九个不同画面”示例 1:九宫格人物造型板
bashpython 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:九宫格商品展示图
bashpython 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 表情宫格
bashpython 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
bashpython 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
当用户只有文本描述,没有首帧、尾帧、参考图、参考视频、参考音频时,按文生视频处理。
generate_video_kling_v3适合:
参数规则:
16:9、9:16、1:15、10std、proon、offshot_promptsPrompt 写法:
shot_prompts示例:
bashpython 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
generate_video_seedance适合:
参数规则:
21:9、16:9、4:3、1:1、3:4、9:164-15480P、720PPrompt 写法:
示例:
bashpython 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
当用户提供一张起始图片,希望把静态图做成视频时,按首帧生视频处理。
generate_video_kling_v3适合:
参数规则:
--start-frame16:9、9:16、1:15、10示例:
bashpython 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
generate_video_seedance适合:
参数规则:
21:9、16:9、4:3、1:1、3:4、9:164-15480P、720PPrompt 写法:
示例:
bashpython 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
当用户同时提供起始图和结束图,希望做中间插帧和过渡时,按首尾帧视频处理。
generate_video_kling_v3适合:
参数规则:
--sound off示例:
bashpython 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
generate_video_seedance适合:
参数规则:
image_end_frame 存在时,必须有 image_start_frame示例:
bashpython 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 形象保持一致性,且提供了一张或多张参考图时,按参考图视频处理。
generate_video_seedance适合:
参数规则:
1-6Prompt 写法:
示例:
bashpython 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
当用户提供参考视频,希望做视频风格迁移、动作参考或节奏参考时,按参考视频视频处理。
generate_video_seedance适合:
参数规则:
1-3Prompt 写法:
示例:
bashpython 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
当用户提供参考音频,希望根据节拍、对白节奏或音乐做视频时,按参考音频视频处理。
generate_video_seedance适合:
参数规则:
1-3Prompt 写法:
示例:
bashpython 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
generate_video_kling_v3适合:
参数规则:
index、prompt、durationdurationPrompt 写法:
shot_promptsschema 示例:
json{ "tool_name": "generate_video_kling_v3", "video_name": "multi-shot-trailer", "prompt": "Trailer sequence", "aspect_ratio": "16:9", "duration": 5, "mode": "pro", "sound": "on", "shot_prompts": [ { "index": 0, "prompt": "A dark cinema corridor, camera pushes forward, tense ambience", "duration": "2" }, { "index": 1, "prompt": "The heroine turns back suddenly, dramatic backlight, cloth movement", "duration": "3" } ] }
图片查询:
bashpython skills/bona-movie-production/scripts/bona_movie_production.py query-image \ --task-id your-task-id
视频查询:
bashpython skills/bona-movie-production/scripts/bona_movie_production.py query-video \ --task-id your-task-id
状态说明:
1:进行中9:完成-1:失败查询判断规则:
status,不要先看 result_urlstatus = 1 时,即使 result_url 为空,也只是任务还在跑,不能判断为失败status = 9 时,才去读取 result_urlstatus = -1 时,才按失败处理,并查看 error_code、error_messageresult_url 暂时为空,就改判成“接口行为变了”或“需要重新生成”status = -1,或者长时间轮询后仍没有进入终态,才考虑进一步排查status = 9 但 result_url 仍为空时,只能说明“任务已完成,但当前回包没有返回结果地址”推荐理解方式:
status = 1:继续查询status = 9:返回结果链接status = -1:返回失败原因和视频联动时的规则:
status = 9 但没有可用图片地址,要停在这里如实汇报,而不是自动改成“直接文生视频”Nano Banana ProNano Banana 2Nano Banana Progenerate_video_kling_v3generate_video_seedance--print-payload| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 5,551 | 3,776 | -32% | 1 | 1 | 0% | 871 | 7,314 | +740% | 0 | 0 | — |
case-02 | fail→pass | 5,435 | 6,685 | +23% | 1 | 1 | 0% | 1,064 | 7,831 | +636% | 0 | 0 | — |
case-03 | fail→fail | 8,155 | 15,628 | +92% | 1 | 1 | 0% | 1,284 | 7,368 | +474% | 0 | 0 | — |
case-04 | pass→fail | 9,876 | 4,318 | -56% | 1 | 1 | 0% | 1,485 | 7,279 | +390% | 0 | 0 | — |
case-05 | fail→pass | 9,792 | 4,023 | -59% | 1 | 1 | 0% | 1,419 | 7,237 | +410% | 0 | 0 | — |
case-06 | fail→pass | 10,551 | 4,383 | -58% | 1 | 1 | 0% | 1,705 | 7,387 | +333% | 0 | 0 | — |
case-19 | pass→pass | 9,757 | 3,731 | -62% | 1 | 1 | 0% | 1,595 | 7,118 | +346% | 0 | 0 | — |
case-07 | fail→pass | 12,163 | 6,290 | -48% | 1 | 1 | 0% | 1,936 | 7,701 | +298% | 0 | 0 | — |
case-08 | fail→pass | 14,813 | 6,277 | -58% | 1 | 1 | 0% | 2,461 | 7,650 | +211% | 0 | 0 | — |
case-09 | fail→pass | 7,242 | 5,880 | -19% | 1 | 1 | 0% | 1,211 | 7,457 | +516% | 0 | 0 | — |
case-10 | fail→pass | 8,569 | 4,528 | -47% | 1 | 1 | 0% | 1,443 | 7,341 | +409% | 0 | 0 | — |
case-11 | fail→pass | 7,764 | 6,575 | -15% | 1 | 1 | 0% | 1,217 | 7,574 | +522% | 0 | 0 | — |
case-12 | fail→pass | 7,531 | 4,192 | -44% | 1 | 1 | 0% | 1,273 | 7,191 | +465% | 0 | 0 | — |
case-13 | fail→pass | 7,068 | 5,571 | -21% | 1 | 1 | 0% | 1,070 | 7,252 | +578% | 0 | 0 | — |
case-14 | fail→pass | 7,013 | 5,904 | -16% | 1 | 1 | 0% | 1,083 | 7,456 | +588% | 0 | 0 | — |
case-15 | fail→pass | 12,518 | 5,913 | -53% | 1 | 1 | 0% | 1,954 | 7,613 | +290% | 0 | 0 | — |
case-16 | fail→pass | 9,653 | 4,528 | -53% | 1 | 1 | 0% | 1,856 | 7,300 | +293% | 0 | 0 | — |
case-17 | fail→pass | 7,588 | 3,457 | -54% | 1 | 1 | 0% | 1,431 | 7,186 | +402% | 0 | 0 | — |
case-18 | fail→pass | 6,619 | 4,713 | -29% | 1 | 1 | 0% | 1,354 | 7,299 | +439% | 0 | 0 | — |
case-20 | fail→pass | 9,395 | 3,997 | -57% | 1 | 1 | 0% | 1,436 | 7,120 | +396% | 0 | 0 | — |
case-21 | pass→pass | 7,009 | 3,353 | -52% | 1 | 1 | 0% | 1,281 | 7,086 | +453% | 0 | 0 | — |
case-22 | pass→pass | 4,195 | 1,768 | -58% | 1 | 1 | 0% | 597 | 6,735 | +1028% | 0 | 0 | — |
case-23 | pass→pass | 6,644 | 1,975 | -70% | 1 | 1 | 0% | 1,126 | 6,815 | +505% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 22 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +70 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.