解锁创造力!使用OpenAI的Dall-e API创造疯狂艺术

目录

  1. 引言
  2. OpenAI 图像生成 API 概述
  3. 使用 OpenAI 图像生成 API
    • 3.1 创建图像
    • 3.2 编辑图像
    • 3.3 生成图像变种
  4. 商业应用创意
  5. 总结与展望

OpenAI 图像生成 API:释放创造力的新工具 💡

在过去的一年中,人工图像生成已成为机器学习领域最重要的趋势之一。我们见证了各种各样的疯狂示例,比如AI所描绘的人类进化。目前已经有许多不同的应用程序,如Hugging Face上的稳定扩散演示,可以将文本转化为图像。不过,若你想通过编程方式生成自己的图像,就需要对深度学习有一定了解,并拥有足够的硬件资源来运行计算密集型的模型。至少,这是之前的情况。因为OpenAI刚刚发布了基于他们Dolly 2模型的图像生成API。这意味着任何开发者现在都可以轻松地生成高质量的人工艺术品。在今天的视频中,你将了解到这个API能够实现的一些令人惊讶的功能,并为你提供了一些创意点子,帮助你构建可能与之相关的应用程序。在我们开始之前,你需要先拥有一个OpenAI账户。需要注意的是,该API是付费的。不过,当你开始使用时,OpenAI会提供18美元的开发者信用额度。一旦你用完了信用额度,你需要支付大约每张图像2美分的费用,或者按照最高分辨率(目前为1024像素)支付每美元50张图像的费用。这的确是一个高价,但正如OpenAI的联合创始人埃隆·马斯克所说,你所付出的就是你所得到的。

现在让我们来生成一个API密钥,然后打开VS Code,开始一个新的Node.js项目。尽管你也可以在Python中轻松完成这个任务,我将运行npm init y来启动一个新的Node.js项目,然后使用npm install来添加用于JavaScript的OpenAI SDK。现在我创建了三个不同的JavaScript文件,因为我想向你展示如何完成三个不同的任务:生成一张新图像、用遮罩编辑现有图像,并从源图像创建一个变体。最后,我创建了一个目录来保存所有图像结果。此外,你还需要进入Package.json文件,并将其类型设置为模块,以便我们可以在代码中使用ES模块导入语法。不过,在编写实际代码之前,我有一个商业创意要和你分享。你可以构建一个SAS产品,允许博主上传文章,然后你自动为这篇文章生成5到6个与内容相关的图片。甚至,你可以使用一本旧的公共领域书籍,比如约瑟夫·康拉德的《黑暗的心》,创建一些AI插图,然后将其作为一本插图小说再次出版。现在,你已经有了一些着手开始的糟糕点子,让我们按照计划写入代码。首先,我们需要从SDK中导入ConfigurationOpenApi类。我们使用API密钥创建一个Configuration对象,并确保不要公开暴露这个密钥。然后,初始化SDK。接下来,我创建了一个描述所需生成图像的提示符变量,比如一艘在深空中穿越火河的船。现在,我们可以使用顶层await来调用OpenAI的createImage端点,它接受提示符作为第一个参数,以及要生成的图像数量和分辨率。你还可以在此处传递用户ID,这样OpenAI就可以识别并防止滥用,比如当你有一个用户不断尝试生成不当图像时。这个API调用将返回一个图像URL。现在,我们可以直接访问该URL,或者更好的是,我们可以将图像保存到磁盘上。在本演示中,我使用Node.js 18版本,它给我提供了访问Node原生的fetchAPI的能力。我们可以使用它来获取图像URL,然后将结果设置为blob。我们需要将该blob转换为缓冲区,可以通过使用buffer.from并等待blob的arrayBuffer来实现。然后,我们可以使用Node文件系统API的writeFileSync将其写入磁盘。现在,我们可以通过打开终端并使用Node运行generate.js文件来生成一些艺术品。它大约需要5到10秒来生成一件艺术品,但总体质量相当令人印象深刻。

