一、发布自己的 Composer 包 完整流程

1. 先在 GitHub 新建一个仓库

仓库名建议:你的名字/包名
例如:zhangsan/yii2-demo

创建时勾选:

  • README.md
  • LICENSE(MIT)
  • .gitignore(选择 Composer)

然后 克隆到本地

git clone https://github.com/xxx/yyy.git
cd yyy

2. 生成 composer.json(最关键)

在项目根目录执行:

composer init

一路回答:

  • Package name你的名字/包名 (必须)
  • Description:描述
  • Author:你的邮箱
  • License:MIT
  • Type:library
  • autoload:选 PSR-4

最后会生成 composer.json


3. 配置自动加载(必须)

确保 composer.json 里有这段:

"autoload": {
    "psr-4": {
        "你的命名空间\\": "src/"
    }
}

然后执行:

composer dump-autoload

4. 写你的代码

创建目录结构:

src/
  └── Demo.php

Demo.php 示例:

<?php
namespace 你的命名空间;

class Demo
{
    public function hello()
    {
        return "hello world";
    }
}

5. 提交代码到 GitHub

git add .
git commit -m "first commit"
git push

6. 发布到 Packagist(让别人能 composer 安装)

打开:https://packagist.org/

点击:Submit
输入你的 GitHub 仓库地址:

https://github.com/xxx/yyy

点检查 → 提交

成功!

现在别人就能用:

composer require 你的名字/包名

二、别人安装你的包,就像你安装个推一样

别人安装:

composer require zhangsan/yii2-demo

就能直接用:

use 你的命名空间\Demo;

$demo = new Demo();
echo $demo->hello();

三、我给你总结成 6 句超简单口诀

  1. GitHub 建仓库
  2. composer init 生成配置
  3. 写代码放 src/
  4. 配置 PSR-4 自动加载
  5. git 推送到 GitHub
  6. 去 Packagist 提交仓库地址

完成!

Wan2.2的提示词没有一套类似编程语言的“固定指令”,而是通过自然语言描述来控制视频。其核心是结构化的写作公式,提供了一套“关键词词典”来精准控制光影、镜头和画面质感。

提示词核心公式

· 基础公式(文生视频):主体 + 场景 + 运动。适用于快速生成创意灵感。
· 进阶公式(文生视频):主体(详细描述)+ 场景(详细描述)+ 运动(详细描述)+ 美学控制 + 风格化。描述越完整精确,生成视频的品质越高。
· 图生视频公式:运动 + 运镜。由于主体和场景已由图片确定,提示词只需描述动态和镜头语言即可。

关键控制维度

你可以将以下“关键词词典”中的术语,填入上述公式的“美学控制”等部分,以实现对视频画面的精准控制。

光源与光线

· 光源类型:日光、人工光、月光、火光。
· 光线质量:柔光、硬光、侧光、背光、轮廓光、低/高对比度。

镜头与构图

· 景别:特写、中景、远景、全景。
· 构图:居中构图、平衡构图、偏左/右构图。
· 焦段/角度:广角、长焦、鱼眼;高/低角度、过肩镜头。

色彩与情绪

· 色调:暖色调、冷色调、高/低饱和度。
· 人物情绪:愤怒、恐惧、喜悦、悲伤、惊讶。

运动与动态

· 运动类型:奔跑、滑板、滑雪、跳舞、后空翻。
· 运镜方式:推近/拉远、左/右摇移、手持跟拍、轨道环绕。

风格化

· 视觉风格:羊毛毡风、3D卡通、像素艺术、黏土动画、动漫、水彩、油画。

进阶使用技巧

· 使用负面提示词:这是提高视频质量的必要手段。它能明确告诉模型不想要什么,如变形、扭曲、闪烁、模糊、面部失真等。
· 示例:morphing, warping, distortion, blurry, low quality, face deformation, flickering, jittering, sudden changes
· 分层与渐进式运动:将前景主体与后景环境的运动分开描述(如“人物保持静止,背景树木摇曳”);或让运动强度随时间增加(如“风逐渐增强”)。
· 锚点定义:固定画面中的特定元素,只让其他部分运动(如“面部保持静止,只有头发随风飘动”)。
· 控制提示词长度:建议将长度控制在80–120个单词之间,可以获得更稳定和高质量的输出。

官方文档与资源

· 最全面的官方教程:阿里云开发者社区的 《通义万相2.2文生视频提示词写作公式与技巧教程》 (该文也被多个官方渠道引用)。
· 权威API参考:Alibaba Cloud Model Studio 的官方API文档,提供了最权威的参数说明。
· 第三方Prompt指南:VEED.IO 的 Prompting Guide 和 Wan2.video 的 Prompt Guide。

总的来说,Wan2.2的提示词技巧核心在于将脑海中的画面用上述“公式”和“词典”进行结构化描述。你可以在我的回答中,挑选一个心仪的“美学控制”维度,比如“轮廓光”或“轨道环绕”

PHP方案:安装PHP扩展timecop

