【2026秋】実ができた!~種から育てたサンダルウッド(白檀)~

春に6房も花をつけてくれたサンダルウッドですが、なんと今年は実をつけてくれました。実がついていることに気づいてから、熟して枝からポロリと落ちるまでの記録です。

7月15日
枝先に3つの小さな見慣れないものを発見

7月15日 

7月29日
膨らんできました。

7月29日

8月6日
ふっくらと実らしくなってきました。

8月6日

8月26日
少し黄色みを帯びてきました。

8月26日

8月30日
前日まで黄緑色だったのに、朝起きたら1つだけ濃い紫色になっていました。

8月30日

9月12日 
後に続く2つにも変化が・・・赤く色づいてきています。
1番手の皮には皺が出てきました。熟し始めているようです。

9月15日
2番手も濃い紫色に。艶々で美味しそうです。
1番手には落下防止にネットをかけておきました。

9月15日

9月18日
1番手がついに完熟!朝、かけておいたネットの中に転がっていました。
皮がしわしわで触ると少し弾力があります。香りはなし。

9月18日 サンダルウッド(白檀)の完熟した実

9月30日
2番手が完熟し、枝から落下。

10月5日
最後の3番手が完熟し、枝から落下。

これにて収穫完了!
初収穫はわずか3粒でしたが、まさか種から植えたコに種ができるなんて。。孫ができたようで本当にうれしいです。

このあと、実から種を取り出して土に植えました。
そしてその果肉を使って草木染めにも挑戦してみました。

この続きは次回に。

フリクションボール4のクリアカラー「ノンカラー」を発見!自分好みにカスタマイズしてみた

パイロットの消せるボールペン「FRIXION BALL4」を長年愛用しています。とっても気に入っていて不満はないのですが・・・ひとつだけ、いつも思ってました。これに自分の好きな4色をセットしてカスタマイズできたらいいのに。

見つけました!

本体がスケルトンの「ノンカラー」

FRIXION BALL4の透明ボディ「ノンカラー」 

本体が透明で中の芯の色が透けて見えます。
そして何よりうれしいのはノックが白色で色がついていないこと。まさにノンカラー。
これで自分好みの色を入れ替えておしゃれに楽しめます。
これを待ってました・・・と思ったら、2020年にすでに発売されていました。文具店に行くと必ずチェックしていたはずなのに6年間も見逃していたとは・・・

気を取り直して。

大好きなグリーン系をセットしてみました。

あら素敵・・・

大満足!!

CISSPのAMF支払いで「Product could not be added to your cart: PRICE_NOT_FOUND」というメッセージが出てなかなか支払えなかった件

昨日、ISC2サイトからCISSPのAMFを支払おうとおもったところ、タイトルのとおり「Product could not be added to your cart: PRICE_NOT_FOUND」というメッセージが出て支払い画面に進めませんでした。

そこでISC2に問い合わせたところ、解決しましたのでその手順を記載しておきます。

1.支払いの貨幣をUSDに設定

自分の場合、支払いの貨幣が未選択の状態でしたので、ISC2のサイトにログイン後の以下の画面で、支払い時の貨幣をUSDに設定します。

ISC2のサイト

2.Payボタンを押してカート入れる

このあとで「Pay」ボタンを押すと「Product was added」のようなグリーンのメッセージが表示されます。(メッセージはうろ覚えです。。)

ISC2のサイト

このあとよく見ると、右上のカードの横に「1」という数字が表示れています。

3.カートをクリックして支払い画面に進む

「1」という数字がついたカートをクリックすると支払い画面に進みますので、カード番号などを入れて支払いを行います。

山口県須佐のホルンフェルスがすばらしかった件

先日、お盆休みとして山口に帰省した際に、ドライブがてら須佐のホルンフェルスに行ってきました。

行く前は大したことないだろうとすこし甘くみていたのですが(すみません)、行ってみたらすばらしい場所でした。

下の写真はホルンフェルス近くの駐車場(左端の方)あたりになります。(ホルンフェルス駐車場という看板はありますが、ひっそり書いてある為に見逃して通過する車が続出しており、改善の余地があるとおもいます!!)

ホルンフェルスに向かう道から振り返ったところ

駐車場の側には観光案内所&お土産屋さん的な大きめの建物があり、地元の特産物やホルンフェルスのグッズなどが売られています。

