GET /v1/route
One API account. Regional execution.
Use the same website, workspace, API key and prepaid balance in either interface language. Before uploading voice data, ask the scheduler for a regional base URL.
Select a region before sending content
The scheduler uses the connecting network: mainland China selects China, all other identified countries select the US. It accepts no text or audio. In server-side integrations, the connecting network is your server’s network, not necessarily your end user’s. Interface language does not change routing.
# 1. Ask the scheduler before sending text or audio (requires jq).
CASTREADER_API_BASE=$(curl --fail-with-body --silent --show-error \
'https://voice.castreader.com/v1/route' \
-H "Authorization: Bearer $CASTREADER_API_KEY" | jq -er '.base_url')
# 2. Inspect the selected region's capabilities.
curl --fail-with-body "$CASTREADER_API_BASE/models" \
-H "Authorization: Bearer $CASTREADER_API_KEY"
# 3. Upload authorized recordings and generate at this base URL.
# Keep the returned job/request ID and the same Idempotency-Key for retries.
# Recover an existing task's original regional endpoint.
curl --fail-with-body --get \
'https://voice.castreader.com/v1/route' \
--data-urlencode "job_id=$CASTREADER_JOB_ID" \
-H "Authorization: Bearer $CASTREADER_API_KEY"Response and resource affinity
{
"region": "cn",
"network_region": "cn",
"base_url": "https://voice.castreader.cn/v1",
"console_url": "https://voice.castreader.cn/api/console",
"expires_in": 300,
"voice_data_failover": false,
"languages": [
"zh",
"en"
]
}Pass at most one voice_id, request_id or job_id. Existing jobs and downloads resolve to their original region. A voice from another region cannot be used to start new generation: regional_voice_required asks you to register an authorized voice in the current region. Recordings are never copied automatically.
Cache the route for up to expires_in seconds. Keep the endpoint for retries of the same operation. If location cannot be determined or a region is unavailable, stop and retry; do not send the content to the other region.
One wallet, two payment methods
Stripe card payments and Alipay payments credit the same USD-denominated API wallet. Switching language does not move money or create a second account. Alipay uses the published fixed product quote of CNY 7 for USD 1 of API credit. CastReader reading subscriptions remain separate.
What is shared and what stays regional
Identity, permissions, billing and resource metadata use the US control plane. Text, reference recordings, model voice files and generated audio stay in the selected data region. English optionally supports v3 timestamps; Chinese and Japanese do not use timestamps.
Continue to the API reference →