错误:“错误: 413 传输的数据值超出容量限制。 调用 v1/images/edits 时

BUG: “Error: 413 The data value transmitted exceeds the capacity limit.” when calling v1/images/edits

提问人:Eduardo Varjão 提问时间:11/4/2023 更新时间:11/4/2023 访问量:28

问:

我正在尝试将图像从我的 Firebase 存储桶发送到 openai 编辑图像 API,但我在标题上收到上面的错误。

exports.sendToOpenAI = functions.https.onRequest(async (req, res) => {
    corsMiddleware(req, res, async () => {
        if (req.method !== "POST") {
            return res.status(405).end();
        }

        try {
            const relativePath = req.body.path;
            const bucket = admin.storage().bucket();

            const file = bucket.file(relativePath);
            const fileBuffer = await file.download();

            const openAIResponse = await openai.images.edit({
                image: fileBuffer[0],
                prompt: "Put a suit on that person",
                size: "256x256",
            });

            return res
                .status(200)
                .json({ success: true, response: openAIResponse.data });
        } catch (error) {
            console.error("Error sending image to OpenAI:", error);
            return res.status(500).json({
                success: false,
                error: "Internal Server Error sending image to OpenAI",
            });
        }
    });
});

“fileBuffer”的长度为 0.1MB,根据 API 文档,图像的长度必须小于 4MB。

我也尝试传递其他小图像,但没有成功。

我向任何写入和读取存储的人授予了 Firebase 权限。

我不知道为什么我收到这个错误。有人遇到过同样的问题吗?

javascript node.js firebase openai-api chatgpt-api

评论

3赞 Barmar 11/4/2023
你不是在发送,你在发送.它的长度是多少?fileBufferfileBuffer[0]
0赞 Eduardo Varjão 11/4/2023
我错误地传递了fileBuffer[0]。它应该只是 fileBuffer。但无论如何,两者都是 0.1MB,并且出现了相同的错误。

答: 暂无答案