なお、駐車場はそこそこ広いのですが、後ろが堀になっており、あまりうしろにバックして止めすぎると堀に後輪がハマってしまう可能性があるので要注意です!!!(車止めはあるのですが、自分の止めたところはずれてました。。。)

下の写真はホルンフェルスに向かう途中で振り返ったところです。(右端に写っているのが観光案内所で真ん中はお食事どころです。)

ホルンフェルスに向かう道

そしてホルンフェルスに到着し海岸近くまで降りたところです。このミルフィーユのような断層が壮大ですばらしい!!!一見の価値ありです。

ホルンフェルス前にて

反対に振り向くと日本海です。日本海らしい荒波でした!

日本海!

最後に一緒に旅行と共にしたベルツノガエルのぶんちゃんの記念撮影。下の岩が泥岩で真っ黒でした。

泥岩と花とぶん

おまけ

帰りがけにお土産屋さんでクリアファイルを売ってたのでかいました。ホルンフェルスに行く前に冷たいおしぼりありがとうございました!

フォルンフェルスのお土産

人気商品「水やり当番(マルハチ産業)」を試してみた

お盆シーズンで実家に帰省する際にベランダの植物の水やりができなくなってしまう為、Amazonで人気商品となっている「水やり当番(マルハチ産業)」を試してみました。

水やり当番(設置直後)

水の入ったペットボトルの位置により鉢に流れる水の量が変わるという話だったので、上の写真の通り、ペットボトルの位置を鉢より少し高めに設置しました。

設置直後の水の位置は下の写真の通りです。

これがしばらく経つとどれくらい減るか観察しました。

結果、2箇所に設置しましたが、どちらもうまく水を供給してくれていました。(ただし、1つについては最初、水をうまく運んでくれなかったので再度設置しなおしたら問題なくなりました。)

今回の大きさの鉢の場合、ちょっと多めに水が流れるようなので、ペットボトルの位置は少し低めの方がよい感じでした。


OpenAI の APIからRAG(File Search)をつかえるようにExcel VBA を修正した話

前回、下記の通り Excel VBA から OpenAI の Response API を使えるようにしました。

そこで今回は1歩先に進めて、Excel VBAからRAG連携するように改修しましたのでここにその内容を記録しておきます。

主に修正したのは下記の4箇所です。

修正①:RAGで使用するVector Store IDの設定

Vector Store IDについては以下の回で取得したものを設定しています。

修正②:max_output_tokensの変更

Response APIにてRAGを使うようになりOpenAIからのレスポンスが大きくなってきたので値を2000から10000に大きくしています。

修正③:OpenAIへのリクエストに tools を追加

OpenAIへのリクエストの中に以下のJSONを追加し、file_search を行うようにしています。

  "tools": [
{
"type": "file_search",
"vector_store_ids": [
"vs_xxxxxxxxx"
]
}
]

修正④:JsonConverterを使う形に変更

Response APIにてRAGを使うようになりOpenAIからのJSONが複雑、かつUnicodeエスケープ化されて返ってくるようになったので、JsonConverterを利用するように変更しています。

上記3つを修正した結果は以下の通りです。

Option Explicit

Const API_URL As String = "https://api.openai.com/v1/responses"

'★①RAGで使用するVector Store ID
Const VECTOR_STORE_ID As String = "vs_xxxxxxxxxx"

Sub ApplyAddressCorrection()
Dim apiKey As String
Dim text As String
Dim response As String
Dim responseArray() As String
Dim ws As Worksheet
Dim i As Long

Set ws = ActiveSheet
ws.Range("B5").CurrentRegion.ClearContents

apiKey = Environ("OPENAI_API_KEY")

If apiKey = "" Then
MsgBox "OpenAI APIキーが設定されていません。", vbCritical
Exit Sub
End If


text = ws.Range("B2").Value & ws.Range("B3").Value

