メインコンテンツへスキップ

手短な回答

毎月大量の画像を生成しており、APIレスポンスのレイテンシを360ms未満に抑えたい場合、別のルートに切り替えても得られる改善は限定的である可能性があります。代替ノードの多くは海外でホストされており、追加のネットワークレイテンシが発生することがあるためです。 クライアント側で最適化を行い、デフォルトのアドレスを維持してください:
まずはクライアントが実際に使用しているプロトコルのバージョンを確認し、必要に応じて接続の再利用、タイムアウト、リトライを調整してください。HTTP/1.1を利用するためにhttp://に切り替える必要はありません: http/httpsは暗号化を制御するものであり、HTTP/1.1とHTTP/2はそれとは別の問題です。httpとHTTP/1.1は同じですか?を参照してください。

クライアントの最適化

  • プロトコルバージョンの確認: Python(requests、httpx、OpenAI SDK)はデフォルトで HTTP/1.1 を使用するため、変更は不要です。Go、Java、OkHttp、および Node 26 以降の組み込み fetch はデフォルトで HTTP/2 になります。高い同時実行数での画像アップロードでは、HTTP/2 がすべてのリクエストを 1 つの接続にまとめるため、これらのクライアントでは https アドレスを維持したまま、コード側で HTTP/1.1 を強制してください。
  • リクエストごとに新しい接続が作成されるのを防ぐため、コネクションプーリングと Keep-Alive を有効にしてください
  • 500ms の合計タイムアウトを使用するのではなく、通常の画像生成時間をカバーできるように読み取りタイムアウトを長く設定してください
  • 一時的なネットワーク障害に対しては、バックオフを設けて回数を限定してリトライしてください
500ms は画像の完了を保証する時間ではなく、ネットワークオーバーヘッドやタスク送信の目標値として扱ってください。 実際のレイテンシーは、クライアントの所在地、ISP のルーティング、同時実行数、選択した画像モデル、およびアップストリームの処理にも依存します。本番環境と同等の同時実行数でテストを実施し、ロールアウト前に P95 および P99 のレイテンシーを評価してください。

推奨されるトラブルシューティング手順

1

プロトコルバージョンの確認

curl -s -o /dev/null -w "%{http_version}\n" https://api.apiyi.com/v1/models -H "Authorization: Bearer YOUR_API_KEY" を実行するか、クライアントのドキュメントを確認して、HTTP/1.1 または HTTP/2 のどちらを使用しているかを確認します。
2

必要に応じてHTTP/2を無効化

HTTP/2 がデフォルトとなっているクライアント(Go、Java など)のみこの手順が必要です。クライアントで HTTP/1.1 を強制し、接続の再利用を有効にします。Go プログラムの場合は、環境変数 GODEBUG=http2client=0 を設定するだけで対応できます。
3

タイムアウトとリトライの調整

接続タイムアウトと読み取りタイムアウトを個別に設定します。読み取りタイムアウトは、通常の画像処理時間を考慮した長さに設定する必要があります。
4

同時実行数テストの実施

本番環境と同等の同時実行数でテストを行い、P50、P95、P99 レイテンシと失敗率を監視します。

ポート16888のプレーンテキストエンドポイントについて

http://api.apiyi.com:16888 は、https と同じリクエストパスを持つ、公式に提供されているプレーンテキストエンドポイントです。画像生成が高速化されるわけではありません。すでに HTTP/1.1 を使用しているクライアントにとっては、1回の TLS ハンドシェイクが削減されるだけです。HTTPS ハンドシェイク自体が失敗した場合の一時的な回避策として、または信頼できる内部ネットワークや専用線内でのみ使用してください。
HTTP では TLS 暗号化は提供されません。API キーとリクエスト内容はプレーンテキストで送信されます。このエンドポイントは、信頼できるネットワーク上、または適切に設定された専用線やトンネル経由でのみ使用してください。パブリックネットワーク経由で直接呼び出さないでください。

関連ドキュメント