正直こんなことで記事にして良いか迷いましたが、自戒を込めて記事にします。
問題
ReactNative/TypeScriptでOpenAIのAPIを使用した際に、404 Invalid URL (POST /v1/chat/completions/)
が直らない問題に直面しました。
試したことは以下です。
- AuthorizationでAPIキーが適切にheaderに渡せているか
- モデル名(
gpt-4o
,o1
など)が適切か(https://platform.openai.com/docs/models) - メッセージは適切か
それでもエラーが直らず、四苦八苦していました。
が、まさかのBillが0だったことが原因でした。
なぜこんなことが起きたか
クレジット購入日は2023年11月(Dec 2024は原因が判明後買い足したものです)。
しかしなんと、一年たったらExpiredされていたのです(Dec 01, 2024は原因が以下同文)。
え〜、一年でなくなるなんて書いてなくね〜?PricingのFAQ確認したよ〜?
と思ったが束の間、ポリシーに書いてありました。しかも太字で。(さすが訴訟大国アメリカ)
All sales of Services, including sales of prepaid Services, are final. Service Credits are not refundable and expire one year after the date of purchase or issuance if not used, unless otherwise specified at the time of purchase. - (https://openai.com/policies/service-credit-terms/)
(訳)プリペイド・サービスの販売を含め、本サービスの販売はすべて最終的なものとなります。 サービスクレジットの払い戻しはできず、購入時に特に指定がない限り、未使用の場合は購入日または発行日から1年後に失効します。
こんなこともあるので、コードは絶対合ってる自信があるのに404が出る方、念の為Billも確認してみてくださいね。