'★②max_output_tokensを2000から10000に変更
'★③OpenAIへのリクエストに tools を追加
text = _
"{""model"":""gpt-5-nano""," & _
"""max_output_tokens"":10000," & _
"""input"":""" & text & """," & _
"""tools"":[{" & _
"""type"":""file_search""," & _
"""vector_store_ids"":[""" & VECTOR_STORE_ID & """]" & _
"}]}"

response = sendAPIRequest(API_URL, text, apiKey)

Debug.Print response

response = ExtractResponseText(response)

ws.Range("B5").Value = response

response = Replace(response, "\n", vbLf)
If ws.Range("D5").Value = "する" Then response = Replace(response, "。", "。" & vbLf)
responseArray = Split(response, vbLf)
For i = 0 To UBound(responseArray)
ws.Range("B" & 5 + i).Value = responseArray(i)
Next i
End Sub

Function sendAPIRequest(url As String, text As String, apiKey As String) As String
Dim request As Object
Set request = CreateObject("MSXML2.XMLHTTP")
request.Open "POST", url, False
request.setRequestHeader "Content-Type", "application/json"
request.setRequestHeader "Authorization", "Bearer " & apiKey
request.send text
sendAPIRequest = request.responseText
End Function

'★④JsonConverterを使う形に変更
Function ExtractResponseText(response As String) As String

Dim json As Object
Dim outputItem As Variant
Dim contentItem As Variant

On Error GoTo ErrorHandler

'JSON文字列を解析
Set json = JsonConverter.ParseJson(response)

'output配列を順番に確認
For Each outputItem In json("output")

'messageタイプを探す
If outputItem("type") = "message" Then

'content配列を確認
For Each contentItem In outputItem("content")

'output_textを探す
If contentItem("type") = "output_text" Then

'textを取得
ExtractResponseText = contentItem("text")
Exit Function

End If

Next contentItem

End If

Next outputItem

'output_textが見つからなかった場合
ExtractResponseText = response
Exit Function

ErrorHandler:

ExtractResponseText = response

End Function

実際にこれを実行したところ、以下のような結果となりました。

OpenAIのAPIをつかってRAGを行う為に検索対象のファイルを準備してみた

題名のとおり、OpenAIのAPIをつかってRAGを行う為に検索対象のファイルを準備してみました。

大まかな流れは以下の通りです。

① 検索対象ファイルを作成
↓
② File APIへアップロード
↓
  File IDを取得
↓
③ Vector Storeを作成
↓
  Vector Store IDを取得
↓
④ File IDをVector Storeへ登録
↓
   Responses APIからFile Search

1.検索対象ファイルを作成

とりあえず今回は以下の料理レシピを作成し、RAGとして登録してみることにしました。なお最初、別のデータをcsvで登録しようとしたのですがなぜかうまくいかなかったので、マークダウンファイル(recipe.md)として作成しました。

# 鶏の照り焼き

##材料
鶏もも肉 300g
しょうゆ 大さじ2
みりん 大さじ2
砂糖 大さじ1

##所要時間
約20分


# 親子丼

##材料
鶏もも肉 150g
卵 2個
玉ねぎ 1/2個
しょうゆ 大さじ1
みりん 大さじ1

##所要時間
約15分

2.File APIへアップロード

対象ファイルを作成したら、まずは下記の curl コマンドを利用し、OpenAIのFile APIにアップロードします。

このコマンドは Power Shell上で実行してください。cmdでは環境変数の指定の仕方などが違ってきます。

なお、$OPENAI_API_KEYでは環境編集として設定した API_Keyを読み込んでいます。また、purposeのところは色々な指定ができるようですが、今回は user_data (RAGなどの一般的なファイル利用に使える目的)としています。

curl https://api.openai.com/v1/files \
-H "Authorization: Bearer $env:OPENAI_API_KEY" \
-F purpose="user_data" \
-F file="@recipe.md"

うまくいくと以下のような回答が返ってきますので、”file-xxxxxxxxxxxxxxxx”(File ID)をメモしておきます。

{
"id": "file-xxxxxxxxxxxxxxxx",
"object": "file",
"bytes": 1234,
"created_at": 1750000000,
"filename": "recipe.md",
"purpose": "user_data"
}

3.Vector Storeを作成

次に以下の curlコマンドを実行し、Vector Storeを作ります。

curl.exe https://api.openai.com/v1/vector_stores `
-H "Authorization: Bearer $env:OPENAI_API_KEY" `
-H "Content-Type: application/json" `
-d '{\"name\":\"料理レシピRAG\"}'

こちらもうまくいくと以下のような回答が返ってくるので”vs_xxxxxxxxxxxxx”(Vector Store ID)をメモしておきます。

{
"id": "vs_xxxxxxxxxxxxx",
"object": "vector_store",
"name": "料理レシピRAG",
...
}

4.File IDをVector Storeへ登録

最後にこれまでで取得した”file-xxxxxxxxxxxxxxxx”(File ID)と”vs_xxxxxxxxxxxxx”(Vector Store ID)を使い、File IDをVector Storeへ登録します。

curl.exe https://api.openai.com/v1/vector_stores/vs-xxxxxxxx/files `
-H "Authorization: Bearer $env:OPENAI_API_KEY" `
-H "Content-Type: application/json" `
-d '{\"file_id\":\"file-xxxxxxxx\"}'

成功すると以下のような回答が返ってきます。

{
"id": "file-xxxxxxxxx",
"object": "vector_store.file",
"status": "in_progress",
"vector_store_id": "vs_xxxxxxxxx",
"created_at": 1750000000
}

なお、このとき大概の場合 “status”: “in_progress”となっているので、完了を確認するには以下のコマンドを続けて実行します。

curl.exe https://api.openai.com/v1/vector_stores/vs-xxxxxxxx/files/file-xxxxxxxx `
-H "Authorization: Bearer $env:OPENAI_API_KEY"

これで”status”: “completed”となっていれば完了です。

ちなみに冒頭で書いたように最初 csvで登録しようとしたら failed となったので、正しく登録できたかどうか”status”: “completed”になるまで確認したほうがよさそうです。

補足

OpenAI APIにはVector Storeに登録されたファイル一覧を取得したり、削除したりするAPIがあります。

1.Vector Storeに登録されたファイル一覧を取得する

curl.exe https://api.openai.com/v1/vector_stores/vs-xxxxxxxx/files `
-H "Authorization: Bearer $env:OPENAI_API_KEY"

これを実行すると以下のような回答が得られ、Vector Store内のファイル一覧を取得することが可能です。

{
"object": "list",
"data": [
{
"id": "file-xxxxxxxx",
"object": "vector_store.file",
"status": "completed"
}
]
}

2.Vector Storeに登録されたファイルを削除する

curl.exe -X DELETE "https://api.openai.com/v1/vector_stores/vs_XXXXXXXXXX/files/file-XXXXXXXXXX" -H "Authorization: Bearer $env:OPENAI_API_KEY"

正常に削除された場合、以下のメッセージが表示されます。

{
"id": "file-XXXXXXXXXX",
"object": "vector_store.file.deleted",
"deleted": true
}

Excel VBAから呼び出すOpenAIの APIをChat CompletionsからResponse APIに書き換えた話

前回、ExcelのVBAからOpenAIのChat Completions Responses APIを利用することで、質問に対するテキスト生成を行なってみました。

しかし、Response APIというものを使えば、単純なテキスト生成だけではなく、
・Web検索
・ファイル検索
・Function Calling
・Computer Use
・MCP
・複数ステップの処理
など、AIにツールを使わせる方向へ発展させやすいという話を聞いたのでそちらに書き換えてみることにしました。

1.主な変更点

Chat Completions APIとResponse APIはいろいろと違いがあるようですが、特に大きな違いは OpenAIからのレスポンスです。

Chat Completions APIでのレスポンスは、

"output_text": "回答"

のような単純なものでした。

一方で、Response APIのレスポンスの構造は以下のようになっており、その中の output 配列にメッセージやテキスト出力が入るようです。

response
├─ id
├─ object
├─ status
└─ output
└─ message
└─ content
└─ output_text
└─ text

2.Response APIへ書き換え

以下、書き換えた結果を記載しておきます。

Option Explicit

'★Response APIを利用する為にURLを変更
'Const API_URL As String = "https://api.openai.com/v1/chat/completions"
Const API_URL As String = "https://api.openai.com/v1/responses"

Sub ApplyAddressCorrection()
Dim apiKey As String
Dim text As String
Dim response As String
Dim responseArray() As String
Dim ws As Worksheet
Dim i As Long

Set ws = ActiveSheet
ws.Range("B5").CurrentRegion.ClearContents

apiKey = Environ("OPENAI_API_KEY")

If apiKey = "" Then
MsgBox "OpenAI APIキーが設定されていません。", vbCritical
Exit Sub
End If


text = ws.Range("B2").Value & ws.Range("B3").Value

  '★max_completion_tokensをmax_output_tokens変更
  '★messagesをinputに変更
'text = "{""model"": ""gpt-5-nano"", ""max_completion_tokens"": 2000" & ", ""messages"": [{""role"": ""user"", ""content"": """ & text & """}]}"
text = _
"{""model"":""gpt-5-nano""," & _
"""max_output_tokens"":2000," & _
"""input"":""" & text & """}"
response = sendAPIRequest(API_URL, text, apiKey)

Debug.Print response

  '★レスポンスの受け取り方(関数)を変更→①
'response = extractContent(response)
response = ExtractResponseText(response)

ws.Range("B5").Value = response

response = Replace(response, "\n", vbLf)
If ws.Range("D5").Value = "する" Then response = Replace(response, "。", "。" & vbLf)
responseArray = Split(response, vbLf)
For i = 0 To UBound(responseArray)
ws.Range("B" & 5 + i).Value = responseArray(i)
Next i
End Sub

Function sendAPIRequest(url As String, text As String, apiKey As String) As String
Dim request As Object
Set request = CreateObject("MSXML2.XMLHTTP")
request.Open "POST", url, False
request.setRequestHeader "Content-Type", "application/json"
request.setRequestHeader "Authorization", "Bearer " & apiKey
request.send text
sendAPIRequest = request.responseText
End Function

'①レスポンスを受け取る関数
Function ExtractResponseText(response As String) As String
Dim startPos As Integer
Dim endPos As Integer
Dim searchText As String

'"text"を検索
searchText = """type"": ""output_text"""
  ' InStr(開始位置, 検索対象, 検索文字列)
startPos = InStr(1, response, searchText)

If startPos = 0 Then
'extractContent = response
ExtractResponseText = response
Exit Function
End If

'output_textの後ろから"text"を検索
startPos = InStr(startPos, response, """text"": """)
If startPos = 0 Then
ExtractResponseText = response
Exit Function
End If

'"""text"": """ の文字数分だけ進める
startPos = startPos + Len("""text"": """)
'次のダブルクォーテーションを探す
endPos = InStr(startPos, response, """")