接下来我要展示的是如何创建图像的变种。让我们将刚刚写的代码复制并粘贴到variation.js文件中,然后删除中间部分,即我们调用OpenAI的部分。我们将使用一个名为createImageVariation的不同API调用来代替,它以现有图像作为起点,生成不同的结果。这个端点不接受提示符,而是以图像作为输入。我将使用蒙娜丽莎的照片作为输入。通过使用Node.js中的createReadStream方法打开文件,并将图像路径作为参数传递给它,可以将图像转换为可用的输入格式。现在,我们可以运行这个脚本,它将生成蒙娜丽莎的一个不同版本,虽然相当丑陋。Dolly有时会产生一些非常酷的作品,但大部分时候并不美观。我进行了一些测试,递归生成了25次蒙娜丽莎的图像,并生成了一些其他的艺术品。我发现,这个算法倾向于生成卡通形象,如《辛普森一家》之类的角色。如果你不断将其结果反馈给它本身,它最终会变得毫无意义,因为它并没有真正创造艺术,而是将数百万人类创作的艺术相结合,形成看似艺术的东西。不管怎样,我还想向你展示最后一件事,那就是如何修改现有图像的特定部分。我认为这个API的这个方面具有最大的潜力,因为你可以以更细微且有趣的方式增强现有图像,创造出类似这种只替换了AI生成的内容的图像。我们再次将我们的代码复制到edit.js文件中,并将中间部分替换为对createImageEdit端点的调用。这个端点需要两张图像,一张是全图的来源,另一张是同一图像中的一个透明部分,这部分将被将由AI生成的内容替换掉。我使用了一张自己写代码的照片,并将计算机屏幕作为要替换的区域。现在我们可以运行代码,得到一张只有计算机屏幕上有AI生成艺术的图像,这相当酷。我认为这里有很多创意的潜力,可以用来创作出更加细腻和有趣的图像。

以上就是我们对OpenAI Dolly的介绍和使用教程。感谢您的观看,我们下次再见!


商业应用创意 💡

  • 博客插图生成器: 创建一个SAS产品,允许博主上传文章,然后自动生成与文章内容相关的5到6个图像。
  • AI插图小说: 将一本旧的公共领域书籍,如约瑟夫·康拉德的《黑暗的心》,创建成一本插图小说,通过生成AI插图来增强原作的视觉呈现效果。
  • 艺术创作助手: 提供一个工具,协助艺术家在现有图像基础上进行修改和创作,以加强他们的创作过程和创意表达。
  • 创意广告设计: 提供一个平台,允许广告公司和创意团队在广告设计中使用AI图像生成技术,以获得新颖、创意的广告设计方案。
  • 美学个性化生成: 基于用户的偏好和个性,提供一个个性化的图像生成工具,为用户生成符合其审美品味的艺术作品。

这些商业创意将AI图像生成与其他领域相结合,为用户带来新的体验和创造机会。


总结与展望

通过OpenAI的图像生成API,我们可以轻松地将文本转化为高质量的人工艺术品。我们学习了如何使用API来生成新图像、编辑现有图像以及生成图像的变种。同时,我们探讨了一些创意的商业应用领域,帮助你思考如何利用这一强大的工具创造新的商机。AI图像生成技术在艺术、设计、广告等领域具有巨大的潜力,为人们带来前所未有的创作效果和体验。然而,我们也需要警惕AI技术潜在的问题,比如滥用、伦理和版权等方面的考量。随着AI技术的不断发展和成熟,我们可以期待更多令人兴奋的创新和应用。


FAQ

Q: OpenAI的图像生成API可以用于商业用途吗? A: 是的,OpenAI的图像生成API可以用于商业用途。但需要注意API是付费的,费用根据生成的图像数量和分辨率而定。

Q: 图像生成API生成的图像可以用于商业产品开发吗? A: 可以。你可以将API生成的图像用于商业产品开发,但需要遵守OpenAI的使用规定和相关法律法规。

Q: 图像生成API生成的图像质量如何? A: 图像生成API生成的图像质量相当不错,总体上是令人印象深刻的。然而,由于算法的特性,生成的图像有时可能不太美观,更倾向于卡通形象。

Q: 图像生成API的生成速度如何? A: 图像生成API的生成速度根据图像的复杂度和分辨率而异,通常需要5到10秒的时间生成一张图像。

Q: 图像生成API是否支持其他图像编辑功能,如滤镜、裁剪等? A: 目前,图像生成API主要提供了生成、编辑和变换图像的功能。其他图像编辑功能可能需要借助其他工具或算法来实现。

Q: 我是否需要具备深度学习和硬件知识才能使用图像生成API? A: 虽然有一定的深度学习和硬件知识会对使用图像生成API有所帮助,但OpenAI的图像生成API已经提供了使用它所需的简单且易于理解的接口,使得没有深度学习和硬件专业知识的开发者也能轻松使用。

Q: 生成的图像是否可以用于商标、版权或其他知识产权目的? A: 生成的图像可能涉及版权和知识产权的问题。在使用API生成图像时,建议遵守相关法律法规和知识产权的保护原则。如有需要,建议咨询专业人士的意见。

Q: 图像生成API是否支持多种图像分辨率? A: 是的,图像生成API支持多种图像分辨率。你可以根据你的需求选择适当的分辨率。

Q: 生成的图像是否会有重复或相似的情况? A: 图像生成API生成的图像在一定程度上可能会出现重复或相似的情况,这取决于输入的提示和算法的随机性。为了避免这种情况,你可以尝试使用不同的提示和调整其他参数。