Skip to main content

簡単な回答

APIYI で生成されたすべての画像と動画(Veo 3.1、Sora、Nano Banana など)は、Cloudflare R2 のグローバル CDN 上でホストされており、設計上、世界中で高速に動作します。サーバー側でダウンロードが遅い場合、ほとんどの場合は CDN 自体の問題ではなく、サーバーと Cloudflare のエッジ間のネットワーク経路の問題です。特に、中国本土のサーバーが海外 CDN にアクセスする場合は、越境帯域幅、ISP ルーティング、ローカル DNS 解決によってパフォーマンスが低下しやすくなります。
重要なポイントCloudflare R2 のリソース URL は通常 *.r2.cloudflarestorage.com のような形式か、Cloudflare 経由でプロキシされたカスタムドメインです。ダウンロード速度は、サーバーが最寄りの Cloudflare エッジノードへどれだけ効率よく到達できるかに左右されます。

主な原因

越境トラフィックの混雑

中国本土のサーバーが海外 CDN に到達する際、ピーク時間帯には国際出口回線で混雑が発生しやすく、速度低下やタイムアウトの原因になります。

ISP ルーティングの最適化不足

一部のクラウドプロバイダーは国際トラフィックを米国西海岸やヨーロッパ経由でルーティングし、不要な数十ミリ秒の遅延を追加します。

DNS 解決の不良

ローカル DNS が Cloudflare のホスト名を、最寄りの APAC ノードではなく遠方のエッジ(例: 米国西海岸)に解決する場合があります。

ファイアウォール / セキュリティグループの制限

一部のサーバーは、海外の IP レンジ、port 443、または特定の CDN ドメインへのアウトバウンドトラフィックを制限し、接続品質を低下させます。

HTTP/2 と接続の再利用

HTTP/2 や接続の再利用を行わないクライアントは、ファイルごとに TCP/TLS ハンドシェイクのコストを支払うことになります。

単一スレッドのダウンロード

逐次的な単一スレッドのダウンロードでは CDN の多重化の恩恵を受けられず、スループットは低いままです。

トラブルシューティング手順

1

1台のサーバーだけですか、それともどこでも発生しますか?

同じ CDN URL をノートパソコンや別のサーバーからダウンロードしてみてください。
  • ノートパソコンは速いがサーバーは遅い → サーバーのネットワーク経路の問題
  • どこでも遅い → 具体的な URL を添えてサポートに連絡してください
2

CDN への基本ネットワークをテストする

pingmtrtraceroute を使って、レイテンシとパケットロスを確認してください。
パケットロス、200ms を超えるレイテンシ、または経路が海外へ飛び跳ねる場合は、いずれもリンクレベルの問題を示しています。
3

実際のダウンロード速度を測定する

curlを使って、タイミングとスループットを確認してください。
注目する項目:
  • time_namelookup: DNS 解決時間
  • time_connect: TCP 接続時間
  • time_starttransfer: 最初のバイトまでの時間 (TTFB)
  • speed_download: 平均スループット (bytes/sec)
4

DNS 解決を確認する

解決された IP が地理的に近いか確認してください。APAC のユーザーには APAC のエッジが返るはずです。そうでない場合は、パブリック DNS に切り替えてください。
5

サーバー側の制限を確認する

セキュリティグループとファイアウォールがポート 443 と海外の IP レンジを許可していることを確認し、送信帯域幅の上限が設定されていないことも確かめてください。

解決策

オプション 1: 公開DNSに切り替える(最も簡単)

多くのサーバーのデフォルトDNSは、Cloudflare を遠いノードに解決します。次の公開DNSサーバーを試してください:
1.1.1.1 を推奨します。これは Cloudflare 自身のDNSで、最寄りの Cloudflare エッジに確実に解決されるため、R2 / Cloudflare CDN のトラフィックに最適です。

オプション 2: ダウンロード方法を最適化する

並列ダウンロード

ファイルのバッチ処理では、帯域を最大限使うために並列ダウンローダー(aria2c -x 8、Python asyncio + httpx)を使ってください。

再開可能なダウンロード

大きな動画では、失敗しても最初からやり直さないように、リトライ付きの HTTP Range リクエストを使ってください。

接続の再利用