If endPos = 0 Then
'extractContent = response
ExtractResponseText = response
Exit Function
End If

'Mid(文字列, 開始位置, 文字数)
ExtractResponseText = Mid(response, startPos, endPos - startPos)


End Function

Excel のVBA(マクロ)から OpenAI の API を使ってみた

ExcelのVBAで作成したマクロから OpenAI の API が使えればいろいろと AI の活用範囲が広がりそうだったので、試してみることにしました。

なお、VBAの作成にあたっては、わちょんさんの以下の Youtubeを参考にさせていただきました。大変ありがとうございました。

ちなみに、この動画自体は3年前のもので、概要欄に書かれているコードをそのまま実行させても今の OpenAIでは動作しないようでしたので、「1.VBAの修正」の通り少し修正させていただきました。

1.VBAの修正

わちょんさんの概要欄に記載されているコードからの主な修正点は”★”の部分です。

Option Explicit
'★Chat Completions APIを使う場合のURLを変更
Const API_URL As String = "https://api.openai.com/v1/chat/completions"

Sub ApplyAddressCorrection()
Dim apiKey As String
Dim text As String
Dim response As String
Dim responseArray() As String
Dim ws As Worksheet
Dim i As Long

Set ws = ActiveSheet
ws.Range("B5").CurrentRegion.ClearContents

