mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-12 18:22:48 +03:00
feat(alibaba): free-tier routing with live quota sync (#8893)
* feat(alibaba): add free-tier routing with console quota and builtin allowlist Classify DashScope free vs paid models via console quota API, a hardcoded operator allowlist fallback, and per-connection drained tracking. Wire wildcard combo expansion, model refresh, combo exhaustion, and audit redaction for Alibaba console credentials. * fix(routing): reset forced connection pin and persist Alibaba free-tier drain Drop session affinity pins when a forced connection is excluded after 429, and record Alibaba free-tier exhaustion on upstream 403 so per-key drained lists stay accurate without blocking sibling keys. * fix(alibaba): prefer live quota sync over static free-tier allowlist Stop unioning the builtin text allowlist when a console quota snapshot exists, treat expired quotaValidityPeriod as not_capable, and add a dated JSON pack plus sync-alibaba-allowlist script for operator refresh without code edits. * docs(alibaba): document free-tier console path + allowlist env overrides Adds the 4 ALIBABA_FREE_TIER_*_FE_PATH / ALIBABA_FREE_TIER_ALLOWLIST_PATH env vars (referenced by alibabaFreeTierQuotaFetcher.ts and alibabaFreeTierAllowlist.ts) to .env.example and docs/reference/ENVIRONMENT.md so the env/docs contract check passes. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> * refactor(open-sse): split alibabaFreeTierQuotaFetcher.ts under file-size cap Extract pure parsing/classification/eligibility-filtering logic into alibabaFreeTierQuotaClassify.ts and shared types/primitives into alibabaFreeTierQuotaTypes.ts, leaving the HTTP/console-fetch flow in the original file. Public API is unchanged (re-exported), behavior is identical. Co-authored-by: AndrianBalanescu <AndrianBalanescu@users.noreply.github.com> * fix: resolve typecheck errors in alibaba-free-tier routing --------- Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> Co-authored-by: diegosouzapw <diegosouzapw@users.noreply.github.com> Co-authored-by: AndrianBalanescu <AndrianBalanescu@users.noreply.github.com> Co-authored-by: AndrianBalanescu <andrian@balanescu.dev>
This commit is contained in:
427
scripts/ops/alibabafreeaudio-quota.sample.json
Normal file
427
scripts/ops/alibabafreeaudio-quota.sample.json
Normal file
@@ -0,0 +1,427 @@
|
||||
{
|
||||
"code": "200",
|
||||
"data": {
|
||||
"DataV2": {
|
||||
"data": {
|
||||
"data": {
|
||||
"freeTierQuotas": [
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-asr-flash-2025-09-08",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-omni-30b-a3b-captioner",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-vd-2026-01-26",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-vc-realtime-2026-01-15",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "cosyvoice-v3-flash",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-flash-realtime",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-voice-enrollment",
|
||||
"quotaTotal": 1000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "fun-asr-2025-08-25",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "fun-asr-mtl",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "fun-asr-realtime-2025-11-07",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-flash-2025-09-18",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-flash",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-flash-realtime-2025-09-18",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-asr-flash-realtime-2026-02-10",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-livetranslate-flash-realtime-2025-09-22",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-vc-2026-01-22",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1791820800000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-audio-3.0-tts-flash",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-instruct-flash-2026-01-26",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "fun-asr-2025-11-07",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-flash-2025-11-27",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-vc-realtime-2025-11-27",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-asr-flash-realtime-2025-10-27",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-asr-flash-realtime",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-vd-realtime-2025-12-16",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "cosyvoice-v3-plus",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-instruct-flash-realtime-2026-01-22",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-asr-flash-2026-02-10",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-instruct-flash",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-instruct-flash-realtime",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "fun-asr-mtl-2025-08-25",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1791820800000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-audio-3.0-tts-plus",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-vd-realtime-2026-01-15",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-livetranslate-flash",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "fun-asr-realtime",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-asr-flash-filetrans",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-asr-flash-filetrans-2025-11-17",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-livetranslate-flash-realtime",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-tts-flash-realtime-2025-11-27",
|
||||
"quotaTotal": 10000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3.5-livetranslate-flash-realtime-2026-05-19",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "fun-asr",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3.5-livetranslate-flash-realtime",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-livetranslate-flash-2025-12-01",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-asr-flash",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 36000,
|
||||
"quotaValidityPeriod": 1789488000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "fun-asr-flash-2026-06-15",
|
||||
"quotaTotal": 36000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 40,
|
||||
"model": "qwen-voice-design",
|
||||
"quotaTotal": 4,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 0,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 0,
|
||||
"model": "voice-enrollment",
|
||||
"quotaTotal": 0,
|
||||
"quotaStatus": "VALID"
|
||||
}
|
||||
]
|
||||
},
|
||||
"success": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
201
scripts/ops/alibabafreemultimodal-quota.sample.json
Normal file
201
scripts/ops/alibabafreemultimodal-quota.sample.json
Normal file
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"code": "200",
|
||||
"data": {
|
||||
"DataV2": {
|
||||
"data": {
|
||||
"data": {
|
||||
"freeTierQuotas": [
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3.5-omni-plus-2026-03-15",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-omni-flash-realtime-2025-09-15",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-omni-flash-realtime",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-omni-turbo-realtime-2025-05-08",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3.5-omni-flash-realtime-2026-03-15",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3.5-omni-plus",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-omni-flash",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-omni-flash-2025-12-01",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-omni-turbo-realtime",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-omni-turbo",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen2.5-omni-7b",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3.5-omni-plus-realtime",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-omni-turbo-2025-03-26",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3.5-omni-flash",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-omni-flash-realtime-2025-12-01",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3.5-omni-plus-realtime-2026-03-15",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3.5-omni-flash-realtime",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3.5-omni-flash-2026-03-15",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 1000000,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": true,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen3-omni-flash-2025-09-15",
|
||||
"quotaTotal": 1000000,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 0,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 0,
|
||||
"model": "qwen-omni-turbo-realtime-latest",
|
||||
"quotaTotal": 0,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 0,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 0,
|
||||
"model": "qwen-omni-turbo-latest",
|
||||
"quotaTotal": 0,
|
||||
"quotaStatus": "VALID"
|
||||
}
|
||||
]
|
||||
},
|
||||
"success": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
573
scripts/ops/alibabafreevision-quota.sample.json
Normal file
573
scripts/ops/alibabafreevision-quota.sample.json
Normal file
@@ -0,0 +1,573 @@
|
||||
{
|
||||
"code": "200",
|
||||
"data": {
|
||||
"DataV2": {
|
||||
"ret": ["SUCCESS::接口调用成功"],
|
||||
"data": {
|
||||
"data": {
|
||||
"freeTierQuotas": [
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.1-vace-plus",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.7-videoedit",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 200,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.1-kf2v-plus",
|
||||
"quotaTotal": 200,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-edit-plus",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10,
|
||||
"quotaValidityPeriod": 1789920000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "happyhorse-1.1-i2v",
|
||||
"quotaTotal": 10,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-edit-plus-2025-10-30",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.7-i2v",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.6-image",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.6-t2v",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-edit",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.2-t2v-plus",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-2.0",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.7-t2v",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "z-image-turbo",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-max-2025-12-30",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.7-r2v",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.2-animate-move",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-edit-max-2026-01-16",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.6-i2v",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.5-t2v-preview",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 200,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.1-t2v-plus",
|
||||
"quotaTotal": 200,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "happyhorse-1.0-t2v",
|
||||
"quotaTotal": 10,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "happyhorse-1.0-r2v",
|
||||
"quotaTotal": 10,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.5-t2i-preview",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1790092800000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-2.0-pro-2026-06-22",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 200,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.1-i2v-turbo",
|
||||
"quotaTotal": 200,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 200,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.1-t2v-turbo",
|
||||
"quotaTotal": 200,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 200,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.1-t2i-turbo",
|
||||
"quotaTotal": 200,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "happyhorse-1.0-video-edit",
|
||||
"quotaTotal": 10,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10,
|
||||
"quotaValidityPeriod": 1789920000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "happyhorse-1.1-r2v",
|
||||
"quotaTotal": 10,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.7-i2v-2026-04-25",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10,
|
||||
"quotaValidityPeriod": 1789920000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "happyhorse-1.1-t2v",
|
||||
"quotaTotal": 10,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.5-i2v-preview",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.2-t2i-flash",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.2-i2v-plus",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.2-t2i-plus",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.2-i2v-flash",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1790697600000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.7-t2v-2026-06-12",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1790697600000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.7-r2v-2026-06-12",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-2.0-2026-03-03",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-edit-max",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-max",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-2.0-pro-2026-03-03",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.5-i2i-preview",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-plus",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-2.0-pro",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-plus-2026-01-09",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 200,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.1-i2v-plus",
|
||||
"quotaTotal": 200,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.7-image-pro",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.6-r2v",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 200,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.1-t2i-plus",
|
||||
"quotaTotal": 200,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.2-animate-mix",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.6-t2i",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-2.0-pro-2026-04-22",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.6-i2v-flash",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.7-t2v-2026-04-25",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 100,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "qwen-image-edit-plus-2025-12-15",
|
||||
"quotaTotal": 100,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.6-r2v-flash",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 10,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "happyhorse-1.0-i2v",
|
||||
"quotaTotal": 10,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 50,
|
||||
"quotaValidityPeriod": 1786896000000,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 100,
|
||||
"model": "wan2.7-image",
|
||||
"quotaTotal": 50,
|
||||
"quotaStatus": "VALID"
|
||||
},
|
||||
{
|
||||
"quotaInitTotal": 0,
|
||||
"freeTierOnly": false,
|
||||
"quotaTotalPercentage": 0,
|
||||
"model": "qwen-image-3.0-pro",
|
||||
"quotaTotal": 0,
|
||||
"quotaStatus": "VALID"
|
||||
}
|
||||
]
|
||||
},
|
||||
"success": true
|
||||
}
|
||||
},
|
||||
"success": true
|
||||
}
|
||||
}
|
||||
101
scripts/ops/sync-alibaba-allowlist.mjs
Normal file
101
scripts/ops/sync-alibaba-allowlist.mjs
Normal file
@@ -0,0 +1,101 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* @file sync-alibaba-allowlist.mjs
|
||||
* @description Build config/alibaba-free-tier-allowlist.json from Bailian console quota JSON exports.
|
||||
*
|
||||
* Usage:
|
||||
* node --import tsx/esm scripts/ops/sync-alibaba-allowlist.mjs path/to/quota.json [...]
|
||||
* node --import tsx/esm scripts/ops/sync-alibaba-allowlist.mjs --from-samples
|
||||
*
|
||||
* Writes:
|
||||
* - config/alibaba-free-tier-allowlist.json (repo baseline)
|
||||
* - ~/.omniroute/alibaba-free-tier-allowlist.json when DATA_DIR unset
|
||||
*/
|
||||
|
||||
import fs from "node:fs";
|
||||
import os from "node:os";
|
||||
import path from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import {
|
||||
classifyAlibabaFreeTierQuotaEntries,
|
||||
parseAlibabaFreeTierQuotaEntries,
|
||||
} from "../../open-sse/services/alibabaFreeTierQuotaFetcher.ts";
|
||||
import { isDashscopeTextModelId } from "../../open-sse/services/dashscopeTextModels.ts";
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
const repoRoot = path.resolve(__dirname, "../..");
|
||||
|
||||
const SAMPLE_FILES = [
|
||||
"scripts/ops/alibabafreeaudio-quota.sample.json",
|
||||
"scripts/ops/alibabafreemultimodal-quota.sample.json",
|
||||
"scripts/ops/alibabafreevision-quota.sample.json",
|
||||
].map((relativePath) => path.join(repoRoot, relativePath));
|
||||
|
||||
function readJsonFile(filePath) {
|
||||
return JSON.parse(fs.readFileSync(filePath, "utf8"));
|
||||
}
|
||||
|
||||
function collectInputs(argv) {
|
||||
if (argv.includes("--from-samples")) {
|
||||
return SAMPLE_FILES.filter((filePath) => fs.existsSync(filePath));
|
||||
}
|
||||
return argv.filter((arg) => !arg.startsWith("-"));
|
||||
}
|
||||
|
||||
function classifyTextEntries(allEntries) {
|
||||
const capable = new Set();
|
||||
const noFreeTier = new Set();
|
||||
|
||||
for (const entry of allEntries) {
|
||||
if (!isDashscopeTextModelId(entry.model)) continue;
|
||||
const classified = classifyAlibabaFreeTierQuotaEntries([entry], { textOnly: true });
|
||||
for (const modelId of classified.capableModels) capable.add(modelId);
|
||||
for (const modelId of classified.noFreeTierModels) noFreeTier.add(modelId);
|
||||
}
|
||||
|
||||
return {
|
||||
capable: [...capable].sort(),
|
||||
noFreeTier: [...noFreeTier].sort(),
|
||||
};
|
||||
}
|
||||
|
||||
function main() {
|
||||
const inputs = collectInputs(process.argv.slice(2));
|
||||
if (inputs.length === 0) {
|
||||
console.error("Usage: sync-alibaba-allowlist.mjs <quota.json> [...] | --from-samples");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const allEntries = [];
|
||||
for (const inputPath of inputs) {
|
||||
const payload = readJsonFile(inputPath);
|
||||
allEntries.push(...parseAlibabaFreeTierQuotaEntries(payload));
|
||||
}
|
||||
|
||||
const { capable, noFreeTier } = classifyTextEntries(allEntries);
|
||||
if (capable.length === 0) {
|
||||
console.error("No text free-tier models found in input payloads.");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const asOf = new Date().toISOString().slice(0, 10);
|
||||
const validUntil = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString().slice(0, 10);
|
||||
const pack = { asOf, validUntil, capable, noFreeTier };
|
||||
const serialized = `${JSON.stringify(pack, null, 2)}\n`;
|
||||
|
||||
const configPath = path.join(repoRoot, "config", "alibaba-free-tier-allowlist.json");
|
||||
fs.mkdirSync(path.dirname(configPath), { recursive: true });
|
||||
fs.writeFileSync(configPath, serialized);
|
||||
|
||||
const dataDir = process.env.DATA_DIR?.trim() || path.join(os.homedir(), ".omniroute");
|
||||
const runtimePath = path.join(dataDir, "alibaba-free-tier-allowlist.json");
|
||||
fs.mkdirSync(dataDir, { recursive: true });
|
||||
fs.writeFileSync(runtimePath, serialized);
|
||||
|
||||
console.log(`Wrote ${capable.length} capable + ${noFreeTier.length} blocked models`);
|
||||
console.log(` config: ${configPath}`);
|
||||
console.log(` runtime: ${runtimePath}`);
|
||||
console.log(` validUntil: ${validUntil}`);
|
||||
}
|
||||
|
||||
main();
|
||||
Reference in New Issue
Block a user