typescript Dall E API错误:“无效的输入图像-格式必须为['RGBA','LA','L'],已获得RGB,”

gzszwxb4  于 2023-01-06  发布在  TypeScript
关注(0)|答案(1)|浏览(1266)

我有一个图像,我从AWS S3桶检索,然后传递到Dall E/OpenAI API.当我尝试我得到这个错误响应:

message: "Invalid input image - format must be in ['RGBA', 'LA', 'L'], got RGB.",

我知道RGB(我尝试上传的图像文件类型)包含一个alpha通道,这意味着图像上的透明区域。在NodeJS中验证图像类型是否可能/容易,以便在我将其发送到API之前捕获坏图像?
我的S3得到了一个.png文件,如下所示:

const data = await s3Client.send(
      new GetObjectCommand({
        ...bucketParams, // Bucket: <bucket name>
        Key: `public/dalle/${inputParams.Key}`,
      })
    );

然后我通过openai库将其传递给API:

const response = await openai.createImageEdit(
      data.Body as unknown as File,
      (maskImageBuffer as unknown as File) || data.Body, 
      prompt,
      1,
      "256x256"
    );
h43kikqp

h43kikqp1#

我根据这个答案创建了一些验证函数:如何在使用前端javascript发送到DALL E API之前验证图像

相关问题