OpenAI Videos API:Sora 2 视频生成 Python 调用指南
Python 调用示例 from openai import OpenAIclient = OpenAI(api_key="YOUR_API_KEY")# 提交视频生成任务(异步) job = client.videos.create( model="sora-2", prompt=""" A cinematic drone shot of Tokyo at night. Neon lights reflecting on wet streets. Ultra realistic. """, seconds=8, size="1280x720" )print(job.id)视频生成是异步任务,需要轮询状态: import timewhile True: result = client.videos.retrieve(job.id) print(result.status) if result.status == "completed": print(result.output_url) break elif result.status == "failed": print("生成失败") break time.sleep(5)图片转视频 已有参考图片时,使用 input_reference 保持人物和风格一致: job = client.videos.create( model="sora-2", prompt="The girl smiles and walks forward.", input_reference=open("girl.png", "rb"), seconds=8 )REST API curl https://api.openai.com/v1/videos \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "model=sora-2" \ -F "prompt=A cute panda drinking coffee" \ -F "seconds=8"参数说明参数 说明model sora-2 或 sora-2-proprompt 视频内容描述(英文效果更好)input_reference 参考图片(可选,用于图生视频)seconds 视频时长:4、8、12 秒size 分辨率,如 1280x720、720x1280(竖屏)、1792x1024价格模型 价格Sora 2 约 $0.10 / 秒Sora 2 Pro 约 $0.30~$0.70 / 秒(随分辨率变化)生成 8 秒 1280x720 视频:Sora 2 约 $0.80,Sora 2 Pro 约 $2.40~5.60。 Prompt 写法参考 视频 prompt 建议包含:镜头类型、光线、风格、质量要求。 # 电影风格 A cinematic shot of a samurai walking through a bamboo forest. Golden sunlight. Slow motion. 35mm film. Ultra realistic.# 产品广告 A luxury mechanical watch rotating on a black reflective table. Studio lighting. 8K. Commercial quality.# 动漫风格 Anime style. Cherry blossoms falling. Girl running on a school campus. Beautiful sunset. Highly detailed.英文 prompt 效果稳定,中文可能出现理解偏差。 后端架构(完整平台) 如果需要支持多用户、异步进度追踪,典型架构: 用户请求 → FastAPI → Celery 任务队列 → OpenAI Videos API ↓ Redis 存储 job.id ↓ WebSocket 推送进度 → 前端 ↓ 完成后存储到 OSS/S3
Claude Code 配置项解析:ANTHROPIC_MODEL、showThinkingSummaries 和 skipDangerousModePermissionPrompt
配置示例 { "env": { "ANTHROPIC_MODEL": "claude-opus-4-7" }, "showThinkingSummaries": true, "skipDangerousModePermissionPrompt": true }各字段说明 env.ANTHROPIC_MODEL 指定 Claude Code 使用的模型。Claude Code 会优先读取这个环境变量,没有则使用默认模型。 合法的模型名格式: claude-opus-4-7 claude-sonnet-4-6 claude-haiku-4-5-20251001常见问题:ANSI 控制码污染 从终端输出复制模型名时,可能夹带了 ANSI 颜色控制码: opus 4.7[1m]这里 [1m] 是 \x1b[1m(加粗)的残留,程序无法识别这个模型名,会静默回退到默认模型。复制模型名后需要手动确认字段只包含纯 ASCII 字符,不含 [、]、\x1b 等控制字符。showThinkingSummaries "showThinkingSummaries": true控制是否在对话界面显示模型的思考摘要(Thinking Summary)。 注意区分:思考摘要:Claude 内部推理的简短摘要,由模型生成后可选择性暴露给用户 完整思维链:模型的逐步推理过程,不对外公开设为 true 时,Claude Code 会在回复上方展示推理摘要区域(折叠)。如果不需要可以设为 false 减少界面噪声。skipDangerousModePermissionPrompt "skipDangerousModePermissionPrompt": trueClaude Code 在执行某些高风险操作(如删除文件、运行 shell 命令、修改系统配置)时默认会弹出确认提示: This action may be dangerous. Continue? [Y/N]设为 true 后跳过该提示,直接执行。适合在受控环境下(如 CI、已备份工作目录)提升效率,不适合在生产环境使用。 完整配置结构 Claude Code 的用户配置文件通常位于:Windows: %APPDATA%\Claude\settings.json macOS/Linux: ~/.claude/settings.json{ "env": { "ANTHROPIC_MODEL": "claude-sonnet-4-6", "ANTHROPIC_BASE_URL": "https://api.anthropic.com" }, "showThinkingSummaries": false, "skipDangerousModePermissionPrompt": false, "theme": "dark" }修改配置后重启 Claude Code 生效。
Excel 求和求出 #VALUE!?先看单元格是不是文本
Excel 里写: =SUM(VALUE(E5:E8))老版本直接 #VALUE!。原因是 VALUE 老版本只能吃单个单元格,不能吃区域——只有 Microsoft 365 / Excel 2021+ 的动态数组特性才让它自动对区域生效。 单元格已经是数字:直接 SUM =SUM(E5:E8)先分辨到底是数字还是文本:左对齐通常是文本,右对齐是数字 或者选中一个单元格看编辑栏——文本会显示 '123单元格是文本型数字:"--" 双负号 -- 会把文本转成数字,兼容所有 Excel 版本: =SUMPRODUCT(--E5:E8)SUMPRODUCT 天生支持数组运算,比 SUM 更宽容。 Microsoft 365 也能用: =SUM(--E5:E8) =SUM(VALUE(E5:E8))老版本上面这两个会挂,用 SUMPRODUCT 版本最稳。 带货币符号 / 千分位逗号 单元格长这样: $1,234.56 $789.00要先剥掉 $ 和 ,: =SUMPRODUCT(VALUE(SUBSTITUTE(SUBSTITUTE(E5:E8,"$",""),",","")))嵌套 SUBSTITUTE 依次替换,最外层 VALUE 转数字,SUMPRODUCT 一次性求和。 混合了数字和文本的列 只想对文本型数字求和,跳过其它文本: =SUMPRODUCT(IFERROR(VALUE(E5:E8), 0))IFERROR 把无法转换的当 0,避免整个公式失败。 一劳永逸:转成真数字 如果整列都是文本数字,可以一次性转过来:选中一个空单元格,输入 1,复制 选中要转的整列 右键 → 选择性粘贴 → 乘(Multiply)之后就是真数字,SUM 直接用。 一句话总结 老 Excel:SUMPRODUCT(--range)。新 Excel:SUM 直接吃。带货币符号:套两层 SUBSTITUTE 剥掉符号再求和。
数据库设计:E-R 图、3NF 范式与 SQL 约束建表
E-R 图基础 以供应商-零件为例:实体1:供应商(Sno, Sname, City) 实体2:零件(Pno, Pname, Color, Weight) 联系:供应(M:N,含属性 Price)一个供应商可供应多种零件,一种零件可由多个供应商供应,联系属于 多对多(M:N)。 Supplier(供应商) Part(零件) ┌─────────────────┐ ┌─────────────────┐ │ Sno (PK) │ M N │ Pno (PK) │ │ Sname ├────────┤ Pname │ │ City │ 供应 │ Color │ └─────────────────┘ Price │ Weight │ └─────────────────┘3NF 关系模式设计 M:N 联系必须单独拆出一张联系表: Supplier(供应商表) Supplier(Sno PK, Sname, City)Part(零件表) Part(Pno PK, Pname, Color, Weight)Supply(供应联系表) Supply(Sno PK FK→Supplier, Pno PK FK→Part, Price)联合主键 (Sno, Pno) 保证每个供应商对每种零件只有一条记录。三个表均满足 3NF(无传递依赖)。 SQL 建表(含约束) CREATE TABLE Supplier ( Sno CHAR(10) PRIMARY KEY, Sname VARCHAR(50) NOT NULL, City VARCHAR(50) );CREATE TABLE Part ( Pno CHAR(10) PRIMARY KEY, Pname VARCHAR(50) NOT NULL, Color VARCHAR(20), Weight DECIMAL(8,2) );CREATE TABLE Supply ( Sno CHAR(10), Pno CHAR(10), Price DECIMAL(10,2), PRIMARY KEY (Sno, Pno), FOREIGN KEY (Sno) REFERENCES Supplier(Sno), FOREIGN KEY (Pno) REFERENCES Part(Pno), CHECK (Price > 0) );PRIMARY KEY:联合主键,值组合唯一且不为 NULL FOREIGN KEY:引用父表主键,保证参照完整性 CHECK:价格必须大于 0,在插入/更新时自动校验JOIN 查询 查询"供应红色零件的供应商名称": SELECT DISTINCT S.Sname FROM Supplier S JOIN Supply SP ON S.Sno = SP.Sno JOIN Part P ON SP.Pno = P.Pno WHERE P.Color = '红色';等价子查询写法: SELECT DISTINCT Sname FROM Supplier WHERE Sno IN ( SELECT Sno FROM Supply WHERE Pno IN ( SELECT Pno FROM Part WHERE Color = '红色' ) );JOIN 写法更清晰,子查询写法在没有 JOIN 语法支持时可用。 常见范式对比范式 要求 典型违反1NF 每个字段原子值,不含多值 用逗号分隔多个标签存一列2NF 非主属性完全依赖主键(无部分依赖) 联系表里存冗余属性3NF 非主属性不传递依赖主键 城市→邮编→省份放同一表实践中通常达到 3NF 即可,OLAP 场景允许适度冗余换查询性能。
SQL 建表约束:PRIMARY KEY / FOREIGN KEY / CHECK 写法
建表时声明约束是数据库设计的基础,常见的有主键约束、外键约束和 CHECK 约束。 场景:供应商-零件多对多关系 经典的供应商(Supplier)-零件(Part)-供应(Supply)三表结构:供应商可以供应多种零件(M:N 关系) 每对供应商+零件组合有一个供应价格关系模式(3NF) Supplier(Sno PK, Sname, City) Part(Pno PK, Pname, Color, Weight) Supply(Sno PK FK, Pno PK FK, Price)Supply 的主键是复合主键 (Sno, Pno),同时 Sno 和 Pno 各自是外键。 SQL 建表 CREATE TABLE Supplier ( Sno CHAR(10) NOT NULL, Sname VARCHAR(50) NOT NULL, City VARCHAR(50), PRIMARY KEY (Sno) );CREATE TABLE Part ( Pno CHAR(10) NOT NULL, Pname VARCHAR(50) NOT NULL, Color VARCHAR(20), Weight DECIMAL(8,2), PRIMARY KEY (Pno) );CREATE TABLE Supply ( Sno CHAR(10) NOT NULL, Pno CHAR(10) NOT NULL, Price DECIMAL(10,2) NOT NULL, PRIMARY KEY (Sno, Pno), FOREIGN KEY (Sno) REFERENCES Supplier(Sno) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (Pno) REFERENCES Part(Pno) ON DELETE CASCADE ON UPDATE CASCADE, CHECK (Price > 0) );各约束说明 PRIMARY KEY:不能为空,不能重复。复合主键用 PRIMARY KEY (col1, col2) 表格级声明,不能用列级。 FOREIGN KEY:引用另一张表的主键或唯一键,保证参照完整性。ON DELETE CASCADE 表示父表删除时子表自动级联删除。 CHECK:定义列值的范围或条件,CHECK (Price > 0) 要求价格必须大于零。 NOT NULL:禁止 NULL 值,通常和主键一起用。 常用查询 查询"供应红色零件的供应商名称": SELECT DISTINCT s.Sname FROM Supplier s JOIN Supply sp ON s.Sno = sp.Sno JOIN Part p ON sp.Pno = p.Pno WHERE p.Color = '红色';或用子查询: SELECT Sname FROM Supplier WHERE Sno IN ( SELECT sp.Sno FROM Supply sp JOIN Part p ON sp.Pno = p.Pno WHERE p.Color = '红色' );约束的列级 vs 表级写法 列级(约束跟在列后面,只作用于该列): CREATE TABLE t ( id INT PRIMARY KEY, val INT CHECK (val > 0), fk INT REFERENCES other(id) );表级(单独一行,支持多列主键和复合外键): CREATE TABLE t ( id1 INT, id2 INT, val INT, PRIMARY KEY (id1, id2), -- 复合主键必须用表级 FOREIGN KEY (id1) REFERENCES a(id), CHECK (val > 0) );复合主键(多列联合唯一)只能用表级声明;单列约束两种写法均可。
