[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-nav-en":3,"docs-en-coding-plan\u002Fquick-start":180},[4,26,43,105,155,172,176],{"title":5,"path":6,"stem":7,"children":8,"page":25},"Getting Started","\u002Fgetting-started","1.getting-started",[9,13,17,21],{"title":10,"path":11,"stem":12},"Your First SilvaMux API Call","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F1.quick-start",{"title":14,"path":15,"stem":16},"Model Selection","\u002Fgetting-started\u002Fmodel-selection","1.getting-started\u002F2.model-selection",{"title":18,"path":19,"stem":20},"Rate Limits","\u002Fgetting-started\u002Frate-limits","1.getting-started\u002F3.rate-limits",{"title":22,"path":23,"stem":24},"FAQ","\u002Fgetting-started\u002Ffaq","1.getting-started\u002F4.faq",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"Billing","\u002Fbilling","2.billing",[31,35,39],{"title":32,"path":33,"stem":34},"Billing Overview","\u002Fbilling\u002Foverview","2.billing\u002F1.overview",{"title":36,"path":37,"stem":38},"Online Top-up","\u002Fbilling\u002Frecharge","2.billing\u002F2.recharge",{"title":40,"path":41,"stem":42},"Bills, Usage & Exports","\u002Fbilling\u002Fusage-export","2.billing\u002F3.usage-export",{"title":44,"path":45,"stem":46,"children":47,"page":25},"Coding Plan","\u002Fcoding-plan","3.coding-plan",[48,52,56,60,67,102],{"title":49,"path":50,"stem":51},"Coding Plan Overview","\u002Fcoding-plan\u002Foverview","3.coding-plan\u002F1.overview",{"title":53,"path":54,"stem":55},"Quick Start","\u002Fcoding-plan\u002Fquick-start","3.coding-plan\u002F2.quick-start",{"title":57,"path":58,"stem":59},"Usage Notes","\u002Fcoding-plan\u002Fusage-notes","3.coding-plan\u002F3.usage-notes",{"title":61,"path":62,"stem":63,"children":64},"Personal","\u002Fcoding-plan\u002Fpersonal","3.coding-plan\u002F4.personal\u002Findex",[65],{"title":66,"path":62,"stem":63},"Pricing & Benefits",{"title":68,"path":69,"stem":70,"children":71,"page":-1},"Developer Guide","\u002Fcoding-plan\u002Fguide","3.coding-plan\u002F5.guide\u002Findex",[72,74,78,82,86,90,94,98],{"title":73,"path":69,"stem":70},"Endpoints & Protocols",{"title":75,"path":76,"stem":77},"Claude Code","\u002Fcoding-plan\u002Fguide\u002Fclaude-code","3.coding-plan\u002F5.guide\u002F1.claude-code",{"title":79,"path":80,"stem":81},"OpenCode","\u002Fcoding-plan\u002Fguide\u002Fopencode","3.coding-plan\u002F5.guide\u002F2.opencode",{"title":83,"path":84,"stem":85},"Cursor","\u002Fcoding-plan\u002Fguide\u002Fcursor","3.coding-plan\u002F5.guide\u002F3.cursor",{"title":87,"path":88,"stem":89},"Codex","\u002Fcoding-plan\u002Fguide\u002Fcodex","3.coding-plan\u002F5.guide\u002F4.codex",{"title":91,"path":92,"stem":93},"ZCode","\u002Fcoding-plan\u002Fguide\u002Fzcode","3.coding-plan\u002F5.guide\u002F5.zcode",{"title":95,"path":96,"stem":97},"TRAE","\u002Fcoding-plan\u002Fguide\u002Ftrae","3.coding-plan\u002F5.guide\u002F6.trae",{"title":99,"path":100,"stem":101},"CodeBuddy","\u002Fcoding-plan\u002Fguide\u002Fcodebuddy","3.coding-plan\u002F5.guide\u002F7.codebuddy",{"title":22,"path":103,"stem":104},"\u002Fcoding-plan\u002Ffaq","3.coding-plan\u002F6.faq",{"title":106,"path":107,"stem":108,"children":109,"page":25},"Model APIs","\u002Fmodels","4.models",[110,143],{"title":111,"path":112,"stem":113,"children":114,"page":25},"Text Generation Model API","\u002Fmodels\u002Fchat","4.models\u002F1.chat",[115,119,123,127,131,135,139],{"title":116,"path":117,"stem":118},"Overview","\u002Fmodels\u002Fchat\u002Foverview","4.models\u002F1.chat\u002F1.overview",{"title":120,"path":121,"stem":122},"OpenAI Compatible API","\u002Fmodels\u002Fchat\u002Fopenai","4.models\u002F1.chat\u002F2.openai",{"title":124,"path":125,"stem":126},"Anthropic Compatible","\u002Fmodels\u002Fchat\u002Fanthropic","4.models\u002F1.chat\u002F3.anthropic",{"title":128,"path":129,"stem":130},"Volcengine Compatible","\u002Fmodels\u002Fchat\u002Fvolcengine","4.models\u002F1.chat\u002F4.volcengine",{"title":132,"path":133,"stem":134},"Zhipu Compatible","\u002Fmodels\u002Fchat\u002Fzhipu","4.models\u002F1.chat\u002F5.zhipu",{"title":136,"path":137,"stem":138},"SilvaMux Unified Entry","\u002Fmodels\u002Fchat\u002Funified","4.models\u002F1.chat\u002F6.unified",{"title":140,"path":141,"stem":142},"Multimodal Input","\u002Fmodels\u002Fchat\u002Fmultimodal","4.models\u002F1.chat\u002F7.multimodal",{"title":144,"path":145,"stem":146,"children":147,"page":25},"Image Generation Model API","\u002Fmodels\u002Fimages","4.models\u002F2.images",[148,151],{"title":116,"path":149,"stem":150},"\u002Fmodels\u002Fimages\u002Foverview","4.models\u002F2.images\u002F1.overview",{"title":152,"path":153,"stem":154},"Image Generation API","\u002Fmodels\u002Fimages\u002Fgeneration","4.models\u002F2.images\u002F2.generation",{"title":156,"path":157,"stem":158,"children":159,"page":25},"Usage & Balance","\u002Fusage-and-balance","5.usage-and-balance",[160,164,168],{"title":161,"path":162,"stem":163},"Query Balance","\u002Fusage-and-balance\u002Fbalance","5.usage-and-balance\u002F1.balance",{"title":165,"path":166,"stem":167},"Query Usage","\u002Fusage-and-balance\u002Fusage","5.usage-and-balance\u002F2.usage",{"title":169,"path":170,"stem":171},"Query Request Usage","\u002Fusage-and-balance\u002Frequest-usage","5.usage-and-balance\u002F3.request-usage",{"title":173,"path":174,"stem":175},"Error Codes","\u002Ferrors","6.errors",{"title":177,"path":178,"stem":179},"Getting Started with SilvaMux","\u002F","index",{"id":181,"title":53,"body":182,"description":789,"extension":790,"meta":791,"navigation":450,"path":54,"rawbody":792,"requiredFlags":793,"seo":794,"stem":55,"__hash__":795},"docs_en\u002F3.coding-plan\u002F2.quick-start.md",{"type":183,"value":184,"toc":783},"minimark",[185,189,193,198,221,228,232,252,281,284,292,312,316,319,322,338,342,772,779],[186,187,53],"h1",{"id":188},"quick-start",[190,191,192],"p",{},"Three steps: buy a plan → create a subscription API key → configure your coding tool.",[194,195,197],"h2",{"id":196},"_1-buy-a-plan","1. Buy a Plan",[199,200,201,211,214],"ol",{},[202,203,204,205,210],"li",{},"Open the ",[206,207,209],"a",{"href":208},"\u002Fen\u002Fsubscription","subscription page"," and choose a Lite \u002F Pro \u002F Max tier and a monthly, quarterly, or yearly period.",[202,212,213],{},"Click subscribe and complete the payment as guided.",[202,215,216,217,220],{},"The subscription takes effect immediately after payment; the ",[218,219,44],"strong",{}," entry appears in the console, showing plan status and usage across the three windows.",[222,223,225],"alert",{"type":224},"info",[190,226,227],{},"Buying again while a subscription is still active queues the new subscription to start when the current period ends — no remaining time is lost.",[194,229,231],{"id":230},"_2-create-a-subscription-api-key","2. Create a Subscription API Key",[199,233,234,244],{},[202,235,236,237,239,240,243],{},"Go to Console → ",[218,238,44],{}," → ",[218,241,242],{},"API Keys",".",[202,245,246,247,251],{},"Click create and immediately copy the full ",[248,249,250],"code",{},"cp_live_"," key.",[253,254,259],"pre",{"className":255,"code":256,"language":257,"meta":258,"style":258},"language-bash shiki shiki-themes github-light github-dark","export SILVAMUX_CP_API_KEY=\"cp_live_YOUR_KEY\"\n","bash","",[248,260,261],{"__ignoreMap":258},[262,263,266,270,274,277],"span",{"class":264,"line":265},"line",1,[262,267,269],{"class":268},"szBVR","export",[262,271,273],{"class":272},"sVt8B"," SILVAMUX_CP_API_KEY",[262,275,276],{"class":268},"=",[262,278,280],{"class":279},"sZZnC","\"cp_live_YOUR_KEY\"\n",[190,282,283],{},"Subscription-dedicated endpoints (OpenAI compatible and Anthropic compatible):",[253,285,290],{"className":286,"code":288,"language":289},[287],"language-text","https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1\n","text",[248,291,288],{"__ignoreMap":258},[222,293,295],{"type":294},"warning",[190,296,297,299,300,303,304,307,308,311],{},[248,298,250],{}," keys can only call ",[248,301,302],{},"\u002Fapi\u002Fcoding-plan\u002Fv1"," endpoints; using them on regular endpoints returns 403 ",[248,305,306],{},"CODING_PLAN_KEY_NOT_ALLOWED",". Likewise, ",[248,309,310],{},"sk_live_"," keys cannot call the subscription endpoints.",[194,313,315],{"id":314},"_3-connect-a-model","3. Connect a Model",[190,317,318],{},"Configure the API key and Base URL in your AI tool to call Coding Plan models. Choose your tool for the full setup steps:",[320,321],"tool-cards",{},[222,323,324],{"type":224},[190,325,326,327,330,331,333,334,337],{},"Common configuration: Base URL ",[248,328,329],{},"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1"," and API Key ",[248,332,250],{}," (subscription-only); see ",[206,335,68],{"href":336},"\u002Fen\u002Fdocs\u002Fcoding-plan\u002Fguide"," for endpoints and protocols.",[194,339,341],{"id":340},"_4-verify-a-call","4. Verify a Call",[343,344,345,421,512,588],"code-tabs",{},[346,347,349],"code-tab",{"label":348},"cURL",[253,350,352],{"className":255,"code":351,"language":257,"meta":258,"style":258},"curl https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Authorization: Bearer $SILVAMUX_CP_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"deepseek-v4-pro\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Write a quicksort\"}]\n  }'\n",[248,353,354,367,384,394,403,409,415],{"__ignoreMap":258},[262,355,356,360,363],{"class":264,"line":265},[262,357,359],{"class":358},"sScJk","curl",[262,361,362],{"class":279}," https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1\u002Fchat\u002Fcompletions",[262,364,366],{"class":365},"sj4cs"," \\\n",[262,368,370,373,376,379,382],{"class":264,"line":369},2,[262,371,372],{"class":365},"  -H",[262,374,375],{"class":279}," \"Authorization: Bearer ",[262,377,378],{"class":272},"$SILVAMUX_CP_API_KEY",[262,380,381],{"class":279},"\"",[262,383,366],{"class":365},[262,385,387,389,392],{"class":264,"line":386},3,[262,388,372],{"class":365},[262,390,391],{"class":279}," \"Content-Type: application\u002Fjson\"",[262,393,366],{"class":365},[262,395,397,400],{"class":264,"line":396},4,[262,398,399],{"class":365},"  -d",[262,401,402],{"class":279}," '{\n",[262,404,406],{"class":264,"line":405},5,[262,407,408],{"class":279},"    \"model\": \"deepseek-v4-pro\",\n",[262,410,412],{"class":264,"line":411},6,[262,413,414],{"class":279},"    \"messages\": [{\"role\": \"user\", \"content\": \"Write a quicksort\"}]\n",[262,416,418],{"class":264,"line":417},7,[262,419,420],{"class":279},"  }'\n",[346,422,424],{"label":423},"Python",[253,425,429],{"className":426,"code":427,"language":428,"meta":258,"style":258},"language-python shiki shiki-themes github-light github-dark","# pip install openai\nimport os\nfrom openai import OpenAI\n\nclient = OpenAI(\n    api_key=os.environ[\"SILVAMUX_CP_API_KEY\"],\n    base_url=\"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1\",\n)\n\nresponse = client.chat.completions.create(\n    model=\"deepseek-v4-pro\",\n    messages=[{\"role\": \"user\", \"content\": \"Write a quicksort\"}],\n)\n\nprint(response.choices[0].message.content)\n","python",[248,430,431,436,441,446,452,457,462,467,473,478,484,490,496,501,506],{"__ignoreMap":258},[262,432,433],{"class":264,"line":265},[262,434,435],{},"# pip install openai\n",[262,437,438],{"class":264,"line":369},[262,439,440],{},"import os\n",[262,442,443],{"class":264,"line":386},[262,444,445],{},"from openai import OpenAI\n",[262,447,448],{"class":264,"line":396},[262,449,451],{"emptyLinePlaceholder":450},true,"\n",[262,453,454],{"class":264,"line":405},[262,455,456],{},"client = OpenAI(\n",[262,458,459],{"class":264,"line":411},[262,460,461],{},"    api_key=os.environ[\"SILVAMUX_CP_API_KEY\"],\n",[262,463,464],{"class":264,"line":417},[262,465,466],{},"    base_url=\"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1\",\n",[262,468,470],{"class":264,"line":469},8,[262,471,472],{},")\n",[262,474,476],{"class":264,"line":475},9,[262,477,451],{"emptyLinePlaceholder":450},[262,479,481],{"class":264,"line":480},10,[262,482,483],{},"response = client.chat.completions.create(\n",[262,485,487],{"class":264,"line":486},11,[262,488,489],{},"    model=\"deepseek-v4-pro\",\n",[262,491,493],{"class":264,"line":492},12,[262,494,495],{},"    messages=[{\"role\": \"user\", \"content\": \"Write a quicksort\"}],\n",[262,497,499],{"class":264,"line":498},13,[262,500,472],{},[262,502,504],{"class":264,"line":503},14,[262,505,451],{"emptyLinePlaceholder":450},[262,507,509],{"class":264,"line":508},15,[262,510,511],{},"print(response.choices[0].message.content)\n",[346,513,515],{"label":514},"JavaScript",[253,516,520],{"className":517,"code":518,"language":519,"meta":258,"style":258},"language-javascript shiki shiki-themes github-light github-dark","\u002F\u002F npm install openai\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n  apiKey: process.env.SILVAMUX_CP_API_KEY,\n  baseURL: \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1\",\n});\n\nconst response = await client.chat.completions.create({\n  model: \"deepseek-v4-pro\",\n  messages: [{ role: \"user\", content: \"Write a quicksort\" }],\n});\n\nconsole.log(response.choices[0].message.content);\n","javascript",[248,521,522,527,532,536,541,546,551,556,560,565,570,575,579,583],{"__ignoreMap":258},[262,523,524],{"class":264,"line":265},[262,525,526],{},"\u002F\u002F npm install openai\n",[262,528,529],{"class":264,"line":369},[262,530,531],{},"import OpenAI from \"openai\";\n",[262,533,534],{"class":264,"line":386},[262,535,451],{"emptyLinePlaceholder":450},[262,537,538],{"class":264,"line":396},[262,539,540],{},"const client = new OpenAI({\n",[262,542,543],{"class":264,"line":405},[262,544,545],{},"  apiKey: process.env.SILVAMUX_CP_API_KEY,\n",[262,547,548],{"class":264,"line":411},[262,549,550],{},"  baseURL: \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1\",\n",[262,552,553],{"class":264,"line":417},[262,554,555],{},"});\n",[262,557,558],{"class":264,"line":469},[262,559,451],{"emptyLinePlaceholder":450},[262,561,562],{"class":264,"line":475},[262,563,564],{},"const response = await client.chat.completions.create({\n",[262,566,567],{"class":264,"line":480},[262,568,569],{},"  model: \"deepseek-v4-pro\",\n",[262,571,572],{"class":264,"line":486},[262,573,574],{},"  messages: [{ role: \"user\", content: \"Write a quicksort\" }],\n",[262,576,577],{"class":264,"line":492},[262,578,555],{},[262,580,581],{"class":264,"line":498},[262,582,451],{"emptyLinePlaceholder":450},[262,584,585],{"class":264,"line":503},[262,586,587],{},"console.log(response.choices[0].message.content);\n",[346,589,591],{"label":590},"Go",[253,592,596],{"className":593,"code":594,"language":595,"meta":258,"style":258},"language-go shiki shiki-themes github-light github-dark","\u002F\u002F Standard library only\npackage main\n\nimport (\n    \"bytes\"\n    \"fmt\"\n    \"io\"\n    \"net\u002Fhttp\"\n    \"os\"\n)\n\nfunc main() {\n    payload := []byte(`{\n        \"model\": \"deepseek-v4-pro\",\n        \"messages\": [{\"role\": \"user\", \"content\": \"Write a quicksort\"}]\n    }`)\n\n    req, err := http.NewRequest(\"POST\", \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1\u002Fchat\u002Fcompletions\", bytes.NewReader(payload))\n    if err != nil {\n        panic(err)\n    }\n    req.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_CP_API_KEY\"))\n    req.Header.Set(\"Content-Type\", \"application\u002Fjson\")\n\n    resp, err := http.DefaultClient.Do(req)\n    if err != nil {\n        panic(err)\n    }\n    defer resp.Body.Close()\n\n    body, _ := io.ReadAll(resp.Body)\n    fmt.Println(string(body))\n}\n","go",[248,597,598,603,608,612,617,622,627,632,637,642,646,650,655,660,665,670,676,681,687,693,699,705,711,717,722,728,733,738,743,749,754,760,766],{"__ignoreMap":258},[262,599,600],{"class":264,"line":265},[262,601,602],{},"\u002F\u002F Standard library only\n",[262,604,605],{"class":264,"line":369},[262,606,607],{},"package main\n",[262,609,610],{"class":264,"line":386},[262,611,451],{"emptyLinePlaceholder":450},[262,613,614],{"class":264,"line":396},[262,615,616],{},"import (\n",[262,618,619],{"class":264,"line":405},[262,620,621],{},"    \"bytes\"\n",[262,623,624],{"class":264,"line":411},[262,625,626],{},"    \"fmt\"\n",[262,628,629],{"class":264,"line":417},[262,630,631],{},"    \"io\"\n",[262,633,634],{"class":264,"line":469},[262,635,636],{},"    \"net\u002Fhttp\"\n",[262,638,639],{"class":264,"line":475},[262,640,641],{},"    \"os\"\n",[262,643,644],{"class":264,"line":480},[262,645,472],{},[262,647,648],{"class":264,"line":486},[262,649,451],{"emptyLinePlaceholder":450},[262,651,652],{"class":264,"line":492},[262,653,654],{},"func main() {\n",[262,656,657],{"class":264,"line":498},[262,658,659],{},"    payload := []byte(`{\n",[262,661,662],{"class":264,"line":503},[262,663,664],{},"        \"model\": \"deepseek-v4-pro\",\n",[262,666,667],{"class":264,"line":508},[262,668,669],{},"        \"messages\": [{\"role\": \"user\", \"content\": \"Write a quicksort\"}]\n",[262,671,673],{"class":264,"line":672},16,[262,674,675],{},"    }`)\n",[262,677,679],{"class":264,"line":678},17,[262,680,451],{"emptyLinePlaceholder":450},[262,682,684],{"class":264,"line":683},18,[262,685,686],{},"    req, err := http.NewRequest(\"POST\", \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1\u002Fchat\u002Fcompletions\", bytes.NewReader(payload))\n",[262,688,690],{"class":264,"line":689},19,[262,691,692],{},"    if err != nil {\n",[262,694,696],{"class":264,"line":695},20,[262,697,698],{},"        panic(err)\n",[262,700,702],{"class":264,"line":701},21,[262,703,704],{},"    }\n",[262,706,708],{"class":264,"line":707},22,[262,709,710],{},"    req.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_CP_API_KEY\"))\n",[262,712,714],{"class":264,"line":713},23,[262,715,716],{},"    req.Header.Set(\"Content-Type\", \"application\u002Fjson\")\n",[262,718,720],{"class":264,"line":719},24,[262,721,451],{"emptyLinePlaceholder":450},[262,723,725],{"class":264,"line":724},25,[262,726,727],{},"    resp, err := http.DefaultClient.Do(req)\n",[262,729,731],{"class":264,"line":730},26,[262,732,692],{},[262,734,736],{"class":264,"line":735},27,[262,737,698],{},[262,739,741],{"class":264,"line":740},28,[262,742,704],{},[262,744,746],{"class":264,"line":745},29,[262,747,748],{},"    defer resp.Body.Close()\n",[262,750,752],{"class":264,"line":751},30,[262,753,451],{"emptyLinePlaceholder":450},[262,755,757],{"class":264,"line":756},31,[262,758,759],{},"    body, _ := io.ReadAll(resp.Body)\n",[262,761,763],{"class":264,"line":762},32,[262,764,765],{},"    fmt.Println(string(body))\n",[262,767,769],{"class":264,"line":768},33,[262,770,771],{},"}\n",[190,773,774,775,778],{},"The available model list can also be queried via ",[248,776,777],{},"GET \u002Fapi\u002Fcoding-plan\u002Fv1\u002Fmodels",". The list is filtered by the subscribed plan's available-model configuration; when the plan does not restrict models, all models are returned.",[780,781,782],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":258,"searchDepth":369,"depth":369,"links":784},[785,786,787,788],{"id":196,"depth":369,"text":197},{"id":230,"depth":369,"text":231},{"id":314,"depth":369,"text":315},{"id":340,"depth":369,"text":341},"Buy a plan, create a subscription API key, and connect Claude Code, OpenCode, Cursor, Codex, ZCode, TRAE, or CodeBuddy.","md",{},"---\ntitle: Quick Start\ndescription: Buy a plan, create a subscription API key, and connect Claude Code, OpenCode, Cursor, Codex, ZCode, TRAE, or CodeBuddy.\n---\n\n# Quick Start\n\nThree steps: buy a plan → create a subscription API key → configure your coding tool.\n\n## 1. Buy a Plan\n\n1. Open the [subscription page](\u002Fen\u002Fsubscription) and choose a Lite \u002F Pro \u002F Max tier and a monthly, quarterly, or yearly period.\n2. Click subscribe and complete the payment as guided.\n3. The subscription takes effect immediately after payment; the **Coding Plan** entry appears in the console, showing plan status and usage across the three windows.\n\n::alert{type=\"info\"}\nBuying again while a subscription is still active queues the new subscription to start when the current period ends — no remaining time is lost.\n::\n\n## 2. Create a Subscription API Key\n\n1. Go to Console → **Coding Plan** → **API Keys**.\n2. Click create and immediately copy the full `cp_live_` key.\n\n```bash\nexport SILVAMUX_CP_API_KEY=\"cp_live_YOUR_KEY\"\n```\n\nSubscription-dedicated endpoints (OpenAI compatible and Anthropic compatible):\n\n```\nhttps:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1\n```\n\n::alert{type=\"warning\"}\n`cp_live_` keys can only call `\u002Fapi\u002Fcoding-plan\u002Fv1` endpoints; using them on regular endpoints returns 403 `CODING_PLAN_KEY_NOT_ALLOWED`. Likewise, `sk_live_` keys cannot call the subscription endpoints.\n::\n\n## 3. Connect a Model\n\nConfigure the API key and Base URL in your AI tool to call Coding Plan models. Choose your tool for the full setup steps:\n\n::tool-cards\n::\n\n::alert{type=\"info\"}\nCommon configuration: Base URL `https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1` and API Key `cp_live_` (subscription-only); see [Developer Guide](\u002Fen\u002Fdocs\u002Fcoding-plan\u002Fguide) for endpoints and protocols.\n::\n\n## 4. Verify a Call\n\n::code-tabs\n:::code-tab{label=\"cURL\"}\n```bash\ncurl https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Authorization: Bearer $SILVAMUX_CP_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"deepseek-v4-pro\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Write a quicksort\"}]\n  }'\n```\n:::\n:::code-tab{label=\"Python\"}\n```python\n# pip install openai\nimport os\nfrom openai import OpenAI\n\nclient = OpenAI(\n    api_key=os.environ[\"SILVAMUX_CP_API_KEY\"],\n    base_url=\"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1\",\n)\n\nresponse = client.chat.completions.create(\n    model=\"deepseek-v4-pro\",\n    messages=[{\"role\": \"user\", \"content\": \"Write a quicksort\"}],\n)\n\nprint(response.choices[0].message.content)\n```\n:::\n:::code-tab{label=\"JavaScript\"}\n```javascript\n\u002F\u002F npm install openai\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n  apiKey: process.env.SILVAMUX_CP_API_KEY,\n  baseURL: \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1\",\n});\n\nconst response = await client.chat.completions.create({\n  model: \"deepseek-v4-pro\",\n  messages: [{ role: \"user\", content: \"Write a quicksort\" }],\n});\n\nconsole.log(response.choices[0].message.content);\n```\n:::\n:::code-tab{label=\"Go\"}\n```go\n\u002F\u002F Standard library only\npackage main\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"net\u002Fhttp\"\n\t\"os\"\n)\n\nfunc main() {\n\tpayload := []byte(`{\n\t\t\"model\": \"deepseek-v4-pro\",\n\t\t\"messages\": [{\"role\": \"user\", \"content\": \"Write a quicksort\"}]\n\t}`)\n\n\treq, err := http.NewRequest(\"POST\", \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fcoding-plan\u002Fv1\u002Fchat\u002Fcompletions\", bytes.NewReader(payload))\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treq.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_CP_API_KEY\"))\n\treq.Header.Set(\"Content-Type\", \"application\u002Fjson\")\n\n\tresp, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer resp.Body.Close()\n\n\tbody, _ := io.ReadAll(resp.Body)\n\tfmt.Println(string(body))\n}\n```\n:::\n::\n\nThe available model list can also be queried via `GET \u002Fapi\u002Fcoding-plan\u002Fv1\u002Fmodels`. The list is filtered by the subscribed plan's available-model configuration; when the plan does not restrict models, all models are returned.\n",[],{"title":53,"description":789},"gtjoo4PEIdjFXpJfLNQlU_5EDFJEDuw0YwZNhJBTGFE"]