我有一个图像,我从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"
);
1条答案
按热度按时间h43kikqp1#
我根据这个答案创建了一些验证函数:如何在使用前端javascript发送到DALL E API之前验证图像