OpenAI-ChatGPT最新官方接口《AI绘图》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(三)(附源码)

ChatGPT-AI绘图

  • Image generation Beta 图片生成
  • 前言
  • Introduction
  • Usage
    • Generations
    • Edits 编辑
  • Variations
  • Language-specific tips 特定语言提示
    • Python 语言
      • Using in-memory image data 使用内存中的图像数据
      • Operating on image data 操作图像数据
      • Error handling
    • Node.js 语言
      • Using in-memory image data 使用内存中的图像数据
      • Working with TypeScript 使用TypeScript
      • Error handling
  • 其它资料下载

在这里插入图片描述

Image generation Beta 图片生成

Learn how to generate or manipulate images with our DALL·E models
了解如何使用我们的DALL·E模型生成或操作图像

前言

ChatGPT不仅仅是一个强大的自然语言处理模型,其DALL·E模型还可以帮助用户快速生成多种多样的图像。用户可以根据文字快速生成图片,即可自动生成出特定的图片,大大提高了工作效率。对于多媒体行业从业者来说,DALL·E模型强大的图像处理能力,可以帮助用户节省大量时间,让用户更加专注地精心制作自己的作品,从而提高工作效率。

Introduction

The Images API provides three methods for interacting with images:
图像API提供了三种与图像交互的方法:

  1. Creating images from scratch based on a text prompt
    基于文本提示从头开始创建图像
  2. Creating edits of an existing image based on a new text prompt
    基于新文本提示创建现有图像的编辑
  3. Creating variations of an existing image
    创建现有图像的变体

This guide covers the basics of using these three API endpoints with useful code samples. To see them in action, check out our DALL·E preview app.
本指南涵盖了使用这三个API端点的基础知识和有用的代码示例。要查看它们的实际操作,请查看我们的DALL·E预览应用程序。

The Images API is in beta. During this time the API and models will evolve based on your feedback. To ensure all users can prototype comfortably, the default rate limit is 50 images per minute. You can learn more about rate limits in our rate limit guide.
图像API处于beta阶段。在此期间,API和模型将根据您的反馈进行改进。为了确保所有用户都能轻松地进行原型制作,默认速率限制为每分钟50张图像。您可以在我们的费率限制指南中了解有关费率限制的更多信息。

Usage

Generations

The image generations endpoint allows you to create an original image given a text prompt. Generated images can have a size of 256x256, 512x512, or 1024x1024 pixels. Smaller sizes are faster to generate. You can request 1-10 images at a time using the n parameter.
图像生成端点允许您在给出文本提示的情况下创建原始图像。生成的图像可以具有256 x256、512 x512或1024 x1024像素的大小。较小的尺寸生成速度更快。您可以使用n参数一次请求1-10个图像。

python代码如下:

response = openai.Image.create(prompt="a white siamese cat",n=1,size="1024x1024"
)
image_url = response['data'][0]['url']

node.js代码如下:

const response = await openai.createImage({prompt: "a white siamese cat",n: 1,size: "1024x1024",
});
image_url = response.data.data[0].url;

curl 代码如下:

curl https://api.openai.com/v1/images/generations \-H "Content-Type: application/json" \-H "Authorization: Bearer $OPENAI_API_KEY" \-d '{"prompt": "a white siamese cat","n": 1,"size": "1024x1024"}'

The more detailed the description, the more likely you are to get the result that you or your end user want. You can explore the examples in the DALL·E preview app for more prompting inspiration. Here’s a quick example:
描述越详细,就越有可能获得您或最终用户想要的结果。您可以在DALL·E预览应用程序中探索示例,以获得更多提示灵感。这里有一个简单的例子:

PROMPT 提示

a white siamese cat 白色暹罗猫

GENERATION 产生
在这里插入图片描述

PROMPT 提示

a close up, studio photographic portrait of a white siamese cat that looks curious, backlit ears
一个近距离,工作室摄影肖像的白色暹罗猫,看起来好奇,背光的耳朵

GENERATION 产生
在这里插入图片描述
Each image can be returned as either a URL or Base64 data, using the response_format parameter. URLs will expire after an hour.
使用response_format参数,每个图像都可以作为URL或Base64数据返回。URL将在一小时后过期。

Edits 编辑

The image edits endpoint allows you to edit and extend an image by uploading a mask. The transparent areas of the mask indicate where the image should be edited, and the prompt should describe the full new image, not just the erased area. This endpoint can enable experiences like the editor in our DALL·E preview app.
图像编辑端点允许您通过上传遮罩来编辑和扩展图像。蒙版的透明区域指示应该编辑图像的位置,提示应该描述完整的新图像,而不仅仅是擦除的区域。此端点可以实现类似于DALL·E预览应用中的编辑器的体验。

