Why is OpenAI image generation Api returning 400 bad request in Unity?

题意:为什么 OpenAI 图像生成 API 在 Unity 中返回 400 Bad Request 错误?

问题背景:

I'm testing out dynamically generating images using OpenAI API in Unity. Amusingly, I actually generated most of this code from chatGPT.

我正在测试在 Unity 中使用 OpenAI API 动态生成图像。有趣的是,我实际上是通过 ChatGPT 生成了大部分代码。

The Error response is: "Your request contained invalid JSON: Expecting value: line 1 column 1 (char 0)". But I cant see anything wrong with the json formatting of my requestbody...

错误响应是:‘你的请求包含无效的 JSON:期待值:第 1 行第 1 列 (字符 0)’。但我看不出我的请求体的 JSON 格式有什么问题……

I also found this other question which is probably failing for the same reason, whatever it is: 

我还发现了另一个问题,可能因为同样的原因而失败,无论是什么原因:Why does Post request to OpenAI in Unity result in error 400?

Here is my code:        以下是我的代码:

public class PlayerScript : MonoBehaviour
{// Replace API_KEY with your actual API keyprivate string API_KEY = "<api_key>";private string API_URL = "https://api.openai.com/v1/images/generations";void Start(){StartCoroutine(GetImage());}IEnumerator GetImage(){// Create a request body with the prompt "Player"string requestBody = "{\"prompt\": \"Player\",\"n\": 1,\"size\": \"128x128\"}";// Create a UnityWebRequest and set the request method to POSTUnityWebRequest www = UnityWebRequest.Post(API_URL, requestBody);// Set the authorization header with the API keywww.SetRequestHeader("Authorization", "Bearer " + API_KEY);// Set the content type headerwww.SetRequestHeader("Content-Type", "application/json");// Send the requestyield return www.SendWebRequest();// Check for errorsif (www.isNetworkError || www.isHttpError){Debug.LogError(www.error);}else{// do stuff}}
}

Any idea what's going wrong? Apologies if it's something obvious, never made web requests in Unity before.

知道哪里出了问题吗?如果问题显而易见请见谅,我以前从未在 Unity 中发过网络请求。

问题解决:

UnityWebRequests url-encodes content before submitting the request. This messes up the formatting. see: 

UnityWebRequests 在提交请求之前会对内容进行 URL 编码,这会导致格式混乱。参见:prevent UnityWebRequest.Post() from Url-Encoding the data ? - Questions & Answers - Unity Discussions

using httpClient worked for me.

“使用 httpClient 对我来说是有效的。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

选择优质代理IP建议分享

“在互联网的广阔世界中&#xff0c;代理IP作为一种重要的网络工具&#xff0c;扮演着连接用户与目标服务器之间的桥梁角色。不同类型的代理IP适用于不同的场景和需求&#xff0c;因此选择合适的代理IP类型对于提高网络访问效率、保护用户隐私至关重要。” 一、代理IP类型概述 …

感谢老美苦苦相逼,逼出华为鸿蒙PC

文&#xff5c;琥珀食酒社 作者 | 随风 哎&#xff0c;告诉大家一个不好的消息 刚刚余总说 Windows PC是最后一批了 因为美国新一轮制裁又来了 但大家别急 再告诉大家一个好消息 那就是我们的鸿蒙PC要来了 今天不是华为三折叠手机和iPhone 16首发吗 估计老美是前端时间…

MySQL高阶1873-计算特殊奖金

目录 题目 准备数据 分析数据 总结 题目 编写解决方案&#xff0c;计算每个雇员的奖金。如果一个雇员的 id 是 奇数 并且他的名字不是以 M 开头&#xff0c;那么他的奖金是他工资的 100% &#xff0c;否则奖金为 0 。 返回的结果按照 employee_id 排序。 准备数据 Crea…

Java设计模式——简单工厂模式(完整详解,附有代码+案例)

文章目录 5.2简单工厂模式5.2.1 概述5.2.2 结构5.2.3 实现5.2.4 优缺点5.2.5 扩展—静态工厂 5.2简单工厂模式 5.2.1 概述 简单工厂不是一种设计模式&#xff0c;反而比较像是一种编程习惯。 不属于GOF的23种经典设计模式 5.2.2 结构 简单工厂包含下角色&#xff1a; 抽象…

ISSTA 2024现场精彩:“杰出论文奖”超半数属于中国学者

ISSTA会议是软件工程领域中最具影响力的国际会议之一&#xff0c;也是中国计算机学会&#xff08;CCF&#xff09;推荐的A类会议。 第33届ISSTA会议已于奥地利维也纳圆满结束&#xff0c;这场盛会已经吸引了众多来自学术界和工业界的软件测试专家、研究人员和工程师&#xff0c…

doris数据库的坑:第二弹

上一篇文章《doris数据库操作数字遇到的问题》是第一弹&#xff0c;文章结尾提到过doris不支持with语句&#xff0c;其实是因为我自己没找到正确使用的方式导致的。昨天因为客户现场有一个解析SQL的接口提示异常&#xff0c;所以就开始了长路漫漫的排查之旅。不过首先承认及纠正…

英飞凌 PSoC6 RT-Thread 评估板硬件概览