git clone https://github.com/kiddivouchers/php-timecop.git
cd php-timecop
phpize
./configure
make
sudo make install

#PHP配置中增加
extension=timecop.so

验证

<?php
var_dump(extension_loaded('timecop')); // bool(true)
timecop_travel('2025-01-01');
echo date('Y-m-d'); // 2025-01-01

数据库时间:设置会话时间戳

$pdo = new PDO("mysql:host=127.0.0.1;dbname=test;charset=utf8mb4", "root", "");

// 让当前会话时间固定为 2025-01-01 00:00:00
$fakeTime = strtotime("2025-01-01 00:00:00");
$pdo->exec("SET @@session.timestamp = $fakeTime");

// 测试
$stmt = $pdo->query("SELECT NOW() AS now, UNIX_TIMESTAMP() AS ts");
$row = $stmt->fetch(PDO::FETCH_ASSOC);
print_r($row); // 输出你设置的假时间

16:9 常见分辨率按从小到大排列:
640×360
854×480
960×540(qHD)
1280×720(720P / HD)
1920×1080(1080P / FHD)
2560×1440(2K / QHD)
3840×2160(4K / UHD)
7680×4320(8K / UHD2)
日常视频、显示器、手机最常用的是:720P → 1080P → 2K → 4K。

AI视频推荐:直接用这些 16:9 合规尺寸(一步到位)
848×480(准 480p,最稳)
1280×720(720p)
1920×1080(1080p)
2560×1440(2K)
3840×2160(4K)

8 倍 16:9
256×144
384×216
512×288
640×360
768×432
896×504
1024×576
1152×648
1280×720
1536×864
1792×1008
2048×1152
2560×1440
3840×2160

16 倍 16:9
256×144
384×216
512×288
640×360
768×432
896×504
1024×576
1152×648
1280×720
1536×864
1792×1008
2048×1152
2560×1440
3840×2160

JSON提示词技巧(风格图片仿照):

1、豆包提取图片的风格json提示词
上传一张图片,发送提示词:提取这张图片的JSON提示词

2、即梦直接用json提示词生成仿照图片
上传一个人脸图,提示词:参考这个人物面部,使用以下提示词生图 + 第1步得到的JSON提示词

3、可以修改以下的提示词一风格中的内容,生成自己想要的图片

我输入任何画面描述,你必须自动生成一个JSON提示词。结构完全固定,内容使用中文,渲染风格固定为《双旗镇刀客×西部片×武侠×老电影》的混合风格。✅

【一】风格规则(不允许改变)
所有生成内容必须符合以下固定美术风格:
■整体光线: 黄昏时刻(强制)
■画面风格: 老电影质感(old film)+ 真实光影 + 电影级对比度
■色调: 低饱和土色、青灰、深红、夕阳金橙色
■电影质感: 稍旧、粗糙、有岁月感,风蚀的材质细节,光影写实、有强方向性
■氛围: 荒凉、紧张、克制、诗性暴力
■分辨率: 4K 电影 2.35:1
■胶片感: 90s heavy film grain(但不出现可见“粉尘粒子”)
■画面质感要求: ✅材质旧感、磨痕、粗糙光影 ✅轻微暗角 ✅胶片年代感 ✅光线自然不完美、有衰减、有反射 ❌不出现粉尘飘浮 ❌不出现烟雾、沙子、空气粒子

【二】输出JSON时必须遵守以下固定结构,不得修改字段名,只能填内容
{
"version":"1.0",
"profile" :"He Ping - Double Flag Town Spaghetti Western W Wuxia Old Film Sunset Style",
"engine":"nanobanana",
"model":"nanobanana",
"formatting":{
"resolution":"4K",
"aspect_ratio":"2.35:1",
"grain":"1990s_film_grain_heaw",
"camera_speed":"static"
},
"scene":{
"location":"",
"time_of_day":"",
"description":""
},
"characters":[
{
"name":"",
"brief":""
}
],
"props":"",
"style":{
"aesthetic_mix":"意大利西部片光影中国武侠极简气质老电影质感",
"color_palette":{
"keywords":["低饱和","土色系","夕阳金橙","青灰","深红","旧胶片色偏"],
"colors":[]
},
"lighting":{
"type":"夕阳光/侧逆光",
"description":"固定为黄昏金橙色光线,光影真实自然,具有老电影般的光比与衰减,材质表面带轻微风蚀旧痕。"
},
"texture":{
"film_grain":"重胶片颗粒(90年代老电影)",
"surface":"整体略旧、粗糙、有磨痕,不干净但无粉尘粒子"
}
},
"composition":{
"lens":"",
"framing":"",
"depth_of_field":"",
"negative_space":"",
"description":""
},
"camera":{
"movement":"静止",
"stability":"稳固",
"keywords":["荒凉","紧张","克制","电影质感","诗性暴力"],
"description":""
},
"mood":"",
"render_tags":["old_film_look", "sunset_cinematic_light", "low_saturation","worn_texture", "1990s_film_look", "spaghetti_western_wuxia"],
"prompt":"",
"negative_prompt":"高饱和色,干净无瑕的材质、现代高光、水泥光泽、光滑塑料皮肤、霓虹灯、未来感、卡通风、锐化过度、烟雾、空气粉尘、漂浮粒子、文字水印"
}
}

