Quick Answer
All images and videos generated by APIYI (Veo 3.1, Sora, Nano Banana, etc.) are hosted on Cloudflare R2’s global CDN, which is fast worldwide by design. If downloads on your server are slow, it is almost always a network-path issue between your server and Cloudflare’s edge, not a CDN problem itself — especially for servers in mainland China accessing overseas CDNs, where cross-border bandwidth, ISP routing, and local DNS resolution often degrade performance.*.r2.cloudflarestorage.com or a custom domain proxied through Cloudflare. Download speed depends on how efficiently your server can reach the nearest Cloudflare edge node.Common Causes
Cross-border congestion
Suboptimal ISP routing
Poor DNS resolution
Firewall / security group limits
HTTP/2 & connection reuse
Single-threaded download
Troubleshooting Steps
Is it one server or everywhere?
- Laptop fast, server slow → server network path issue
- Slow everywhere → contact support with the specific URL
Test basic network to the CDN
ping, mtr, traceroute to inspect latency and packet loss:Measure real download speed
curl to inspect timing and throughput:time_namelookup: DNS resolution timetime_connect: TCP connect timetime_starttransfer: Time to first byte (TTFB)speed_download: Average throughput (bytes/sec)
Inspect DNS resolution
Check server-side restrictions
Solutions
Option 1: Switch to a public DNS (easiest)
Default DNS on many servers resolves Cloudflare to distant nodes. Try these public DNS servers:Option 2: Optimize how you download
Parallel downloads
aria2c -x 8, Python asyncio + httpx) to saturate bandwidth.Resumable downloads
Connection reuse
httpx, requests.Session()) to avoid repeated handshakes.Stream to disk
Option 3: Move to a better-connected region
If your use case allows it, prefer regions with good connectivity to Cloudflare:Overseas (recommended)
China: premium DCs
Hong Kong / Singapore
Avoid cheap VPS
Option 4: Relay through another host (last resort)
If your server really can’t reach Cloudflare quickly and you can’t change regions:- Use an overseas server as a relay: download to an overseas box first, then transfer back via a private/premium link
- Relay via your own object storage: mirror the asset into your own OSS / COS / S3 (e.g., a China-region bucket), and serve from there
- Pre-warm and cache: download once from your backend and serve subsequent requests from a local cache
Common Questions
Why is my laptop fast but my server slow?
Why is my laptop fast but my server slow?
I changed DNS but it's still slow — why?
I changed DNS but it's still slow — why?
Is Cloudflare R2 blocked in mainland China?
Is Cloudflare R2 blocked in mainland China?
Video downloads keep failing — what can I do?
Video downloads keep failing — what can I do?
aria2c or wget -c, with reasonable timeouts and retries:Can APIYI return Base64 instead of a CDN URL?
Can APIYI return Base64 instead of a CDN URL?
How do I confirm the bottleneck is my network, not the CDN?
How do I confirm the bottleneck is my network, not the CDN?
curl test from an overseas host (AWS Tokyo, Singapore, etc.). If it’s fast there but slow on your server, the bottleneck is between your server and Cloudflare — not the CDN itself.Related Docs
Network Proxy Configuration
Where are APIYI Servers?
Veo Video Generation API
Contact Support
- The specific CDN URL (sensitive params can be masked)
- Your server region / DC / cloud provider
- Full
mtrortracerouteoutput - Output of the
curltiming command above - The time window when the issue occurred (helps correlate with cross-border link monitoring)