PSoC™ 62 with CAPSENSE™ evaluation kit 开发板&#xff08;以下简称 PSoC 6 RTT 开发板&#xff09;是英飞凌&#xff08;Infineon&#xff09;联合 RT-Thread 发布一款面向物联网开发者的 32 位双核 MCU 开发套件&#xff0c;其默认内置 RT-Thread 物联网操作系统。本文主…

vue 入门一

参考&#xff1a;丁丁的哔哩哔哩 1.使用vue 1.1 使用CDN的方式使用Vue mount和<div id"counter">关联起来 1.2 vue中的createApp import { createApp } from "vue"; import App from "./App.vue"; createApp(App).mount("#app&qu…

C#基础(15)选择排序

前言 上一节中我们已经学习了第一个算法&#xff1a;冒泡算法&#xff0c;相信你也有足够的自信继续学习更多的算法。 今天我们就来讲解又一个排序相关的算法&#xff1a;选择排序。 时间复杂度 在进行今天的排序算法讲解之前&#xff0c;我们先补充一个知识点&#xff1a…

单链表(c语言简单实现)

单链表是一种常见的数据结构 一、结构特点 1. 由一系列节点组成&#xff0c;每个节点包含数据域和指向下一个节点的指针域。 2. 最后一个节点的指针域为 null&#xff0c;表示链表的结尾。 二、主要操作 1. 插入节点&#xff1a;可以在链表的头部、尾部或特定位置插入新节点。…

Docker安装rabbitmq并配置延迟队列

下载rabbitmq镜像 docker pull rabbitmq:management 运行rabbitmq镜像 docker run -id --namerabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 -e RABBITMQ_DEFAULT_USERtom -e RABBITMQ_DEFAULT_PASStom rabbitmq:management …

windows环境下MySQL启动失败 查看data文件夹中.err发现报错unknown variable ‘log‐bin=mysql‐bin‘

文章目录 问题解决方法 问题 今天在windows环境下配置MySQL主从同步&#xff0c;在修改my.ini文件后发现MySQL启动失败了 打开my.ini检查参数发现没有问题 [mysqld] #开启二进制日志&#xff0c;记录了所有更改数据库数据的SQL语句 log‐bin mysql‐bin #设置服务id&#x…

电子束光刻过程中的场拼接精度

以下内容如有错误&#xff0c;请不吝指教&#xff0c;感谢&#xff01; 1、EBL为什么会出现场拼接误差&#xff0c;如何解决&#xff1f; ChatGPT 说&#xff1a; 在电子束光刻&#xff08;EBL&#xff09;过程中&#xff0c;SOI&#xff08;硅绝缘体&#xff09;芯片上出现*…

操作系统 | 学习笔记 | | 王道 | 5.2 设备独立软件

5.2 设备独立性软件 IO核心子系统 磁盘IO也属于IO调度问题 5.2.1 与设备无关的软件 与设备无关的软件是I/O系统的最高层软件&#xff0c;它的下层是设备驱动程序。 设备保护&#xff1a; 操作系统需要实现文件保护功能&#xff0c;不同的用户对各个文件有不同的访问权限&am…

2024.9.20 作业

写一个shell脚本&#xff0c;将以下内容放到脚本中&#xff1a; a.在家目录下创建目录文件&#xff0c;dir b.dir下创建dir1和dir2 c.把当前目录下的所有文件拷贝到dir1中&#xff0c; d.把当前目录下的所有脚本文件拷贝到dir2中 e.把dir2打包并压缩为dir2.tar.xz f.再把…

VSCode开发ros程序无法智能提示的解决方法(一)

VSCode开发ros程序无法智能提示的解决方法&#xff08;一&#xff09; 问题解决 问题 在Ubuntu下使用vscode开发ros程序&#xff0c;无法进行智能提示。 解决 将 intelli Sense Engine 设置为 Tag Parser 即可。

SpringBoot实现OAuth客户端

背景 5 月份的时候&#xff0c;我实践并整理了一篇博客&#xff1a;SpringBoot搭建OAuth2&#xff0c;该博客完成之后&#xff0c;本以为能对OAuth2的认证机制更加清晰&#xff0c;但我却觉得自己更“迷惘”了。 抛开我在项目中积累的浅薄经验不谈&#xff0c;单从在网…

智慧园区的发展趋势

在数字经济高速发展、前瞻技术加速创新和社会需求革命的驱动下&#xff0c;江园科技智慧园区的未来发展将呈现数智化、融合化、人本化、韧性化和绿色化五大趋势。 趋势一&#xff1a;数智化 以万兆联接、数字平台为特征的基础设施将成为园区的核心底座。以 5.5G/NET5.5G/F5.5G…

深度图可视化显示(kitti)

文章目录 前言一、读取深度值与图像1、深度值读取2、图像读取 二、深度图可视化1、深度图可视化代码2、深度图可视化结果展示 三、深度图在图像上可视化1、可视化代码2、可视化坐标显示 四、完整代码 前言 kitti数据是一个通用数据&#xff0c;有关kitti的深度图像内容我已有博…

常见中间件漏洞靶场(tomcat)

1.CVE-2017-12615 开启环境 查看端口 查看IP 在哥斯拉里生成一个木马 访问页面修改文件后缀和文件内容 放包拿去连接 2.后台弱⼝令部署war包 打开环境 将前边的1.jsp压缩成1.zip然后改名为1.war 访问页面进行上传 在拿去连接 3.CVE-2020-1938 打开环境 访问一下 来到kali …