跳至主要内容

DALL-E 3 API 全面指南

在本指南中探索 DALL-E 3 API 的变革力量,了解其关键功能、行业应用,以及帮助用户释放创意潜能的实用建议。
· 14分钟 阅读

使用 AI 探索

我们正生活在一个创意边界不断拓展的世界。得益于生成式 AI 在自然语言、图像和视频创作方面的能力,我们最生动的想象都能化为令人惊叹的视觉现实。

几年前这些可能性还像是科幻,如今已不再如此,尤其是随着 DALL-E 3 API 这一突破性技术的到来。

本文将提供一份完整指南,帮助您理解 DALL-E 3 技术,探索其功能、上手实践与真实应用场景,以及它如何重塑创意版图。

DALL-E 3 API 概览

在深入 API 之前,先来看看 DALL-E 3 是什么。我们已有一篇通过 Bing 和 ChatGPT 使用 DALL-E 3 的完整介绍,而本指南将主要聚焦于集成 API。

什么是 DALL-E 3?

它是 OpenAI 最新的图像生成模型,于 2023 年 9 月发布。与前代相比,该模型能够理解显著更多的细微差别与细节。DALL-E 3 允许用户从文本描述中生成出色的视觉作品。

此前的多个版本如 DALL-E 1 和 DALL-E 2 分别于 2021 年 1 月和 2022 年 4 月亮相。DALL-E 3 迄今为止提升最大,下面的表格将其与以往版本进行对比。

定价详情

每个 DALL-E 版本的定价如下所示。如您所见,只有 DALL-E 3 提供标准和高清两种画质及其对应分辨率。

Model

Quality

Resolution

Price per image (in US $)

DALL-E

 

1024x1024

0.13

DALL·E 2

 

1024×1024

0.020

 

512×512

0.018

 

256×256

0.016

DALL·E 3

Standard

1024×1024

0.040

1024×1792, 1792×1024

0.080

HD

1024×1024

0.080

1024×1792, 1792×1024

0.120

其他特性

上表对比了 DALL-E 系列三代系统,它们都能根据文本描述生成图像。版本依次为 DALL-E、DALL-E 2 和 DALL-E 3,各自拥有不同的发布时间与功能集。

  • DALL-E 作为首个版本,于 2021 年 1 月发布,底层语言模型为 GPT-3。它标志着文本生成图像技术的初步实现,面向拥有 OpenAI API 账户的用户开放。
  • 第二代 DALL-E 2 于 2022 年 7 月发布,采用 CLIP 语言模型,进一步推进了技术发展。凭借 CLIP 的能力,系统对文本提示的理解得到增强,图像生成也更加精准。
  • 最新版本 DALL-E 3 于 2023 年 10 月发布,集成了更先进的 GPT-4 语言模型,带来更出色的文本理解与图像创作能力。除 OpenAI API 账户用户外,ChatGPT 的“Plus”订阅者也可使用该版本。

每一代都代表着文本到图像 AI 能力的进化,在语言模型与可及性方面的提升体现了 OpenAI 推动 AI 技术改进与普及的承诺。

OpenAI 通过其“Plus”订阅提供更多功能,其中之一是 GPT-4 Vision。想了解更多,请参阅我们的 GPT-4 Vision:初学者全面指南,涵盖从访问方式到上手实战与局限性等您需要知道的一切。

 

DALL-E

DALL-E 2

DALL-E 3

Release date

January 2021

July 2022

October 2023

Input data type

Text prompt

Text prompt

Text prompt

Language model

GPT-3

CLIP

GPT-4

Available to

Anyone with an OpenAI API account

Anyone with an OpenAI API account

Anyone with an OpenAI API account and the “Plus“ subscribers via ChatGPT

为何提供 API 版本?

OpenAI 在首届开发者日宣布推出多款 API,DALL-E 3 正是其中之一。

DALL-E 3 的 API 版本为其能力提供更直接、更多样的访问方式。继登陆 ChatGPT 界面与 Bing Chat(更受控且引导性更强)之后,API 版本允许开发者和企业将 DALL-E 3 的能力直接集成进自有应用与工作流程。

DALL-E 3 API 功能

该 API 带来一系列旨在提升用户体验的功能,下面逐一介绍:

DALL-E 3 API features

DALL-E 3 API 功能

  • 图像内文本融合:DALL-E 3 API 可将所需文本融入视觉场景,使其看起来如同原本就存在。
  • 多种图像方向:借助 DALL-E 3,用户可生成横版与竖版图像,满足不同媒体与版式需求。
  • 更佳图像质量:该模型不仅能生成视觉上吸引人的图像,而且细节丰富,从而带来逼真而迷人的观感。
  • 复杂提示理解:DALL-E 3 擅长解读复杂提示,让用户能够创作高度具体、细节充分的图像。

DALL-E 3 API 的行业用例