HTTP/2 または keep-alive(httpxrequests.Session())に対応したクライアントを使い、接続の再確立を繰り返さないようにしてください。

ディスクへストリーミング

ファイル全体をメモリに読み込むのではなく、レスポンスを直接ディスクへストリーミングしてください。
Python の例(推奨):
aria2c の例(CLI):

オプション 3: より接続性の良いリージョンへ移す

ユースケースで許されるなら、Cloudflare との接続性が良いリージョンを優先してください:

海外(推奨)

AWS / GCP / Azure / Cloudflare Workers は、いずれも Cloudflare R2 に非常に低いレイテンシー(通常 10-50ms)で到達できます。

中国: プレミアムDC

中国本土にどうしてもデプロイする必要がある場合は、三網 BGP + プレミアム国際回線(CN2 GIA、CMI、AS9929)を持つDCを選んでください。

香港 / シンガポール

うまい妥協案です。中国本土への低レイテンシー(30-80ms)と、APAC における優れた Cloudflare 接続性を両立できます。

安価なVPSは避ける

低価格のホストは国際向け出口が著しく混雑していることが多く、ピーク時には数十KB/s まで落ちる場合があります。CDN を多用するワークロードにはおすすめしません。

オプション 4: 別のホスト経由で中継する(最終手段)

サーバーがどうしても Cloudflare に素早く到達できず、リージョンも変更できない場合は:
  1. 海外サーバーを中継として使う: まず海外のマシンにダウンロードし、その後プライベート/プレミアム回線で戻す
  2. 自分のオブジェクトストレージ経由で中継する: アセットを自前の OSS / COS / S3(例: 中国リージョンのバケット)にミラーし、そこから配信する
  3. 事前ウォームアップしてキャッシュする: バックエンドから一度ダウンロードし、以降のリクエストはローカルキャッシュから配信する
有効期限に注意してくださいAPIYI が画像/動画向けに返す CDN URL は通常、有効期限が限られています(返される URL を参照してください)。後でリンク切れにならないよう、コールバックが届いたら すぐに アセットを自分のストレージへダウンロードして永続化してください。

よくある質問

自宅回線はISP経由の国際ルートが最適化されていることが多い一方、クラウドサーバーはデータセンターの国際出口を通るため、品質が大きく変わることがあります。まずはDCの国際帯域を確認し、上記のトラブルシューティング手順に従ってください。
DNSは、どのCDNエッジに解決されるかにしか影響しません。基盤となる国際帯域がすでに混雑している場合、DNSを変えるだけでは改善しません。リージョンを変更するか、海外ホスト経由で中継することを検討してください。
Cloudflareは中国本土でブロックされていませんが、国際出口はピーク時間に混雑しやすく、ISPによっては最適でないルートを通ることがあるため、アクセス品質は安定しません。これはR2固有の問題ではなく、一般的な越境ネットワークの問題です。
aria2cwget -cのような、再開に対応したダウンローダーを、適切なタイムアウトとリトライ設定で使用してください。
動画はサイズが大きく(数十MBから数百MB)、Base64は約33%のオーバーヘッドがあり、再開もサポートされません。そのため、実際には遅くなり、帯域も無駄にします。大きなファイルにBase64を使うことは推奨しません。一部の画像エンドポイントはBase64レスポンスをサポートしています。該当するAPI docsをご覧ください。
海外ホスト(AWS Tokyo、Singapore など)から同じcurlテストを実行してください。そこで速くてサーバー上では遅い場合、ボトルネックはサーバーとCloudflareの間にあり、CDN自体ではありません。

関連ドキュメント

ネットワークプロキシ設定

国際接続が不安定な場合のプロキシオプション

APIYI サーバーはどこにありますか?

APIYI サーバーの所在地とレイテンシについて学ぶ

Veo 動画生成 API

動画 API の出力形式と URL の有効性

サポートに連絡

それでも解決しない場合は、チームがサポートします
サポートに共有する情報お問い合わせの際は、以下をご記載ください:
  • 該当する CDN URL(機微なパラメータはマスク可)
  • サーバーのリージョン / DC / クラウドプロバイダー
  • mtr または traceroute の完全な出力
  • 上記の curl タイミングコマンドの出力
  • 問題が発生した時間帯(国際回線監視との突き合わせに役立ちます)