python代码如下:

response = openai.Image.create_edit(image=open("sunlit_lounge.png", "rb"),mask=open("mask.png", "rb"),prompt="A sunlit indoor lounge area with a pool containing a flamingo",n=1,size="1024x1024"
)
image_url = response['data'][0]['url']

node.js代码如下:

const response = await openai.createImageEdit(fs.createReadStream("sunlit_lounge.png"),fs.createReadStream("mask.png"),"A sunlit indoor lounge area with a pool containing a flamingo",1,"1024x1024"
);
image_url = response.data.data[0].url;

curl 代码如下:

curl https://api.openai.com/v1/images/edits \-H "Authorization: Bearer $OPENAI_API_KEY" \-F image="@sunlit_lounge.png" \-F mask="@mask.png" \-F prompt="A sunlit indoor lounge area with a pool containing a flamingo" \-F n=1 \-F size="1024x1024"

在这里插入图片描述
The uploaded image and mask must both be square PNG images less than 4MB in size, and also must have the same dimensions as each other. The non-transparent areas of the mask are not used when generating the output, so they don’t necessarily need to match the original image like the example above.
上传的图像和蒙版必须都是小于4MB的方形PNG图像,并且彼此的尺寸必须相同。生成输出时不使用蒙版的非透明区域,因此它们不一定需要像上面的示例那样匹配原始图像。

Variations

The image variations endpoint allows you to generate a variation of a given image.
图像变体端点允许您生成给定图像的变体。

python代码如下:

response = openai.Image.create_variation(image=open("corgi_and_cat_paw.png", "rb"),n=1,size="1024x1024"
)
image_url = response['data'][0]['url']

node.js代码如下:

const response = await openai.createImageVariation(fs.createReadStream("corgi_and_cat_paw.png"),1,"1024x1024"
);
image_url = response.data.data[0].url;

curl 代码如下:

curl https://api.openai.com/v1/images/variations \-H "Authorization: Bearer $OPENAI_API_KEY" \-F image='@corgi_and_cat_paw.png' \-F n=1 \-F size="1024x1024"

在这里插入图片描述

Language-specific tips 特定语言提示

Python 语言

Using in-memory image data 使用内存中的图像数据

The Python examples in the guide above use the open function to read image data from disk. In some cases, you may have your image data in memory instead. Here’s an example API call that uses image data stored in a BytesIO object:
上面的Python示例使用 open 函数从磁盘读取图像数据。在某些情况下,您可能会将图像数据保存在内存中。下面是一个使用存储在 BytesIO 对象中的图像数据的示例API调用:

from io import BytesIO# This is the BytesIO object that contains your image data
byte_stream: BytesIO = [your image data]
byte_array = byte_stream.getvalue()
response = openai.Image.create_variation(image=byte_array,n=1,size="1024x1024"
)

Operating on image data 操作图像数据

It may be useful to perform operations on images before passing them to the API. Here’s an example that uses PIL to resize an image:
在将图像传递给API之前对图像执行操作可能是有用的。下面是一个使用 PIL 调整图像大小的示例:

from io import BytesIO
from PIL import Image# Read the image file from disk and resize it
image = Image.open("image.png")
width, height = 256, 256
image = image.resize((width, height))# Convert the image to a BytesIO object
byte_stream = BytesIO()
image.save(byte_stream, format='PNG')
byte_array = byte_stream.getvalue()response = openai.Image.create_variation(image=byte_array,n=1,size="1024x1024"
)

Error handling

API requests can potentially return errors due to invalid inputs, rate limits, or other issues. These errors can be handled with a try...except statement, and the error details can be found in e.error:
API请求可能由于无效输入、速率限制或其他问题而返回错误。这些错误可以用 try...except 语句处理,错误细节可以在 e.error 中找到:

try:openai.Image.create_variation(open("image.png", "rb"),n=1,size="1024x1024")print(response['data'][0]['url'])
except openai.error.OpenAIError as e:print(e.http_status)print(e.error)

Node.js 语言

Using in-memory image data 使用内存中的图像数据

The Node.js examples in the guide above use the fs module to read image data from disk. In some cases, you may have your image data in memory instead. Here’s an example API call that uses image data stored in a Node.js Buffer object:
上述指南中的Node.js示例使用 fs 模块从磁盘读取图像数据。在某些情况下,您可能会将图像数据保存在内存中。下面是一个使用存储在Node.js Buffer 对象中的图像数据的示例API调用:

// This is the Buffer object that contains your image data 这是包含图像数据的Buffer对象
const buffer = [your image data];
// Set a `name` that ends with .png so that the API knows it's a PNG image 设置一个以.png结尾的“名称”,这样API就知道这是一个PNG图像
buffer.name = "image.png";
const response = await openai.createImageVariation(buffer,1,"1024x1024"
);

