前言
"之前我们学习了如何使用 AI 来生成一首歌,今天我们来学习如何使用 OpenAI 的达芬奇------DALL·E 3 模型,来生成我们心中所想象的画面。"
在 AIGC(生成式人工智能)浪潮中,文本生成图像(Text-to-Image)已成为创意表达的重要工具。DALL·E 3 作为 OpenAI 推出的最新一代图像生成模型,能够根据一段自然语言描述,精准绘制出高质量、富有细节的图像。无论是科幻场景、产品设计,还是艺术创作,只需一句 Prompt,AI 就能为你"画"出想象
一:配置环境与完成代码部分
步骤 1:创建项目目录
首先,在你的计算机上创建一个新的文件夹用于存放这个项目:
            
            
              arduino
              
              
            
          
          bash
编辑
mkdir dalle3-image-gen
cd dalle3-image-gen步骤 2:初始化项目
在新创建的文件夹中,通过以下命令初始化一个新的 npm 项目。这将创建一个 package.json 文件,用于管理项目的依赖关系和其他元数据。
            
            
              csharp
              
              
            
          
          bash
编辑
npm init -y这里的 -y 参数表示接受所有默认配置选项。
步骤 3:安装依赖
我们将使用 pnpm 来代替 npm 或 yarn 安装依赖包,因为 pnpm 更快且占用更少的磁盘空间。如果你还没有安装 pnpm,可以通过以下命令进行全局安装:
bash
编辑
npm install -g pnpm然后在项目根目录下安装必要的依赖:
            
            
              csharp
              
              
            
          
          bash
编辑
pnpm add dotenv openai- dotenv: 用来加载- .env文件中的环境变量。
- openai: OpenAI SDK,便于与 OpenAI API 进行交互。
步骤 4:配置环境变量
在项目根目录下创建一个名为 .env 的文件,并添加你的 OpenAI API 密钥:
            
            
              ini
              
              
            
          
          env
编辑
OPENAI_API_KEY=sk-your-openai-api-key-here请确保替换 sk-your-openai-api-key-here 为你的实际 OpenAI API 密钥。为了安全起见,不要将此文件提交到版本控制系统(如 Git)。
步骤 5:编写主程序代码
在项目根目录下创建一个名为 main.mjs 的文件,并输入以下代码:
            
            
              javascript
              
              
            
          
          javascript
编辑
// 模块化导入
import OpenAI from "openai";
import { config } from 'dotenv';
// 加载 .env 文件中的环境变量
config({ path: '.env' });
// 初始化 OpenAI 客户端
const client = new OpenAI({
    apiKey: process.env.OPENAI_API_KEY,
    // 可选:如果你需要通过代理访问 OpenAI API,请在这里指定 baseURL
    // baseURL: 'https://api.agicto.cn/v1'
});
// 异步函数 main,负责调用 DALL·E 3 API 并打印返回结果
const main = async () => {
    try {
        const response = await client.images.generate({
            model: "dall-e-3", // 使用 DALL·E 3 模型
            prompt: "A spaceship fighting with another spaceship through the universe, cinematic lighting, highly detailed, 8k",
            n: 1,              // 生成图片的数量
            size: "1024x1024"  // 图像尺寸
        });
        console.log("图像生成成功!");
        console.log("图片 URL:", response.data[0].url);
    } catch (error) {
        console.error("图像生成失败:", error.message);
    }
};
// 执行 main 函数
main();步骤 6:运行程序
确保你已经完成了前面的所有步骤后,在终端中执行以下命令来运行你的程序:
            
            
              css
              
              
            
          
          bash
编辑
node main.mjs如果一切正常,你应该会在控制台看到一条消息显示"图像生成成功!"以及生成图像的 URL。
二、Prompt 工程:如何写出高质量图像指令?
DALL·E 3 对 Prompt 的细节敏感度极高 。好的提示词 = 主题 + 风格 + 细节 + 质量要求。
✨ 示例对比
| 差 Prompt | 好 Prompt | 
|---|---|
| "a cat" | "A fluffy ginger cat sitting on a windowsill, sunlight streaming in, photorealistic, 8k, shallow depth of field" | 
📌 编写技巧
- 明确主体:飞船、人物、建筑等
- 添加风格 :cinematic,anime,oil painting,cyberpunk
- 强调细节 :highly detailed,8k,volumetric lighting
- 控制构图 :wide angle,close-up,symmetrical
🌟 提示工程是图像生成的"画笔" ------你描述得越清晰,AI 画得越精准。
成品展示
三、核心概念解析
| 概念 | 说明 | 
|---|---|
| AIGC | AI Generated Content,生成式人工智能,涵盖文本、图像、音频、视频等 | 
| DALL·E 3 | OpenAI 最新一代文生图模型,理解复杂指令,支持多对象布局与文字嵌入 | 
| Prompt | 给 LLM 或图像模型下达的自然语言指令,是人机交互的桥梁 | 
| baseURL | 允许将请求转发至代理服务器(如国内 API 网关),解决网络访问问题 | 
| process.env | Node.js 中的环境变量对象,用于安全存储密钥等敏感信息 | 
四、大厂高频面试题(AI 工程方向)
1. DALL·E 3 相比 DALL·E 2 有哪些改进?
- 更强的自然语言理解能力,能处理复杂、多步骤的指令
- 支持在图像中生成可读文字(如海报标题)
- 更精准的对象布局与空间关系控制
- 与 ChatGPT 深度集成,可通过对话优化 Prompt
2. 如何防止 AI 生成不当或侵权内容?
- OpenAI 在 DALL·E 3 中内置内容过滤器,拒绝生成暴力、色情、名人肖像等
- 用户需遵守使用政策,不得用于伪造、欺骗或侵犯版权
- 企业可结合自定义审核流程(如人工复核或图像识别模型)
3. 为什么 Prompt 工程在 AIGC 中如此重要?
- 大模型本身是"通用"的,Prompt 是"定制化"的关键
- 优秀的 Prompt 能显著提升输出质量,降低试错成本
- 在资源有限时(如 token 限制),精准 Prompt 是高效利用模型的核心
4. 如何优化 DALL·E 3 的生成效果?
- 迭代式 Prompt:先生成初稿,再根据结果调整描述
- 添加负面提示(如 "no blurry, no deformed hands")
- 结合图像编辑工具进行后处理(如 Photoshop + Generative Fill)
五、总结与展望
- AI 绘画不是取代艺术家,而是赋能创作者:设计师、游戏开发者、营销人员都能用它快速原型。
- Prompt 是新时代的"编程语言" :掌握提示工程,等于掌握与 AI 协作的能力。
- 安全与伦理不可忽视:生成内容需合规,避免滥用。
🚀 下一步实践建议:
- 尝试生成不同风格的图像(赛博朋克、水墨风、像素艺术)
- 构建一个简易 Web 界面,输入 Prompt 即得图片
- 结合
gpt-4o自动生成图像描述,实现"想法 → 文字 → 图像"全自动流程
结语 :
你心中所想象的宇宙飞船、未来城市、奇幻生物......现在,都可以通过一句 Prompt,让 AI 为你描绘出来。
想象力,是唯一的边界。
📁 项目文件建议命名:
dalle3-image-generation.mjs📚 学习资料:OpenAI DALL·E 3 官方文档
希望这篇笔记能帮助你深入理解 AI 图像生成技术,并为面试或项目开发提供实用参考!