自早期版本以来,诸多行业已经受益于 DALL-E 技术。当前的 API 提供更先进的图像生成能力,进一步促进创意与效率。

尽管涉及行业数不胜数,本节聚焦三类:广告与营销、教育,以及电子游戏开发。

  • 广告与营销:多家代理公司可借助 API 快速创建用于营销活动与品牌推广的定制化视觉素材,从而提升创意并缩短上市时间。
  • 教育:在线教育平台可使用 API 生成定制插图与示意图,使学习材料更具吸引力并触达更广泛受众。
  • 电子游戏开发:我认为这是最能从 DALL-E 3 API 中受益的领域之一,因为游戏以视觉为核心。游戏开发者可集成该技术,快速设计独特的游戏视觉。

上手实操:开始使用 DALL-E 3 API

既然已更好地理解 DALL-E 3 API 及其能力,让我们动手实践吧。本节将引导您在完成前置设置后,使用 DALL-E 3 API 生成图像。

图像生成工作流

对于任何技术实现,最好先提供可视化工作流,展示所开发应用中各主要组件之间的交互。

该工作流解释了用户如何与 API 交互,从提供自定义提示到获得最终图像的全流程。

Simplified workflow of User's Interaction  With the DALL-E 3 API

用户与 DALL-E 3 API 交互的简化流程

该流程包含两大部分:

  • 前端:让用户输入期望图像的描述。
  • 后端:负责将用户的提示映射到 DALL-E 3 API。

现在进入技术实现环节。本文示例代码可在此 DataLab 工作簿中获取;创建副本后即可在浏览器中编辑并运行,无需在本地电脑安装任何软件。

设置 OpenAI KEY

要顺利复现本教程结果,主要需要以下工具:

  • Python:本教程的主要编程语言。可选替代为 NodeJS。
  • OpenAI:用于与 OpenAI 服务交互的包
  • OS:用于配置环境变量的操作系统相关包
  • Image:负责将 DALL-E 3 的响应转换为图像格式

第一步是获取 OpenAI KEY,以便访问 DALL-E 3 模型。主要步骤如下图所示:

Four main steps to create an OpenAI KEY

创建 OpenAI KEY 的四个主要步骤

上述四个步骤基本不言自明。但务必通过OpenAI 官方网站创建账户。

与 DALL-E 3 API 交互

拿到 KEY 后,请务必不要与任何人分享,务须妥善保密。接下来按如下方式将其设置为环境变量,以便使用:

import os
OPENAI_API_KEY= “<YOUR PRIVATE KEY>”
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY

此 os.environ 语句根据用户私钥的权限范围(Personal 或 Enterprise)初始化与任一 OpenAI 服务的交互。

随后,借助 OpenAI 客户端的 generate 函数,用户可以指定:

  • 所用模型,本教程为 dall-e-3。
  • 发送给模型的提示词。
  • 由 dall-e-3 生成的最终图像的尺寸,本文对所有生成图像均使用 1024x1024。
  • 图像质量,可为standard 或高清(hd)。本文聚焦仅生成高清图像。
  • 用户可一次请求一张图,或通过 n 参数一次请求最多十张,这有利于并行请求。为简明起见,本文使用 n=1。

下面的辅助函数整合了上述信息,便于复现。但在此之前,我们需要安装 OpenAI 库并导入所需依赖:

使用 Python 包管理器 pip 安装如下:

pip install --upgrade openai

--upgrade 选项用于升级至 Python SDK v1.2,以便成功与 DALL-E 3 交互。

from openai import OpenAI


# Instantiate the OpenAI client
client = OpenAI()
from IPython.display import Image

client 负责与 DALL-E 3 API 建立通信。

辅助函数实现如下:

def get_image_from_DALL_E_3_API(user_prompt,
                               image_dimension="1024x1024",
                               image_quality="hd",
                               model="dall-e-3",
                               nb_final_image=1):
   response = client.images.generate(
     model = model,
     prompt = user_prompt,
     size = image_dimension,
     quality = image_quality,
     n=nb_final_image,
   )


   image_url = response.data[0].url
  
   display(Image(url=image_url))

生成逼真图像

借助上述辅助函数,我们用简单与高级提示来尝试生成图像。高级提示将结合前文行业用例进行展示。

需要注意的是,多次运行相同代码会得到不同结果,这源于模型的“创造性”。

使用简单提示

假设向模型发送如下提示:

Create an image of a cute brown puppy sitting in a green meadow under a clear blue sky.

puppy_prompt = "Create an image of a cute brown puppy sitting in a green meadow under a clear blue sky."


get_image_from_DALL_E_3_API(puppy_prompt)

成功执行上述代码片段后,将生成如下图像。

Image generated from the simple prompt

由简单提示生成的图像

该结果充分还原了提示词所描述的内容。

使用更复杂的提示