'★Windowsの環境変数にAPIキーを保存し、VBAから読み込む方法に変更
apiKey = Environ("OPENAI_API_KEY")

If apiKey = "" Then
MsgBox "OpenAI APIキーが設定されていません。", vbCritical
Exit Sub
End If

'★現行モデル"gpt-5-nano"の利用に変更
'★temperature = ws.Range("D3").Valueを削除
'★"max_tokens": 2000から"max_completion_tokens": 2000に変更
text = ws.Range("B2").Value & ws.Range("B3").Value
text = "{""model"": ""gpt-5-nano"", ""max_completion_tokens"": 2000" & ", ""messages"": [{""role"": ""user"", ""content"": """ & text & """}]}"
response = sendAPIRequest(API_URL, text, apiKey)

'★responseの中身を確認
Debug.Print response

'★extractContentの処理を2回→1回に変更し効率化
response = extractContent(response)
ws.Range("B5").Value = response

response = Replace(response, "\n", vbLf)
If ws.Range("D5").Value = "する" Then response = Replace(response, "。", "。" & vbLf)
responseArray = Split(response, vbLf)
For i = 0 To UBound(responseArray)
ws.Range("B" & 5 + i).Value = responseArray(i)
Next i
End Sub

Function sendAPIRequest(url As String, text As String, apiKey As String) As String
Dim request As Object
Set request = CreateObject("MSXML2.XMLHTTP")
request.Open "POST", url, False
request.setRequestHeader "Content-Type", "application/json"
request.setRequestHeader "Authorization", "Bearer " & apiKey
request.send text
sendAPIRequest = request.responseText
End Function

Function extractContent(response As String) As String
Dim startPos As Integer
Dim endPos As Integer

'★JSONの解析方法を変更
startPos = InStr(1, response, """content"": """)

If startPos = 0 Then
extractContent = response
Exit Function
End If

startPos = startPos + 12

endPos = InStr(startPos, response, """")

