1. 問題の概要
iOS (iPhone 13, iOS 17.x) 環境で X(旧Twitter)アプリを通じて保存した画像をiPhoneの写真アプリから直接GPTにアップロードする場合、その画像のMIMEタイプが正しく認識されず、Action APIのリクエスト時に null
として処理されて400エラーが発生する問題が発見されました。画像フォーマットはJPEGであるにも関わらず、OpenAIのファイルサービスがMIMEを正しく推論できません。
2. 発生条件
- 使用機器: iPhone 13 (iOS 17.x)
- アップロード方法: 写真アプリから直接GPTにアップロード
- 画像生成経路: Xアプリのダウンロードボタンを通じて保存
- ファイルフォーマット: JPEG (EXIF情報および圧縮方式に基づく)
- 拡張子表記:
.jpeg
または.JPEG
(写真アプリ) →.jpg
(UbuntuではNextcloud連携時に確認) - 写真アプリの動作: Xアプリで保存した画像が自動的にアルバムに分類される
3. 実験結果の概要
実験条件 | 出所 | 拡張子 | MIME推論値 | 結果 |
---|---|---|---|---|
写真アプリからX画像をアップロード | Xアプリのダウンロード | .jpeg |
null |
❌ 失敗 |
ファイルアプリ/Nextcloudにコピー後アップロード | X画像のコピー | .jpg |
image/jpeg |
✅ 成功 |
同一画像をUbuntuにアップロード | Nextcloud同期されたフォルダ | .jpg |
image/jpeg |
✅ 成功 |
4. 分析および推定原因
4.1 Xアプリのメタデータ干渉の可能性
com.apple.metadata:kMDItemWhereFroms
などのiOS専用メタタグがMIMEタイプ推論を妨げる可能性がある
4.2 拡張子と内部フォーマットの不一致
- iOSでは
.jpeg
と表記されるが、Ubuntuなどでは.jpg
として処理され、プラットフォーム間の推論方式に差異が生じる
4.3 GPTが指定したMIMEタイプが無視される
- GPTが
image/jpeg
と明記していても、OpenAIのファイルサービスがこれを無視して独自にnull
として処理する
5. 提案および対応方針
5.1 ユーザー側の対応
- Xアプリで保存した画像は写真アプリから直接アップロードしないこと
- ファイルアプリやPC/Macを通じて画像ファイルを移動させてアップロードする方法を推奨
5.2 OpenAIおよびAction SDKの改善要請
.jpeg
拡張子に対するMIMEタイプ推論の改善- GPTが指定したMIMEタイプを無視しないようSDKを改善
- メタデータに依存せず、Content-Sniffingに基づくフォールバック処理の検討
6. 参考資料提供可能項目
要請時に以下の資料を提供可能:
- iOS写真アプリとUbuntu環境でのメタデータ比較スクリーンショット
- Ubuntuで抽出したメディア属性情報
- GPTが指定した mime_type
が無視された実際のリクエストログ
Add a New Comment