Working with TypeScript 使用TypeScript

If you’re using TypeScript, you may encounter some quirks with image file arguments. Here’s an example of working around the type mismatch by explicitly casting the argument:
如果你使用TypeScript,你可能会遇到一些图像文件参数的怪异。下面是一个通过显式转换参数来解决类型不匹配的示例:

// Cast the ReadStream to `any` to appease the TypeScript compiler 将ReadStream转换为' any '以便TypeScript编译器使用
const response = await openai.createImageVariation(fs.createReadStream("image.png") as any,1,"1024x1024"
);

And here’s a similar example for in-memory image data:
下面是内存中图像数据的类似示例:

// This is the Buffer object that contains your image data 这是包含图像数据的Buffer对象
const buffer: Buffer = [your image data];
// Cast the buffer to `any` so that we can set the `name` property 将缓冲区转换为' any ',以便我们可以设置' name '属性
const file: any = buffer;
// Set a `name` that ends with .png so that the API knows it's a PNG image 设置一个以.png结尾的“名称”,这样API就知道这是一个PNG图像
file.name = "image.png";
const response = await openai.createImageVariation(file,1,"1024x1024"
);

Error handling

API requests can potentially return errors due to invalid inputs, rate limits, or other issues. These errors can be handled with a try...catch statement, and the error details can be found in either error.response or error.message:
API请求可能由于无效输入、速率限制或其他问题而返回错误。这些错误可以用 try...catch 语句处理,错误详细信息可以在error.responseerror.message 中找到:

try {const response = await openai.createImageVariation(fs.createReadStream("image.png"),1,"1024x1024");console.log(response.data.data[0].url);
} catch (error) {if (error.response) {console.log(error.response.status);console.log(error.response.data);} else {console.log(error.message);}
}

其它资料下载

如果大家想继续了解人工智能相关学习路线和知识体系,欢迎大家翻阅我的另外一篇博客《重磅 | 完备的人工智能AI 学习——基础知识学习路线,所有资料免关注免套路直接网盘下载》
这篇博客参考了Github知名开源平台,AI技术平台以及相关领域专家:Datawhale,ApacheCN,AI有道和黄海广博士等约有近100G相关资料,希望能帮助到所有小伙伴们。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/12650.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

utools 效率桌面工具

我们平时可能需要各种工具插件辅助我们进行开发工作,以此来提高效率,例如翻译插件,变量命名,json格式转换,postman、mock等等 但是这些插件可能遍布于各种平台,例如浏览器,编辑器或者桌面应用…

utools的安装与安装路径更改

utools的安装与安装路径更改 utools简介下载utools更改utools的安装路径 utools简介 uTools your tools(你的工具集) uTools 是一个极简、插件化的现代桌面软件,通过自由选配丰富的插件,打造得心应手的工具集合。 通过快捷键&am…

快速启动的效率工具utools工具使用

说明 最近看到一个快速启动的效率工具utools,个人使用下来挺好的,在这里记录一下。 安装utools 参考: uTools官网:https://u.tools 简单使用 通过鼠标中键可以换出快捷菜单 使用altEnter可以换出工具,输入想要…

utools 找不到本地应用

问题描述 现在我使用utools没有查到本地的软件,因为这个软件貌似是免安装的 解决方法 1.复制文件 2.打开utools 实现效果

utools快速上手使用心得

今天给大家推荐一个让你觉得相见恨晚的工具——utools 这是一个好用的桌面工具插件!电脑高效生产力工具集、手把手教你提高效率——utools的使用 uTools丨高效解决工作中的大小问题、必看!打工人如何用utools提升效率,越早用越早下班 特别适合 做笔记&#xff0…

utools插件开发之监听按键的命令和状态

本篇文章主要讲解utools插件开发,监听按键命令的方法 作者:任聪聪 前提说明 1.utools没有自带的监听enter等按键的api 2.utools赋值需要通过js的全局变量来复制 enter接收参数 在js端中进行接收 赋值需要在preload.js 实际效果 输入内容sddd 按…

uTools入门小结

文章目录 简介使用教程演示软件安装键盘交互文件搜索呼出uTools退出uTools粘贴对应资源弹出匹配工具模糊打开应用网页快开功能剪切板历史图片自动识别 鼠标交互翻译 偏好设置 其他插件markdownJSON格式化工具 一步到位功能安装一步到位推荐安装插件插件推荐端口号查询插件WiFi密…

Cusor+Utools辅助编程