If endPos = 0 Then
extractContent = response
Exit Function
End If

extractContent = Mid(response, startPos, endPos - startPos)


End Function

2.Windowsの環境変数にAPIキーを保存

「1.VBAの修正」の中で記載の通り、Windowsの環境変数にAPIキーを保存し、VBAから読み込む方法にVBAを変更していますので、Windows11にて以下の操作を実行しています。

1.スタートボタンをクリック
2.「環境変数」と検索
3.「システム環境変数の編集」を開く
4.「システムのプロパティ」が開いたら、「環境変数」をクリック
5.「ユーザー環境変数」のところで 「新規」をクリック

上記の5.まで実施すると以下のウィンドウが表示されるので、
・変数名:OPENAI_API_KEY
・変数値:OpenAIで取得したAPIキー(sk-… )
を入力し、「OK」ボタンを押します。

Windows11のユーザ環境変数設定画面

この後、コマンドプロンプトを開いて下記のように入力し、APIキーが表示されれば登録成功です。(set コマンドで確認してもOK)

echo %OPENAI_API_KEY%

3.VBAの実行

ExcelにてセルのB2 および B3に OpenAIに質問したい事項を記入後、[ALT]+[F11]にてVBAの編集画面を起動し実行すれば、B5に OpenAIからの回答が出力されました。

ExcelからOpenAIのAPIにアクセスし回答が返ってきたところ

OpenAIのAPI利用条件が非常にわかりづらかった件と利用設定について

普段、私は ChatGPT を無料枠で使っているのですが、ふと OpenAI の APIを使ってみたくなりました。

ところがそのAPIの利用条件を調べてみてもいまいちわかりづらかったのでここで整理しておきます。

結論としては、
・ChatGPTの有料プランを購入しなくても OpenAI の API 利用は可能
・OpenAIのAPI利用はプランではなく完全に従量課金制
ということがわかりました。

また上記踏まえて、OpenAIのAPI利用設定を実施しましたので下記のとおり整理しておきます。

1.OpenAI API Platformにアクセス

下記のURLにアクセスしアカウントを作成後、ログインします。

OpenAI API Platform
https://openai.com/ja-JP/api/

2.API keyの作成

すると以下のような画面が表示されるので Get started のところに表示されている「1. Create an API key」をクリックし、API key を作成します。

OpenAI API Platform

なお、この時に作成したskから始まるAPI key は一度しか表示されないようですので、作成したら安全なところに保管してください。

3.クレジットの登録と支払い上限設定

API key を作成しただけでは API へアクセスできませんでした(自分の場合、無料枠はつきませんでした)ので、API を利用する為にクレジットの登録を行います。

上図の通り最上部のプルダウンから「Manage Projects」を選択後、左ペインの「Billing」を選択すると「Add payment details」のボタンが表示されるので、ここからクレジットカードを登録します。

OpenAI API Platform

なお、クレジットカードを登録した後に、下図の通り最初の購入額が設定できます。
ここで Use auto-reloadを OFF にすると最初の購入額を超えた API利用はできなくなり安心です。

OpenAI API Platform

実際にUse auto-reloadを OFF にするとこうなります。

OpenAI API Platform

最後に下記の画面で支払いの確認をすれば完了です。

OpenAI API Platform

4.支払い設定の確認

「Billing」にて auto-reload が OFF になっていることをあらためて確認します。
なおこの場合、残価が0円になるとAPIが自動的に利用できなくなりますので業務で定期的に利用している場合などは注意が必要ですね。

OpenAI API Platform