Author's Note: An in-depth analysis of the Sora 2 API unsupported_country_code error, comparing the price and stability differences between official relay and official reverse access methods to help you choose the best solution.
Getting this error when generating videos with Sora 2 API?
{"error":{"code":"unsupported_country_code","message":"Sora is not available in your country","param":"MM","type":"invalid_request_error"}}
This is a regional restriction error, but the reasons behind it might be more complex than you'll expect. This article dives into the root causes of this error and compares the two ways to access Sora 2: Official Relay and Official Reverse.
Core Value: By the end of this article, you'll understand Sora 2's regional restriction mechanism and learn how to make the right choice between Official Relay and Official Reverse.

Sora 2 API unsupported_country_code Key Points
| Key Point | Description | Impact |
|---|---|---|
| Error Type | invalid_request_error | API request is rejected; the task will not execute |
| Trigger Cause | IP address recognized as a non-supported region | Only supported in a few regions like the US and Canada |
| param Parameter | Country code (e.g., MM for Myanmar) | Indicates the country identified for the current IP |
| Scope | Primarily affects Official Reverse | Official Relay is more stable but more expensive |
Detailed Analysis of the Sora 2 unsupported_country_code Error
The core issue here is that OpenAI has implemented strict regional restrictions on Sora 2. According to OpenAI's official documentation, Sora 2 is currently only available in the following regions:
- United States
- Canada
- Parts of Asia-Pacific (Japan, South Korea, Taiwan, Thailand, Vietnam, etc.)
- Parts of Latin America (Argentina, Mexico, Chile, Colombia, etc.)
The error message "param":"MM" indicates that your request IP was identified as being from Myanmar (country code MM). This happens occasionally when using dynamic IP services—the provider's IP pool might include IPs that are misidentified or actually located in non-supported regions.

Sora 2 API Comparison: Official Forwarding vs. Official Reverse
APIYI supports two ways to access Sora 2, each with its own unique strengths:

| Dimension | Official Forwarding | Official Reverse |
|---|---|---|
| Price | Matches official ($0.10-$0.50/sec) | $0.12/request (Ultra low) |
| Billing | Pay-as-you-go (Video duration) | Per-request (Fixed price) |
| Discount | Top-up bonus (~15% off) | Already extremely low |
| Concurrency | Unlimited | Unlimited |
| Stability | Extremely high (Official channel) | High (Occasional geo-errors) |
| Failure Handling | Almost zero failures | Needs resubmission on failure |
Sora 2 Official Forwarding Solution Breakdown
The Official Forwarding method relays requests through legitimate official channels. Here’s what you need to know:
- Extremely High Stability: It uses fixed, compliant IP channels, so you won't run into those pesky geo-restriction errors.
- Transparent Pricing: It matches OpenAI's official pricing—$0.10/sec for 720p and $0.30-$0.50/sec for 1080p.
- Discounts: By using APIYI's (apiyi.com) top-up bonus activities, your actual cost ends up being about 85% of the official price.
- Best Use Cases: Production environments and any business requiring top-tier stability.
Sora 2 Official Reverse Solution Breakdown
The Official Reverse method uses reverse engineering to provide access. Here’s how it differs:
- Rock-Bottom Pricing: A flat $0.12 per request, no matter how long the generated video is.
- Per-Request Billing: Since every request has a fixed price, it's perfect for batch-generating short videos.
- Potential Risks: Because it uses dynamic IP pools, it may very occasionally trigger region restrictions.
- Handling Failures: If you get an
unsupported_country_codeerror, you'll just need to resubmit the task.
Quick Start: Sora 2 API Error Handling
How to handle geo-errors in Official Reverse mode
If you encounter an unsupported_country_code error while using the reverse method, here's a simple way to handle it:
import requests
import time
def generate_sora_video_with_retry(prompt, max_retries=3):
"""Sora 2 video generation with built-in retry logic"""
url = "https://api.apiyi.com/v1/videos/generations"
headers = {
"Authorization": "Bearer YOUR_APIYI_KEY",
"Content-Type": "application/json"
}
payload = {
"model": "sora-2",
"prompt": prompt,
"duration": 5
}
for attempt in range(max_retries):
response = requests.post(url, headers=headers, json=payload)
result = response.json()
# Check for geo-restriction errors
if "error" in result:
error_code = result["error"].get("code", "")
if error_code == "unsupported_country_code":
print(f"Attempt {attempt + 1}: Region restriction hit, retrying...")
time.sleep(2)
continue
return result
return {"error": "Failed after multiple retries. Consider switching to Official Forwarding."}
# Usage example
result = generate_sora_video_with_retry("A cat running on the grass")
print(result)
View stable Official Forwarding call example
import requests
def generate_sora_video_official(prompt, duration=5, resolution="720p"):
"""Calling Sora 2 API via Official Forwarding (Stable version)"""
url = "https://api.apiyi.com/v1/videos/generations"
headers = {
"Authorization": "Bearer YOUR_APIYI_KEY",
"Content-Type": "application/json"
}
# Use the sora-2-official model for forwarding
payload = {
"model": "sora-2-official",
"prompt": prompt,
"duration": duration,
"resolution": resolution
}
response = requests.post(url, headers=headers, json=payload)
return response.json()
# Official Forwarding almost never hits geo-restriction errors
result = generate_sora_video_official(
prompt="Time-lapse of city night view, flickering neon lights",
duration=10,
resolution="1080p"
)
print(result)
Pro Tip: If your business demands high stability, we recommend sticking with the Official Forwarding method. You can still lower your costs by roughly 15% through APIYI's (apiyi.com) top-up bonus events.
Sora 2 API Decision Guide: Choosing the Right Solution
When to Choose Official Redirect
| Scenario | Reason | Expected Result |
|---|---|---|
| Production Deployment | You need 100% stability | No region errors; guaranteed delivery |
| Long Video Generation | Per-second billing is more cost-effective | 15s video costs approx. $1.5–$4.5 |
| High-Quality Output | Supports 1080p resolution | Clearer, sharper image quality |
| Client Delivery Projects | You can't afford failure retries | Guaranteed SLA |
When to Choose Official Reverse
| Scenario | Reason | Expected Result |
|---|---|---|
| Batch Short Videos | Fixed price of $0.12/request | Extremely low cost for 5s videos |
| Creative Testing Phase | Low-cost rapid validation | Quickly iterate on your prompts |
| Personal Projects/Learning | Limited budget | Low-barrier entry to experience Sora 2 |
| Acceptable Occasional Failures | Low retry cost | Overall cost remains optimal |
Sora 2 Official Reverse Error Probability
Based on actual usage statistics:
- Region restriction error rate: Approx. 1–3%
- Main trigger: Dynamic IP drifting to unsupported regions
- Retry success rate: Usually succeeds within 1–2 retries
Data Note: The figures above are based on actual operational statistics from the APIYI (apiyi.com) platform. Specific ratios may vary depending on the timeframe.
FAQ
Q1: Will I be charged if I encounter an unsupported_country_code error?
No. APIYI's Official Reverse method uses a pay-per-request model—you're only charged if the generation is successful. If you hit a region restriction error, the task fails and no credits are deducted, though you'll need to resubmit the request.
Q2: Can I use both Official Redirect and Official Reverse together?
Absolutely. APIYI (apiyi.com) supports both methods simultaneously, allowing you to switch flexibly based on your needs. For example, you might use Official Reverse for creative testing to keep costs down, then switch to Official Redirect for final delivery to ensure maximum stability.
Q3: How do I get test credits for the Sora 2 API?
We recommend these steps to get started quickly:
- Visit APIYI (apiyi.com) and register an account.
- Get your API Key and free test credits.
- Choose either the Official Redirect or Official Reverse method to start testing.
- Select the long-term plan that best fits your needs based on your test results.
Summary
Key takeaways regarding the Sora 2 API unsupported_country_code error:
- Root Cause: OpenAI restricts Sora 2 to specific regions like the US and Canada. Occasional fluctuations in dynamic IP addresses can trigger this error.
- Official Relay vs. Official Reverse: Official Relay (官转) offers high stability but at a higher price point (though you can get about 15% off via top-up bonuses). Official Reverse (官逆) is incredibly cheap ($0.12 per generation) but may run into occasional regional errors.
- Selection Strategy: Stick with Official Relay for production environments to ensure stability. For testing or high-volume batch scenarios, choose Official Reverse to keep costs down.
If you're using the Sora 2 API for video generation, we recommend alternating between these two methods based on your specific needs.
We suggest accessing the Sora 2 API through APIYI (apiyi.com). The platform supports both Relay and Reverse methods, providing a unified API interface and technical support.
📚 References
⚠️ Link Format Note: All external links use the
Resource Name: domain.comformat. This makes them easy to copy while avoiding SEO weight loss from direct redirects.
-
OpenAI Sora Supported Regions List: Official documentation on supported countries and regions
- Link:
help.openai.com/en/articles/12461230-sora-app-and-sora-2-supported-countries - Description: Check the full list of countries and regions where Sora 2 is currently available.
- Link:
-
OpenAI API Pricing Page: Official pricing reference for Sora 2
- Link:
platform.openai.com/docs/pricing - Description: Learn about official per-second billing for Sora 2.
- Link:
-
Sora 2 API Common Error Guide: Solutions for 8 frequent errors
- Link:
help.apiyi.com/en/sora-2-api-error-messages-complete-guide-en.html - Description: A comprehensive guide to interpreting and handling Sora 2 API error codes.
- Link:
Author: Technical Team
Join the Discussion: Feel free to share your thoughts in the comments. For more resources, visit the APIYI (apiyi.com) technical community.