代码自动生成工具Cusor与ChatGPT的深度结合在现代软件开发过程中,代码自动生成工具的应用越来越广泛。它可以提高开发效率,减少重复机械劳动,让开发人员更加关注设计和问题解决。 Cusor是一个开源的代码自动生成工具,它可以根据用户的自然语言描述自动生成对应代码框架…

uTools 效率工具 - chatGPT

uTools 效率工具-chatGPT插件 今天分享一个可以免费使用chatGPT免费版的一个软件,更是一个插件!! 里面包含大量插件,是一个插件市场!! 一、简介 什么是uTools? uTools是一款插件化&#xff0…

平均薪资28K,测试开发的涨薪史,给我看哭了...

金三银四的涨薪季要来了,看着身边的同事有的晋升,有的收获30%的涨薪,他们都拥有哪些影响涨薪的硬核技能呢?互联网行业的高薪是众所周知的,而测试作为互联网公司越来越重视的技术开发模块,薪资收入同样一路走…

ChatGPT将淘汰40%的职场人,这5种人的薪资却越来越高...

作者| Mr.K 编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) “人类已经习惯垄断复杂的智慧,成为这些智慧的中心…但人工智能的出现,将会改变人类对自己的认知。”这是《AI世代与我们的未来》一书的一段话,作者是美国前国务卿亨…

全国程序员薪酬大曝光!看完我酸了····

2023年,随着互联网产业的蓬勃发展,程序员作为一个自带“高薪多金”标签的热门群体,被越来越多的人所关注。 在过去充满未知的一年中,他们的职场现状发生了一定的改变。那么,程序员岗位的整体薪资水平、婚恋现状、职业方…

ChatGPT你知道怎么年薪百万?

要达到年薪百万,需要从多方面入手。以下是一些建议: 学习技能: 不断学习新的技能,并在实际工作中提高自己的能力。这样可以使你的薪资增加,也有助于提升晋升的机会。 创业: 如果你有自己的创业项目,那么这是一个很好…

ChatGPT背后的“血汗工厂”:最低时薪才9块钱,有员工受到心理创伤

ChatGPT被誉为当年最具创新性的人工智能工具之一。瑞银此前发布的一份研究报告显示,ChatGPT的月活跃用户在今年1月份预计达到了1亿,这距离其推出只有2个月时间,成为史上增长最快的消费者应用。 然而,在ChatGPT掀起的这场人工智能“…

工资中位数增长10%、83%人使用过ChatGPT、Zig最吃香,Stack Overflow开发者调查报告重磅发布!

​​整理 | 苏宓 出品 | CSDN(ID:CSDNnews) ​在调研了全球超过 90000 名开发者之后,程序员社区 Stack Overflow 重磅发布了《2023 Developer Survey》调查报告。在本次报告中,Stack Overflow 从工具、编码、工作、社…

“拿下”谷歌124万年薪offer,ChatGPT将取代程序员?

#ChatGPT会抢谁饭碗# #ChatGPT会不会使基层程序员失业# .... ChatGPT横空出世直接霸屏各大平台热搜榜单,刷爆朋友圈,引发全球ChatGPT概念股集体疯涨。ChatGPT推出仅2个月,它的活跃用户已破1个亿,在1月份的访问量约为5.9亿。成为史…

互联网各大厂内网里都有些啥?这也就是某脉崛起的原因

上一篇:对不起,实在扛不住了。。。 昨天,笔者在文章说需要给大家普及一下各大公司内网里的一些知识。 网友给笔者留言: 对于粉丝的要求,必须满足。 那笔者今天就给大家安利安利各大厂的内网。 华为——心声社区 早年华…

如何健康学习到150岁 - 人体系统调优完全指南

Laf 公众号已接入了 AI 绘画工具 Midjourney&#xff0c;可以让你轻松画出很多“大师”级的作品。同时还接入了 AI 聊天机器人&#xff0c;支持 GPT、Claude 以及 Laf 专有模型&#xff0c;可通过指令来随意切换模型。欢迎前来调戏&#x1f447; <<< 左右滑动见更多 &…

昆仑万维,天工背后

一季度财报的发布&#xff0c;让昆仑万维再次逼近涨停。2023年还未过半&#xff0c;但A股的“妖股”年榜上定会有其一席之地。 拉开昆仑万维的周线图&#xff0c;从开年至今&#xff0c;仅有3周收了绿线&#xff0c;累计涨幅超过300%&#xff0c;且跌势未显。 夸张涨势的背后…

Sam Altman 山姆奥特曼:关于生产率(工作效率)

目录 Productivity 生产率 What you work on 你在做什么 &#xfeff;Prioritization 优先次序 Physical factors 物理因素 &#xfeff;Other stuff 其他的东西 I think I am at least somewhat more productive than average, and people sometimes ask me for productivity…