ChatGPT-Telegram-Workers icon indicating copy to clipboard operation
ChatGPT-Telegram-Workers copied to clipboard

[BUG] /img function is not working under Azure Dall-E 3 configuration

Open youngzyl opened this issue 9 months ago • 2 comments

版本号

你可以在代码编辑器中前几行找到, 它们分别是BUILD_TIMESTAMPBUILD_VERSION, 这俩个数据对于我们定位问题非常重要]

  • ts: 1715327121
  • sha: 8d6f441
  • branch: master

描述问题 通过Azure的Dall-E-3生成图片时会遇到输入没有发送图片的问题。

复现问题 重现问题的步骤:

  1. 发送“/img 沙滩”给bot

截图 image

其他信息 通过console.log记录,发现函数requestImageFromOpenAI能成功fetch到来自dalle3的url,但telegram里没有返回值 https://github.com/youngzyl/ChatGPT-Telegram-Workers/commit/1318b0417cb444a6cf97be1d837b9a868ae0b8e9

(log) default returned: true (log) function start (log) request body: { prompt: '沙滩', n: 1, size: '1792x1024', quality: 'hd', style: 'natural' } request header { 'Content-Type': 'application/json', 'api-key': '*' } fetch url: https://**.openai.azure.com/openai/deployments/dall-e-3/images/generations?api-version=2024-02-01 (log) request start (log) request success, url: https://dalleprodsec.blob.core.windows.net/private/images/3e1b8623-0ccf-4867-bcff-079165b1e03d/generated_00.png?se=2024-05-16T11%3A15%3A19Z&sig=Y1SDfMWNjDtOHxKjcv1m%2FbtNSiuoGcPJFDEi1%2FQ7MIw%3D&ske=2024-05-21T15%3A32%3A41Z&skoid=e52d5ed7-0657-4f62-bc12-7e5dbb260a96&sks=b&skt=2024-05-14T15%3A32%3A41Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02

youngzyl avatar May 15 '24 11:05 youngzyl

😓其实我没有azure dalle权限 azure下的这个功能我也没有试过。然后我的openai账号也被封了,第三方API也没有dalle的功能。没有办法测试。

TBXark avatar May 15 '24 11:05 TBXark

我可以mock一下试试

TBXark avatar May 15 '24 11:05 TBXark

应该是图片太大了直接发url telegram报错了, 这个是telegram的限制

Provide Telegram with an HTTP URL for the file to be sent. Telegram will download and send the file. 5 MB max size for photos and 20 MB max for other types of content.

你可以直接替换下面的token试一下,应该也是直接失败的

## Request (8)
curl -X "POST" "https://api.telegram.org/botYOUR_TOKEN/sendPhoto" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "photo": "https://dalleprodsec.blob.core.windows.net/private/images/3e1b8623-0ccf-4867-bcff-079165b1e03d/generated_00.png?se=2024-05-16T11%3A15%3A19Z&sig=Y1SDfMWNjDtOHxKjcv1m%2FbtNSiuoGcPJFDEi1%2FQ7MIw%3D&ske=2024-05-21T15%3A32%3A41Z&skoid=e52d5ed7-0657-4f62-bc12-7e5dbb260a96&sks=b&skt=2024-05-14T15%3A32%3A41Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02",
  "chat_id":"YOUR_CHAT_ID"
}'

建议你可以调小一点图片尺寸就可以成功了

TBXark avatar May 16 '24 03:05 TBXark

图片url最大5m,你这张已经5.5了

HTTP/1.1 200 OK Content-Length: 5525241 Content-Type: image/png

TBXark avatar May 16 '24 03:05 TBXark

应该是图片太大了直接发url telegram报错了, 这个是telegram的限制

Provide Telegram with an HTTP URL for the file to be sent. Telegram will download and send the file. 5 MB max size for photos and 20 MB max for other types of content.

你可以直接替换下面的token试一下,应该也是直接失败的

## Request (8)
curl -X "POST" "https://api.telegram.org/botYOUR_TOKEN/sendPhoto" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "photo": "https://dalleprodsec.blob.core.windows.net/private/images/3e1b8623-0ccf-4867-bcff-079165b1e03d/generated_00.png?se=2024-05-16T11%3A15%3A19Z&sig=Y1SDfMWNjDtOHxKjcv1m%2FbtNSiuoGcPJFDEi1%2FQ7MIw%3D&ske=2024-05-21T15%3A32%3A41Z&skoid=e52d5ed7-0657-4f62-bc12-7e5dbb260a96&sks=b&skt=2024-05-14T15%3A32%3A41Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02",
  "chat_id":"YOUR_CHAT_ID"
}'

建议你可以调小一点图片尺寸就可以成功了

可以了。感谢。

测试基本上只有1024x1024的尺寸可以成功,1792x1024的图片即使Quality是standard也会超过5M

youngzyl avatar May 16 '24 11:05 youngzyl