[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-nav-zh":3,"docs-zh-getting-started\u002Fquick-start\u002Ffirst-request":163},[4,52,69,92,142,155,159],{"title":5,"path":6,"stem":7,"children":8,"page":-1},"快速开始","\u002Fgetting-started","1.getting-started",[9,12,30,44,48],{"title":10,"path":6,"stem":11},"关于 SilvaMux","1.getting-started\u002Findex",{"title":13,"path":14,"stem":15,"children":16,"page":-1},"首次调用千木 API","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F1.quick-start\u002Findex",[17,18,22,26],{"title":13,"path":14,"stem":15},{"title":19,"path":20,"stem":21},"项目和账户设置","\u002Fgetting-started\u002Fquick-start\u002Fproject-and-account","1.getting-started\u002F1.quick-start\u002F2.project-and-account",{"title":23,"path":24,"stem":25},"获取 API Key","\u002Fgetting-started\u002Fquick-start\u002Fapi-key","1.getting-started\u002F1.quick-start\u002F3.api-key",{"title":27,"path":28,"stem":29},"第一个请求","\u002Fgetting-started\u002Fquick-start\u002Ffirst-request","1.getting-started\u002F1.quick-start\u002F4.first-request",{"title":31,"path":32,"stem":33,"children":34,"page":43},"模型与体验","\u002Fgetting-started\u002Fmodels-and-experience","1.getting-started\u002F2.models-and-experience",[35,39],{"title":36,"path":37,"stem":38},"模型选择","\u002Fgetting-started\u002Fmodels-and-experience\u002Fmodel-selection","1.getting-started\u002F2.models-and-experience\u002F1.model-selection",{"title":40,"path":41,"stem":42},"在线体验","\u002Fgetting-started\u002Fmodels-and-experience\u002Fplayground","1.getting-started\u002F2.models-and-experience\u002F2.playground",false,{"title":45,"path":46,"stem":47},"限流","\u002Fgetting-started\u002Frate-limits","1.getting-started\u002F3.rate-limits",{"title":49,"path":50,"stem":51},"常见问题","\u002Fgetting-started\u002Ffaq","1.getting-started\u002F4.faq",{"title":53,"path":54,"stem":55,"children":56,"page":43},"产品计费","\u002Fbilling","2.billing",[57,61,65],{"title":58,"path":59,"stem":60},"计费说明","\u002Fbilling\u002Foverview","2.billing\u002F1.overview",{"title":62,"path":63,"stem":64},"在线充值","\u002Fbilling\u002Frecharge","2.billing\u002F2.recharge",{"title":66,"path":67,"stem":68},"账单、用量与导出","\u002Fbilling\u002Fusage-export","2.billing\u002F3.usage-export",{"title":70,"path":71,"stem":72,"children":73,"page":43},"Coding Plan","\u002Fcoding-plan","3.coding-plan",[74,78],{"title":75,"path":76,"stem":77},"Coding Plan 概述","\u002Fcoding-plan\u002Foverview","3.coding-plan\u002F1.overview",{"title":79,"path":80,"stem":81,"children":82,"page":-1},"个人版","\u002Fcoding-plan\u002Fpersonal","3.coding-plan\u002F2.personal\u002Findex",[83,85,89],{"title":84,"path":80,"stem":81},"价格和权益",{"title":86,"path":87,"stem":88},"快速接入","\u002Fcoding-plan\u002Fpersonal\u002Fquick-start","3.coding-plan\u002F2.personal\u002F2.quick-start",{"title":49,"path":90,"stem":91},"\u002Fcoding-plan\u002Fpersonal\u002Ffaq","3.coding-plan\u002F2.personal\u002F3.faq",{"title":93,"path":94,"stem":95,"children":96,"page":43},"模型接口","\u002Fmodels","4.models",[97,130],{"title":98,"path":99,"stem":100,"children":101,"page":43},"文本生成","\u002Fmodels\u002Fchat","4.models\u002F1.chat",[102,106,110,114,118,122,126],{"title":103,"path":104,"stem":105},"概述","\u002Fmodels\u002Fchat\u002Foverview","4.models\u002F1.chat\u002F1.overview",{"title":107,"path":108,"stem":109},"OpenAI 兼容接口","\u002Fmodels\u002Fchat\u002Fopenai","4.models\u002F1.chat\u002F2.openai",{"title":111,"path":112,"stem":113},"Anthropic 兼容","\u002Fmodels\u002Fchat\u002Fanthropic","4.models\u002F1.chat\u002F3.anthropic",{"title":115,"path":116,"stem":117},"Volcengine 兼容","\u002Fmodels\u002Fchat\u002Fvolcengine","4.models\u002F1.chat\u002F4.volcengine",{"title":119,"path":120,"stem":121},"智谱兼容","\u002Fmodels\u002Fchat\u002Fzhipu","4.models\u002F1.chat\u002F5.zhipu",{"title":123,"path":124,"stem":125},"SilvaMux 统一入口","\u002Fmodels\u002Fchat\u002Funified","4.models\u002F1.chat\u002F6.unified",{"title":127,"path":128,"stem":129},"多模态输入","\u002Fmodels\u002Fchat\u002Fmultimodal","4.models\u002F1.chat\u002F7.multimodal",{"title":131,"path":132,"stem":133,"children":134,"page":43},"图片生成","\u002Fmodels\u002Fimages","4.models\u002F2.images",[135,138],{"title":103,"path":136,"stem":137},"\u002Fmodels\u002Fimages\u002Foverview","4.models\u002F2.images\u002F1.overview",{"title":139,"path":140,"stem":141},"图片生成接口","\u002Fmodels\u002Fimages\u002Fgeneration","4.models\u002F2.images\u002F2.generation",{"title":143,"path":144,"stem":145,"children":146,"page":43},"用量与余额","\u002Fusage-and-balance","5.usage-and-balance",[147,151],{"title":148,"path":149,"stem":150},"查询余额","\u002Fusage-and-balance\u002Fbalance","5.usage-and-balance\u002F1.balance",{"title":152,"path":153,"stem":154},"查询用量","\u002Fusage-and-balance\u002Fusage","5.usage-and-balance\u002F2.usage",{"title":156,"path":157,"stem":158},"错误码参考","\u002Ferrors","6.errors",{"title":160,"path":161,"stem":162},"文档首页","\u002F","index",{"id":164,"title":27,"body":165,"description":814,"extension":815,"meta":816,"navigation":326,"path":28,"rawbody":817,"requiredFlags":818,"seo":819,"stem":29,"__hash__":820},"docs\u002F1.getting-started\u002F1.quick-start\u002F4.first-request.md",{"type":166,"value":167,"toc":809},"minimark",[168,171,193,197,646,649,656,713,732,736,739,797,805],[169,170,27],"h1",{"id":27},[172,173,174],"blockquote",{},[175,176,177,186,187,192],"p",{},[178,179,180,181,185],"strong",{},"关于 ",[182,183,184],"code",{},"model"," 字段","：填写",[188,189,191],"a",{"href":190},"\u002Fzh-cn\u002Fmodels","模型广场","详情页展示的调用名，优先使用稳定的 alias。不要根据展示名称自行拼接。",[194,195,196],"h2",{"id":196},"调用示例",[198,199,200,297,386,462],"code-tabs",{},[201,202,204],"code-tab",{"label":203},"cURL",[205,206,211],"pre",{"className":207,"code":208,"language":209,"meta":210,"style":210},"language-bash shiki shiki-themes github-light github-dark","curl https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"minimax-m2.5\",\n    \"messages\": [\n      {\"role\": \"user\", \"content\": \"用一句话介绍你自己\"}\n    ]\n  }'\n","bash","",[182,212,213,230,248,258,267,273,279,285,291],{"__ignoreMap":210},[214,215,218,222,226],"span",{"class":216,"line":217},"line",1,[214,219,221],{"class":220},"sScJk","curl",[214,223,225],{"class":224},"sZZnC"," https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions",[214,227,229],{"class":228},"sj4cs"," \\\n",[214,231,233,236,239,243,246],{"class":216,"line":232},2,[214,234,235],{"class":228},"  -H",[214,237,238],{"class":224}," \"Authorization: Bearer ",[214,240,242],{"class":241},"sVt8B","$SILVAMUX_API_KEY",[214,244,245],{"class":224},"\"",[214,247,229],{"class":228},[214,249,251,253,256],{"class":216,"line":250},3,[214,252,235],{"class":228},[214,254,255],{"class":224}," \"Content-Type: application\u002Fjson\"",[214,257,229],{"class":228},[214,259,261,264],{"class":216,"line":260},4,[214,262,263],{"class":228},"  -d",[214,265,266],{"class":224}," '{\n",[214,268,270],{"class":216,"line":269},5,[214,271,272],{"class":224},"    \"model\": \"minimax-m2.5\",\n",[214,274,276],{"class":216,"line":275},6,[214,277,278],{"class":224},"    \"messages\": [\n",[214,280,282],{"class":216,"line":281},7,[214,283,284],{"class":224},"      {\"role\": \"user\", \"content\": \"用一句话介绍你自己\"}\n",[214,286,288],{"class":216,"line":287},8,[214,289,290],{"class":224},"    ]\n",[214,292,294],{"class":216,"line":293},9,[214,295,296],{"class":224},"  }'\n",[201,298,300],{"label":299},"Python",[205,301,305],{"className":302,"code":303,"language":304,"meta":210,"style":210},"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_API_KEY\"],\n    base_url=\"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\",\n)\n\nresponse = client.chat.completions.create(\n    model=\"minimax-m2.5\",\n    messages=[{\"role\": \"user\", \"content\": \"用一句话介绍你自己\"}],\n)\n\nprint(response.choices[0].message.content)\n","python",[182,306,307,312,317,322,328,333,338,343,348,352,358,364,370,375,380],{"__ignoreMap":210},[214,308,309],{"class":216,"line":217},[214,310,311],{},"# pip install openai\n",[214,313,314],{"class":216,"line":232},[214,315,316],{},"import os\n",[214,318,319],{"class":216,"line":250},[214,320,321],{},"from openai import OpenAI\n",[214,323,324],{"class":216,"line":260},[214,325,327],{"emptyLinePlaceholder":326},true,"\n",[214,329,330],{"class":216,"line":269},[214,331,332],{},"client = OpenAI(\n",[214,334,335],{"class":216,"line":275},[214,336,337],{},"    api_key=os.environ[\"SILVAMUX_API_KEY\"],\n",[214,339,340],{"class":216,"line":281},[214,341,342],{},"    base_url=\"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\",\n",[214,344,345],{"class":216,"line":287},[214,346,347],{},")\n",[214,349,350],{"class":216,"line":293},[214,351,327],{"emptyLinePlaceholder":326},[214,353,355],{"class":216,"line":354},10,[214,356,357],{},"response = client.chat.completions.create(\n",[214,359,361],{"class":216,"line":360},11,[214,362,363],{},"    model=\"minimax-m2.5\",\n",[214,365,367],{"class":216,"line":366},12,[214,368,369],{},"    messages=[{\"role\": \"user\", \"content\": \"用一句话介绍你自己\"}],\n",[214,371,373],{"class":216,"line":372},13,[214,374,347],{},[214,376,378],{"class":216,"line":377},14,[214,379,327],{"emptyLinePlaceholder":326},[214,381,383],{"class":216,"line":382},15,[214,384,385],{},"print(response.choices[0].message.content)\n",[201,387,389],{"label":388},"JavaScript",[205,390,394],{"className":391,"code":392,"language":393,"meta":210,"style":210},"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_API_KEY,\n  baseURL: \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\",\n});\n\nconst response = await client.chat.completions.create({\n  model: \"minimax-m2.5\",\n  messages: [{ role: \"user\", content: \"用一句话介绍你自己\" }],\n});\n\nconsole.log(response.choices[0].message.content);\n","javascript",[182,395,396,401,406,410,415,420,425,430,434,439,444,449,453,457],{"__ignoreMap":210},[214,397,398],{"class":216,"line":217},[214,399,400],{},"\u002F\u002F npm install openai\n",[214,402,403],{"class":216,"line":232},[214,404,405],{},"import OpenAI from \"openai\";\n",[214,407,408],{"class":216,"line":250},[214,409,327],{"emptyLinePlaceholder":326},[214,411,412],{"class":216,"line":260},[214,413,414],{},"const client = new OpenAI({\n",[214,416,417],{"class":216,"line":269},[214,418,419],{},"  apiKey: process.env.SILVAMUX_API_KEY,\n",[214,421,422],{"class":216,"line":275},[214,423,424],{},"  baseURL: \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\",\n",[214,426,427],{"class":216,"line":281},[214,428,429],{},"});\n",[214,431,432],{"class":216,"line":287},[214,433,327],{"emptyLinePlaceholder":326},[214,435,436],{"class":216,"line":293},[214,437,438],{},"const response = await client.chat.completions.create({\n",[214,440,441],{"class":216,"line":354},[214,442,443],{},"  model: \"minimax-m2.5\",\n",[214,445,446],{"class":216,"line":360},[214,447,448],{},"  messages: [{ role: \"user\", content: \"用一句话介绍你自己\" }],\n",[214,450,451],{"class":216,"line":366},[214,452,429],{},[214,454,455],{"class":216,"line":372},[214,456,327],{"emptyLinePlaceholder":326},[214,458,459],{"class":216,"line":377},[214,460,461],{},"console.log(response.choices[0].message.content);\n",[201,463,465],{"label":464},"Go",[205,466,470],{"className":467,"code":468,"language":469,"meta":210,"style":210},"language-go shiki shiki-themes github-light github-dark","\u002F\u002F 仅依赖标准库\npackage main\n\nimport (\n    \"bytes\"\n    \"fmt\"\n    \"io\"\n    \"net\u002Fhttp\"\n    \"os\"\n)\n\nfunc main() {\n    payload := []byte(`{\n        \"model\": \"minimax-m2.5\",\n        \"messages\": [{\"role\": \"user\", \"content\": \"用一句话介绍你自己\"}]\n    }`)\n\n    req, err := http.NewRequest(\"POST\", \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions\", bytes.NewReader(payload))\n    if err != nil {\n        panic(err)\n    }\n    req.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_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",[182,471,472,477,482,486,491,496,501,506,511,516,520,524,529,534,539,544,550,555,561,567,573,579,585,591,596,602,607,612,617,623,628,634,640],{"__ignoreMap":210},[214,473,474],{"class":216,"line":217},[214,475,476],{},"\u002F\u002F 仅依赖标准库\n",[214,478,479],{"class":216,"line":232},[214,480,481],{},"package main\n",[214,483,484],{"class":216,"line":250},[214,485,327],{"emptyLinePlaceholder":326},[214,487,488],{"class":216,"line":260},[214,489,490],{},"import (\n",[214,492,493],{"class":216,"line":269},[214,494,495],{},"    \"bytes\"\n",[214,497,498],{"class":216,"line":275},[214,499,500],{},"    \"fmt\"\n",[214,502,503],{"class":216,"line":281},[214,504,505],{},"    \"io\"\n",[214,507,508],{"class":216,"line":287},[214,509,510],{},"    \"net\u002Fhttp\"\n",[214,512,513],{"class":216,"line":293},[214,514,515],{},"    \"os\"\n",[214,517,518],{"class":216,"line":354},[214,519,347],{},[214,521,522],{"class":216,"line":360},[214,523,327],{"emptyLinePlaceholder":326},[214,525,526],{"class":216,"line":366},[214,527,528],{},"func main() {\n",[214,530,531],{"class":216,"line":372},[214,532,533],{},"    payload := []byte(`{\n",[214,535,536],{"class":216,"line":377},[214,537,538],{},"        \"model\": \"minimax-m2.5\",\n",[214,540,541],{"class":216,"line":382},[214,542,543],{},"        \"messages\": [{\"role\": \"user\", \"content\": \"用一句话介绍你自己\"}]\n",[214,545,547],{"class":216,"line":546},16,[214,548,549],{},"    }`)\n",[214,551,553],{"class":216,"line":552},17,[214,554,327],{"emptyLinePlaceholder":326},[214,556,558],{"class":216,"line":557},18,[214,559,560],{},"    req, err := http.NewRequest(\"POST\", \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions\", bytes.NewReader(payload))\n",[214,562,564],{"class":216,"line":563},19,[214,565,566],{},"    if err != nil {\n",[214,568,570],{"class":216,"line":569},20,[214,571,572],{},"        panic(err)\n",[214,574,576],{"class":216,"line":575},21,[214,577,578],{},"    }\n",[214,580,582],{"class":216,"line":581},22,[214,583,584],{},"    req.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_API_KEY\"))\n",[214,586,588],{"class":216,"line":587},23,[214,589,590],{},"    req.Header.Set(\"Content-Type\", \"application\u002Fjson\")\n",[214,592,594],{"class":216,"line":593},24,[214,595,327],{"emptyLinePlaceholder":326},[214,597,599],{"class":216,"line":598},25,[214,600,601],{},"    resp, err := http.DefaultClient.Do(req)\n",[214,603,605],{"class":216,"line":604},26,[214,606,566],{},[214,608,610],{"class":216,"line":609},27,[214,611,572],{},[214,613,615],{"class":216,"line":614},28,[214,616,578],{},[214,618,620],{"class":216,"line":619},29,[214,621,622],{},"    defer resp.Body.Close()\n",[214,624,626],{"class":216,"line":625},30,[214,627,327],{"emptyLinePlaceholder":326},[214,629,631],{"class":216,"line":630},31,[214,632,633],{},"    body, _ := io.ReadAll(resp.Body)\n",[214,635,637],{"class":216,"line":636},32,[214,638,639],{},"    fmt.Println(string(body))\n",[214,641,643],{"class":216,"line":642},33,[214,644,645],{},"}\n",[194,647,648],{"id":648},"流式输出",[175,650,651,652,655],{},"设置 ",[182,653,654],{},"stream: true"," 即可获得流式响应（SSE）：",[205,657,659],{"className":207,"code":658,"language":209,"meta":210,"style":210},"curl https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"minimax-m2.5\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"写一首五言绝句\"}],\n    \"stream\": true\n  }'\n",[182,660,661,669,681,689,695,699,704,709],{"__ignoreMap":210},[214,662,663,665,667],{"class":216,"line":217},[214,664,221],{"class":220},[214,666,225],{"class":224},[214,668,229],{"class":228},[214,670,671,673,675,677,679],{"class":216,"line":232},[214,672,235],{"class":228},[214,674,238],{"class":224},[214,676,242],{"class":241},[214,678,245],{"class":224},[214,680,229],{"class":228},[214,682,683,685,687],{"class":216,"line":250},[214,684,235],{"class":228},[214,686,255],{"class":224},[214,688,229],{"class":228},[214,690,691,693],{"class":216,"line":260},[214,692,263],{"class":228},[214,694,266],{"class":224},[214,696,697],{"class":216,"line":269},[214,698,272],{"class":224},[214,700,701],{"class":216,"line":275},[214,702,703],{"class":224},"    \"messages\": [{\"role\": \"user\", \"content\": \"写一首五言绝句\"}],\n",[214,705,706],{"class":216,"line":281},[214,707,708],{"class":224},"    \"stream\": true\n",[214,710,711],{"class":216,"line":287},[214,712,296],{"class":224},[175,714,715,716,719,720,723,724,727,728,731],{},"流式响应格式为 Server-Sent Events，每个事件的 ",[182,717,718],{},"data"," 字段包含一个 JSON chunk。最终可能收到 ",[182,721,722],{},"choices"," 为空、带有 ",[182,725,726],{},"usage"," 的用量 chunk，随后服务器关闭连接。客户端应以流结束为准，不要仅依赖 ",[182,729,730],{},"data: [DONE]"," 判断完成。",[194,733,735],{"id":734},"使用-anthropic-格式","使用 Anthropic 格式",[175,737,738],{},"如果你更熟悉 Anthropic 的 Messages API，SilvaMux 同样支持：",[205,740,742],{"className":207,"code":741,"language":209,"meta":210,"style":210},"curl https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fmessages \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"minimax-m2.5\",\n    \"max_tokens\": 1024,\n    \"messages\": [{\"role\": \"user\", \"content\": \"你好\"}]\n  }'\n",[182,743,744,753,765,773,779,783,788,793],{"__ignoreMap":210},[214,745,746,748,751],{"class":216,"line":217},[214,747,221],{"class":220},[214,749,750],{"class":224}," https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fmessages",[214,752,229],{"class":228},[214,754,755,757,759,761,763],{"class":216,"line":232},[214,756,235],{"class":228},[214,758,238],{"class":224},[214,760,242],{"class":241},[214,762,245],{"class":224},[214,764,229],{"class":228},[214,766,767,769,771],{"class":216,"line":250},[214,768,235],{"class":228},[214,770,255],{"class":224},[214,772,229],{"class":228},[214,774,775,777],{"class":216,"line":260},[214,776,263],{"class":228},[214,778,266],{"class":224},[214,780,781],{"class":216,"line":269},[214,782,272],{"class":224},[214,784,785],{"class":216,"line":275},[214,786,787],{"class":224},"    \"max_tokens\": 1024,\n",[214,789,790],{"class":216,"line":281},[214,791,792],{"class":224},"    \"messages\": [{\"role\": \"user\", \"content\": \"你好\"}]\n",[214,794,795],{"class":216,"line":287},[214,796,296],{"class":224},[175,798,799,800,804],{},"更多接口格式见",[188,801,803],{"href":802},"\u002Fzh-cn\u002Fdocs\u002Fmodels\u002Fchat\u002Foverview","文本生成模型","。",[806,807,808],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}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);}",{"title":210,"searchDepth":232,"depth":232,"links":810},[811,812,813],{"id":196,"depth":232,"text":196},{"id":648,"depth":232,"text":648},{"id":734,"depth":232,"text":735},"使用 cURL、Python、JavaScript 或 Go 完成第一次模型调用，并体验流式输出。","md",{},"---\ntitle: 第一个请求\ndescription: 使用 cURL、Python、JavaScript 或 Go 完成第一次模型调用，并体验流式输出。\n---\n\n# 第一个请求\n\n> **关于 `model` 字段**：填写[模型广场](\u002Fzh-cn\u002Fmodels)详情页展示的调用名，优先使用稳定的 alias。不要根据展示名称自行拼接。\n\n## 调用示例\n\n::code-tabs\n:::code-tab{label=\"cURL\"}\n```bash\ncurl https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"minimax-m2.5\",\n    \"messages\": [\n      {\"role\": \"user\", \"content\": \"用一句话介绍你自己\"}\n    ]\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_API_KEY\"],\n    base_url=\"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\",\n)\n\nresponse = client.chat.completions.create(\n    model=\"minimax-m2.5\",\n    messages=[{\"role\": \"user\", \"content\": \"用一句话介绍你自己\"}],\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_API_KEY,\n  baseURL: \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\",\n});\n\nconst response = await client.chat.completions.create({\n  model: \"minimax-m2.5\",\n  messages: [{ role: \"user\", content: \"用一句话介绍你自己\" }],\n});\n\nconsole.log(response.choices[0].message.content);\n```\n:::\n:::code-tab{label=\"Go\"}\n```go\n\u002F\u002F 仅依赖标准库\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\": \"minimax-m2.5\",\n\t\t\"messages\": [{\"role\": \"user\", \"content\": \"用一句话介绍你自己\"}]\n\t}`)\n\n\treq, err := http.NewRequest(\"POST\", \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\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_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\n## 流式输出\n\n设置 `stream: true` 即可获得流式响应（SSE）：\n\n```bash\ncurl https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"minimax-m2.5\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"写一首五言绝句\"}],\n    \"stream\": true\n  }'\n```\n\n流式响应格式为 Server-Sent Events，每个事件的 `data` 字段包含一个 JSON chunk。最终可能收到 `choices` 为空、带有 `usage` 的用量 chunk，随后服务器关闭连接。客户端应以流结束为准，不要仅依赖 `data: [DONE]` 判断完成。\n\n## 使用 Anthropic 格式\n\n如果你更熟悉 Anthropic 的 Messages API，SilvaMux 同样支持：\n\n```bash\ncurl https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fv1\u002Fmessages \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"minimax-m2.5\",\n    \"max_tokens\": 1024,\n    \"messages\": [{\"role\": \"user\", \"content\": \"你好\"}]\n  }'\n```\n\n更多接口格式见[文本生成模型](\u002Fzh-cn\u002Fdocs\u002Fmodels\u002Fchat\u002Foverview)。\n",[],{"title":27,"description":814},"LnSppBIfM6c7ietqw9OA00U0zdITCwSDuHnmhHJ2mN4"]