现在来看面向教育、广告与游戏开发的复杂提示。

教育内容
  • 提示:

Generate an illustration of the solar system with planets orbiting the sun, labeled in English, for a grade school science textbook.

  • 代码:
education_prompt = "Generate an illustration of the solar system with planets orbiting the sun, labeled in English, for a grade school science textbook"

get_image_from_DALL_E_3_API(education_prompt)
  • 结果:

Image generated for “Education” prompt

“Education” 提示生成的图像

广告与营销
  • 提示:

Create an image of a family enjoying a picnic in a futuristic city park, with skyscrapers in the background and a clear blue sky, to be used in a campaign promoting eco-friendly urban living.

  • 代码:
advertising_prompt = "Create an image of a family enjoying a picnic in a futuristic city park, with skyscrapers in the background and a clear blue sky, to be used in a campaign promoting eco-friendly urban living."

get_image_from_DALL_E_3_API(advertising_prompt)
  • 结果:

Image generated for “Advertising” prompt

“Advertising” 提示生成的图像

游戏开发

在最后一个示例中,我们让模型根据提示中用橙色突出显示的文本信息进行添加,看看它的表现如何。

  • 提示:

Design a concept art of a mystical forest at twilight, with glowing plants and a hidden entrance to an underground cave, for an adventure game setting. Include a signpost in the image with the text 'Beware: Mythical Creatures Ahead' in an ancient, mystical font style.

  • 代码:
game_dev_prompt = "Design a concept art of a mystical forest at twilight, with glowing plants and a hidden entrance to an underground cave, for an adventure game setting. Include a signpost in the image with the text 'Beware: Mythical Creatures Ahead' in an ancient, mystical font style"

get_image_from_DALL_E_3_API(game_dev_prompt)
  • 结果:

Image generated for “Game Development” prompt

“Game Development” 提示生成的图像

可以看到,模型在生成图像后成功添加了文本 “BEWARE MYTHICAL CREATURES AHEAD”。非常出色。

使用 DALL-E 3 API 的最佳实践

为获得更佳体验,使用 DALL-E 3 API 时建议遵循以下实践与指南:

  • 重视详细沟通:向 DALL-E 3 提供精确、细致的提示至关重要,就像在人与人交流中清晰具体的指令更有效一样。请求越明确,结果越准确。
  • 伦理考量:务必关注最终作品的伦理影响,遵守版权与隐私法律,并考虑生成图像可能带来的影响。
  • 正视并适应其局限:与任何技术一样,DALL-E 3 也有其局限。熟悉 API 能与不能做到的地方,有助于调整提示并设定更符合现实的预期。
  • 持续学习与迭代:尝试多样化的提示有助于发掘 API 的可能性边界,也能拓展自身创意边界。对画家而言,这好比探索不同画笔与色彩。

结语

总之,本文全面探讨了 DALL-E 3 API,详述其配置流程与多种应用场景。我们先从 API 概览入手,勾勒其突破性能力,为深入理解奠定基础。

随后我们剖析了 DALL-E 3 的具体功能,阐明其先进的图像生成特性。接着通过多个行业用例展示了该 API 的多面性与广泛影响。

本文还引导您完成使用 DALL-E 3 API 的初始步骤,从获取访问权限到针对不同应用进行设置,强调理解与有效运用 API 功能的重要性。

此外,我们讨论了使用 DALL-E 3 API 的最佳实践,强调伦理考量与发挥其潜力的策略。结合实用技巧与功能示例,帮助用户优化使用体验。

您是否已准备好在 AI 与创意技术的世界更进一步?借助 AI 创新者所用的先进工具,提升技能,释放创意潜能。从我们的 如何使用 Midjourney:AI 生成艺术作品创作全面指南 教程开启您的旅程。或学习如何使用其他热门 API,例如我们的 使用 OpenAI API 课程。

Zoumana Keita

作者

Zoumana Keita

一位多才多艺、乐于分享知识并回馈他人的数据科学家。Zoumana 是 YouTube 内容创作者,也是 Medium 上的顶尖科技写作者。他热爱演讲、编程与教学。Zoumana 拥有两个硕士学位:其一是在法国巴黎获得的计算机科学硕士,专注于机器学习;其二是在美国德州理工大学获得的数据科学硕士。他的职业生涯始于法国 Groupe OPEN 的软件开发工程师,随后加入 IBM 担任机器学习顾问,为保险公司构建端到端的 AI 解决方案。之后,Zoumana 加入了 Axionable——一家总部位于巴黎与蒙特利尔的首家“可持续 AI”初创公司。在那里,他担任数据科学家,为来自法国、蒙特利尔、新加坡和瑞士的客户交付 AI 产品,主要聚焦 NLP 场景。此外,他将 5% 的时间投入到研发工作。目前,他在 IFC(世界银行集团)担任高级数据科学家。

主题