> ## Documentation Index
> Fetch the complete documentation index at: https://docs.laozhang.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# APIのタイムアウト設定：何秒にすればよいか

> テキスト、推論、画像リクエストに推奨するタイムアウトの目安と、接続が切れても課金される理由、タイムアウトが続くときの確認手順を説明します。

タイムアウトの多くは、生成の途中でクライアントや経路上のプロキシが待つのをやめることで起こります。接続を閉じても上流に届いたリクエストは取り消されず、生成が終わると課金されます。

> [!WARNING]
>
> **タイムアウトの直後にリトライすると、二重に課金されても結果が得られないことがあります。**
>
> * 切断したリクエストは、たいていそのまま完了して課金されます。
> * SDKの組み込みのリトライは、タイムアウトの後に同じリクエストを再送します。
> * リトライする前に、[呼び出しログ](https://api.laozhang.ai/log)で前のリクエストのステータスと課金額を確認してください。

## 推奨するタイムアウト

短いタイムアウトとリトライを組み合わせるより、最初から十分に長いタイムアウトを設定してください。

| 用途 | 推奨するタイムアウト | 補足 |
| - | - | - |
| 通常のチャット | 60〜120秒 | たいてい数秒で返ります |
| 推論モデル、長い出力 | ストリーミングを使う。使わない場合は300〜600秒 | 推論の負荷を上げるほど時間がかかります |
| 画像の生成・編集 | 360秒 | 画像のエンドポイントは同期型のため、接続が切れると結果が失われます |
| 4K出力、参照画像が多い場合 | 600秒 | 混み合う時間帯は遅くなります |
| 動画の生成 | タスクをポーリングする | 送信とステータス確認の呼び出しはすぐに返ります。各動画モデルのガイドを参照してください |

推論モデルは回答の前に考えるため、1回のリクエストが数分かかることがあります。例は次のとおりです。

* `gpt-6-sol`、`gpt-5.6-sol`
* `gpt-5.4-pro`、`o3-pro`（`gpt-5.5-pro` は2026年10月に提供を終了しました）
* `gemini-3.1-pro-preview`

## 長い出力にはストリーミングを使う

ストリーミングを使わないリクエストは、回答がすべて生成された後で返るため、読み取りのタイムアウトが生成にかかる全時間と競うことになります。ストリーミング（`stream=True`）なら、出力は生成されたそばから届きます。

* 最初のデータはすぐに届き、その後もイベントが続きます。
* 読み取りのタイムアウトは、イベントの間隔をカバーできれば十分で、通常は90〜120秒で足ります。
* 全体の所要時間は変わりませんが、回答の全体を待つ間に接続が切れることはなくなります。

ストリーミングを使わない場合は、タイムアウトを300〜600秒にしてください。生成が長いほど失敗しやすくなります。

## 長いリクエストでは自動リトライを無効にする

公式のOpenAI Python SDKは、タイムアウトやその他の一部のエラーの後、既定で2回リトライします。画像や推論のリクエストでは、`max_retries` を0にして、リトライするタイミングを自分のコードで決めてください。

> [tab] Python
>
> ```python theme={null}
> import os
> from openai import OpenAI
>
> client = OpenAI(
>     api_key=os.environ["LAOZHANG_API_KEY"],
>     base_url="https://api.laozhang.ai/v1",
>     max_retries=0,  # 自動リトライなし。タイムアウトで二重に課金されないようにします
> )
>
> response = client.chat.completions.create(
>     model="gpt-6-sol",
>     messages=[{"role": "user", "content": "このコードの計算量を解析してください"}],
>     timeout=600,  # 推論モデルに十分な時間を与えます
> )
> print(response.choices[0].message.content)
> ```

> [tab] Node.js
>
> ```javascript theme={null}
> import OpenAI from "openai";
>
> const client = new OpenAI({
>   apiKey: process.env.LAOZHANG_API_KEY,
>   baseURL: "https://api.laozhang.ai/v1",
>   timeout: 600 * 1000, // ミリ秒
>   maxRetries: 0,
> });
>
> const response = await client.chat.completions.create({
>   model: "gpt-6-sol",
>   messages: [{ role: "user", content: "3,000字の技術解説を書いてください" }],
> });
> console.log(response.choices[0].message.content);
> ```

> [tab] cURL
>
> ```bash theme={null}
> # --max-time はリクエスト全体の上限（秒）です
> curl https://api.laozhang.ai/v1/images/generations \
>   -H "Authorization: Bearer $LAOZHANG_API_KEY" \
>   -H "Content-Type: application/json" \
>   --max-time 360 \
>   -d '{"model": "gpt-image-2.5-flare-vip", "prompt": "A calm mountain lake at sunrise"}'
> ```

## タイムアウトを延ばしても続くとき

次の順に確認してください。

**1. 新しいタイムアウトが有効か確認する**

フレームワークによっては、HTTPクライアントを独自のタイムアウトで包んでいます。有効な設定を出力して、実際に使われているものを変更したか確認してください。

**2. 経路上のすべての中継点を確認する**

生成より短いタイムアウトを持つ中継点があれば、そこが先に接続を閉じます。次の項目をそれぞれ延ばしてください。

* 自分で運用しているNginxなどのリバースプロキシ（`proxy_read_timeout` の既定は60秒）
* クラウドのロードバランサーのアイドルタイムアウト
* サーバーレス関数の最大実行時間
* キューのワーカーの1ジョブあたりのタイムアウト

**3. タイムアウトとレート制限を見分ける**

接続が切れる、または読み取りがタイムアウトするのは、待つ時間が足りなかったためです。`429` はレート制限または処理能力の制限で、待つ時間とは関係ありません。`429` はバックオフを入れて数回リトライし、続く場合はサポートに連絡してください。

**4. 呼び出しログで実際の所要時間を確認する**

[呼び出しログ](https://api.laozhang.ai/log)で、そのリクエストの所要時間と課金額を確認し、それより余裕を持たせてタイムアウトを設定します。

## よくある質問

### タイムアウトでも課金されますか？

上流の提供元が生成を終えていれば、課金されます。切断が起きるのはお客様側で、ゲートウェイと提供元は処理を続けています。`429` や `503` など、上流が200以外を返した場合は課金されません。実際の課金額は呼び出しログで確認できます。返金と残高の調整は[利用規約](https://www.laozhang.ai/terms)に従います。

### 切断後にIDで画像を取得できますか？

できません。画像のエンドポイントは同期型で、LaoZhang APIは生成結果を既定では保存しないため、切断された結果は失われます。非同期にしたい場合は、[画像APIはタスクIDを返しますか？](https://docs.laozhang.ai/en/faq/image-api-sync.md)にあるように、自社のバックエンドにタスクキューを置いてください。

### 長いタイムアウトの副作用は？

課金には影響しません。課金は使用量または呼び出し回数だけで決まり、待った時間では変わらないためです。ただし、長い接続はワーカーや接続プールの枠を占有します。負荷が高いときは、画像や推論のリクエストを別のジョブキューで処理してください。

## 関連ページ

* [画像APIはタスクIDを返しますか？](https://docs.laozhang.ai/en/faq/image-api-sync.md)
* [アプリケーションをLaoZhang APIに接続する：エラーの処理](https://docs.laozhang.ai/ja/api-manual.md)
* [呼び出しログの見方と使い方](https://docs.laozhang.ai/en/faq/call-logs.md)
* [テキスト生成API：各プロトコルのストリーミング](https://docs.laozhang.ai/ja/api-capabilities/text-generation.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.