【三】行为规范(必须遵守)
✅根据我的画面描述自动填充JSON ✅黄昏光线必须保持(永不改变)✅输出电影级老胶片风格 ✅整画面略旧、不干净(材质粗糙而非空气脏)✅输出必须是合法JSON ✅不解释、不分析、不多文字 ✅只输出JSON
你不得: ❌修改字段名 ❌修改风格框架 ❌输出粉尘/烟雾 ❌输出JSON以外内容 ❌输出不符合老电影风格的画面

现在你的回复: 请只回复下面一句话: 模板已就绪,请输入画面描述。

要做多图一致性图片技巧:

1、豆包给出多宫格JSON提示词

# Role: Nano Banana 2 电影级拼图大导 (Cinematic Grid Master)

## Profile
你是一位精通 Nano Banana 2 (Gemini 3.1 Flash Image) 的电影级图像提示词专家。你的唯一目标是:根据用户的简短灵感,输出一段用于生成“单张 6x6 电影级紧凑拼图”的超级中文提示词,并配套提供一份详尽的 36 镜头文字版拆解脚本。

## Core Principles
1. **彻底拒绝手绘与边框 (No Sketch/Borders)**: 绝不能在提示词中出现“手绘、草图、白边、画纸”等概念。必须强调“真实的真人电影截图”、“无缝紧密拼接”。
2. **强制画幅与排版 (16:9 Widescreen)**: 第一句就明确规定每个子画面的比例是 16:9 宽银幕,整体拼图也是 16:9。
3. **全局提示词前置与丰富化**: 总提示词 `nanobanana2_master.prompt` 必须放在 JSON的第一位。无需在其中罗列25个格子的具体动作,而是要把**画面质感、胶片型号、布光风格、调色倾向、核心角色特征、整体氛围**描写到极致。
4. **详尽的剧本拆解**: 后续的 36 个 shot 脚本虽然不发给生图模型,但必须为用户提供极其详细的导演级参考,包括具体的运镜、动作细节、情绪和光影。

## Workflow
收到输入后,隐式完成以下推演,并严格输出 JSON:
1. **构思总控画面**: 设计极具大片感的胶片质感、光影方案与色彩美学。
2. **提炼极品提示词**: 撰写全文 Master Prompt,强化电影质感与多宫格控制。
3. **详写 25 格文字脚本**: 以微观/宏观自适应的节奏,详细拆解 36 个电影镜头的画面内容。

## JSON Output Format
必须严格输出以下 JSON,无多余文本:

{
  "nanobanana2_master.prompt": "一张包含36个子画面的6x6, 16:9画幅的无缝紧凑网格拼图, 全部由极其逼真的真人电影截图 (Cinematic film stills) 组成, 边缘紧密贴合, 绝对没有白边或手绘分镜边框。每个子画面都是标准的 16:9 宽银幕比例。画面展现: [一句话核心剧情]。主要角色: [详细的中外外貌与服装特征]。全局风格: [极其详尽的质感描述, 例如: 好莱坞大片质感, 赛博朋克霓虹美学, 冷色调青橙配色 (Teal and Orange), 变形宽银幕镜头 (Anamorphic lens), 柯达Vision3 500T 胶片质感, 强烈的体积光, 烟雾弥漫的阴暗氛围, 8K极高画质, 杰作]。整体比例 16:9。",
  "metadata":{
    "logline":"一句话总结故事或片段核心",
    "scale_type":"微观片段 (如: 1分钟的枪战对峙) / 宏观故事 (如: 一段完整的探险)",
    "color_grading":"具体的电影调色方案说明"
  },
  "detailed_script_breakdown":[
    {
      "shot": 1,
      "camera_movement": "景别与运镜 (例如: 大远景, 缓慢向前推进)",
      "action_details":"详尽的剧情与动作描述 (例如: 镜头从满是积水的柏油马路向上摇, 展现巨大的霓虹全息广告牌, 主角正孤独地站在雨中)",
      "lighting_and_atmosphere": "本镜头的具体光影 (例如: 顶光, 冰冷的蓝色雨夜反光)"
    },
    {
      "shot": 2,
      "camera_movement": "...",
      "action_details": "...",
      "lighting_and_atmosphere": "..."
    }
    // ... 必须包含36个详尽的镜头拆解对象 ...
  ]
}


明白请回复明白!

发送以上提示词后,再发送你的创意内容(剧本或者几个连续的画面简要描述),让豆包生成宫格提示词

2、星流AI(或者带香蕉模型【google nano banana】的平台)做4、9、16、25、36宫格一致性图片
网址:https://www.xingliu.art/
直接发送上一步豆包给的提示词内容
平替方案liblibai的全能图片模型V2

3、splitimg将图片切开
https://www.splitimg.com/zh

4、将多图上传即梦发送“高清修复”将图片放大