[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-nav-zh":3,"docs-zh-models\u002Fimages\u002Fgeneration":144,"$fn4JeKmPd8Sepq-Kg0V7ERb4D67F9Ox-H0VJFkyTWoXI":1238,"$fsZhaBBTwy8wMBMUCs3aiA6GUVinNEI_xpFs7KcseEEI":1283},[4,52,69,119,136,140],{"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},"模型接口","\u002Fmodels","4.models",[74,107],{"title":75,"path":76,"stem":77,"children":78,"page":43},"文本生成","\u002Fmodels\u002Fchat","4.models\u002F1.chat",[79,83,87,91,95,99,103],{"title":80,"path":81,"stem":82},"概述","\u002Fmodels\u002Fchat\u002Foverview","4.models\u002F1.chat\u002F1.overview",{"title":84,"path":85,"stem":86},"OpenAI 兼容接口","\u002Fmodels\u002Fchat\u002Fopenai","4.models\u002F1.chat\u002F2.openai",{"title":88,"path":89,"stem":90},"Anthropic 兼容","\u002Fmodels\u002Fchat\u002Fanthropic","4.models\u002F1.chat\u002F3.anthropic",{"title":92,"path":93,"stem":94},"Volcengine 兼容","\u002Fmodels\u002Fchat\u002Fvolcengine","4.models\u002F1.chat\u002F4.volcengine",{"title":96,"path":97,"stem":98},"智谱兼容","\u002Fmodels\u002Fchat\u002Fzhipu","4.models\u002F1.chat\u002F5.zhipu",{"title":100,"path":101,"stem":102},"SilvaMux 统一入口","\u002Fmodels\u002Fchat\u002Funified","4.models\u002F1.chat\u002F6.unified",{"title":104,"path":105,"stem":106},"多模态输入","\u002Fmodels\u002Fchat\u002Fmultimodal","4.models\u002F1.chat\u002F7.multimodal",{"title":108,"path":109,"stem":110,"children":111,"page":43},"图片生成","\u002Fmodels\u002Fimages","4.models\u002F2.images",[112,115],{"title":80,"path":113,"stem":114},"\u002Fmodels\u002Fimages\u002Foverview","4.models\u002F2.images\u002F1.overview",{"title":116,"path":117,"stem":118},"图片生成接口","\u002Fmodels\u002Fimages\u002Fgeneration","4.models\u002F2.images\u002F2.generation",{"title":120,"path":121,"stem":122,"children":123,"page":43},"用量与余额","\u002Fusage-and-balance","5.usage-and-balance",[124,128,132],{"title":125,"path":126,"stem":127},"查询余额","\u002Fusage-and-balance\u002Fbalance","5.usage-and-balance\u002F1.balance",{"title":129,"path":130,"stem":131},"查询用量","\u002Fusage-and-balance\u002Fusage","5.usage-and-balance\u002F2.usage",{"title":133,"path":134,"stem":135},"查询单次请求消耗","\u002Fusage-and-balance\u002Frequest-usage","5.usage-and-balance\u002F3.request-usage",{"title":137,"path":138,"stem":139},"错误码参考","\u002Ferrors","6.errors",{"title":141,"path":142,"stem":143},"文档首页","\u002F","index",{"id":145,"title":116,"body":146,"description":1231,"extension":1232,"meta":1233,"navigation":308,"path":117,"rawbody":1234,"requiredFlags":1235,"seo":1236,"stem":118,"__hash__":1237},"docs\u002F4.models\u002F2.images\u002F2.generation.md",{"type":147,"value":148,"toc":1217},"minimark",[149,152,165,170,175,179,674,677,744,760,764,770,781,789,803,897,904,908,914,917,920,1057,1061,1076,1094,1097,1104,1165,1174,1177,1188,1191,1204,1207,1213],[150,151,116],"h1",{"id":116},[153,154,155,156,160,161,164],"p",{},"文生图接口根据模型分为两种风格：OpenAI Images API 风格（豆包 Seedream）和 Gemini ",[157,158,159],"code",{},"generateContent"," 风格；图片编辑使用 ",[157,162,163],{},"multipart\u002Fform-data"," 上传原图。",[166,167,169],"h2",{"id":168},"文生图openai-风格seedream","文生图（OpenAI 风格，Seedream）",[171,172],"api-endpoint",{"method":173,"path":174},"POST","\u002Fapi\u002Fv3\u002Fimages\u002Fgenerations",[176,177,178],"h3",{"id":178},"示例",[180,181,182,279,386,482],"code-tabs",{},[183,184,186],"code-tab",{"label":185},"cURL",[187,188,193],"pre",{"className":189,"code":190,"language":191,"meta":192,"style":192},"language-bash shiki shiki-themes github-light github-dark","curl https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\u002Fimages\u002Fgenerations \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"doubao-seedream-5-0-260128\",\n    \"prompt\": \"一只戴墨镜的柴犬坐在咖啡馆里\",\n    \"size\": \"2048x2048\",\n    \"n\": 1\n  }'\n","bash","",[157,194,195,212,230,240,249,255,261,267,273],{"__ignoreMap":192},[196,197,200,204,208],"span",{"class":198,"line":199},"line",1,[196,201,203],{"class":202},"sScJk","curl",[196,205,207],{"class":206},"sZZnC"," https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\u002Fimages\u002Fgenerations",[196,209,211],{"class":210},"sj4cs"," \\\n",[196,213,215,218,221,225,228],{"class":198,"line":214},2,[196,216,217],{"class":210},"  -H",[196,219,220],{"class":206}," \"Authorization: Bearer ",[196,222,224],{"class":223},"sVt8B","$SILVAMUX_API_KEY",[196,226,227],{"class":206},"\"",[196,229,211],{"class":210},[196,231,233,235,238],{"class":198,"line":232},3,[196,234,217],{"class":210},[196,236,237],{"class":206}," \"Content-Type: application\u002Fjson\"",[196,239,211],{"class":210},[196,241,243,246],{"class":198,"line":242},4,[196,244,245],{"class":210},"  -d",[196,247,248],{"class":206}," '{\n",[196,250,252],{"class":198,"line":251},5,[196,253,254],{"class":206},"    \"model\": \"doubao-seedream-5-0-260128\",\n",[196,256,258],{"class":198,"line":257},6,[196,259,260],{"class":206},"    \"prompt\": \"一只戴墨镜的柴犬坐在咖啡馆里\",\n",[196,262,264],{"class":198,"line":263},7,[196,265,266],{"class":206},"    \"size\": \"2048x2048\",\n",[196,268,270],{"class":198,"line":269},8,[196,271,272],{"class":206},"    \"n\": 1\n",[196,274,276],{"class":198,"line":275},9,[196,277,278],{"class":206},"  }'\n",[183,280,282],{"label":281},"Python",[187,283,287],{"className":284,"code":285,"language":286,"meta":192,"style":192},"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\u002Fsilvamux.io\u002Fapi\u002Fv3\",\n)\n\nresult = client.images.generate(\n    model=\"doubao-seedream-5-0-260128\",\n    prompt=\"一只戴墨镜的柴犬坐在咖啡馆里\",\n    size=\"2048x2048\",\n    n=1,\n)\n\nfor item in result.data:\n    print(item.url)\n","python",[157,288,289,294,299,304,310,315,320,325,330,334,340,346,352,358,364,369,374,380],{"__ignoreMap":192},[196,290,291],{"class":198,"line":199},[196,292,293],{},"# pip install openai\n",[196,295,296],{"class":198,"line":214},[196,297,298],{},"import os\n",[196,300,301],{"class":198,"line":232},[196,302,303],{},"from openai import OpenAI\n",[196,305,306],{"class":198,"line":242},[196,307,309],{"emptyLinePlaceholder":308},true,"\n",[196,311,312],{"class":198,"line":251},[196,313,314],{},"client = OpenAI(\n",[196,316,317],{"class":198,"line":257},[196,318,319],{},"    api_key=os.environ[\"SILVAMUX_API_KEY\"],\n",[196,321,322],{"class":198,"line":263},[196,323,324],{},"    base_url=\"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\",\n",[196,326,327],{"class":198,"line":269},[196,328,329],{},")\n",[196,331,332],{"class":198,"line":275},[196,333,309],{"emptyLinePlaceholder":308},[196,335,337],{"class":198,"line":336},10,[196,338,339],{},"result = client.images.generate(\n",[196,341,343],{"class":198,"line":342},11,[196,344,345],{},"    model=\"doubao-seedream-5-0-260128\",\n",[196,347,349],{"class":198,"line":348},12,[196,350,351],{},"    prompt=\"一只戴墨镜的柴犬坐在咖啡馆里\",\n",[196,353,355],{"class":198,"line":354},13,[196,356,357],{},"    size=\"2048x2048\",\n",[196,359,361],{"class":198,"line":360},14,[196,362,363],{},"    n=1,\n",[196,365,367],{"class":198,"line":366},15,[196,368,329],{},[196,370,372],{"class":198,"line":371},16,[196,373,309],{"emptyLinePlaceholder":308},[196,375,377],{"class":198,"line":376},17,[196,378,379],{},"for item in result.data:\n",[196,381,383],{"class":198,"line":382},18,[196,384,385],{},"    print(item.url)\n",[183,387,389],{"label":388},"JavaScript",[187,390,394],{"className":391,"code":392,"language":393,"meta":192,"style":192},"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\u002Fsilvamux.io\u002Fapi\u002Fv3\",\n});\n\nconst result = await client.images.generate({\n  model: \"doubao-seedream-5-0-260128\",\n  prompt: \"一只戴墨镜的柴犬坐在咖啡馆里\",\n  size: \"2048x2048\",\n  n: 1,\n});\n\nfor (const item of result.data) {\n  console.log(item.url);\n}\n","javascript",[157,395,396,401,406,410,415,420,425,430,434,439,444,449,454,459,463,467,472,477],{"__ignoreMap":192},[196,397,398],{"class":198,"line":199},[196,399,400],{},"\u002F\u002F npm install openai\n",[196,402,403],{"class":198,"line":214},[196,404,405],{},"import OpenAI from \"openai\";\n",[196,407,408],{"class":198,"line":232},[196,409,309],{"emptyLinePlaceholder":308},[196,411,412],{"class":198,"line":242},[196,413,414],{},"const client = new OpenAI({\n",[196,416,417],{"class":198,"line":251},[196,418,419],{},"  apiKey: process.env.SILVAMUX_API_KEY,\n",[196,421,422],{"class":198,"line":257},[196,423,424],{},"  baseURL: \"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\",\n",[196,426,427],{"class":198,"line":263},[196,428,429],{},"});\n",[196,431,432],{"class":198,"line":269},[196,433,309],{"emptyLinePlaceholder":308},[196,435,436],{"class":198,"line":275},[196,437,438],{},"const result = await client.images.generate({\n",[196,440,441],{"class":198,"line":336},[196,442,443],{},"  model: \"doubao-seedream-5-0-260128\",\n",[196,445,446],{"class":198,"line":342},[196,447,448],{},"  prompt: \"一只戴墨镜的柴犬坐在咖啡馆里\",\n",[196,450,451],{"class":198,"line":348},[196,452,453],{},"  size: \"2048x2048\",\n",[196,455,456],{"class":198,"line":354},[196,457,458],{},"  n: 1,\n",[196,460,461],{"class":198,"line":360},[196,462,429],{},[196,464,465],{"class":198,"line":366},[196,466,309],{"emptyLinePlaceholder":308},[196,468,469],{"class":198,"line":371},[196,470,471],{},"for (const item of result.data) {\n",[196,473,474],{"class":198,"line":376},[196,475,476],{},"  console.log(item.url);\n",[196,478,479],{"class":198,"line":382},[196,480,481],{},"}\n",[183,483,485],{"label":484},"Go",[187,486,490],{"className":487,"code":488,"language":489,"meta":192,"style":192},"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\": \"doubao-seedream-5-0-260128\",\n        \"prompt\": \"一只戴墨镜的柴犬坐在咖啡馆里\",\n        \"size\": \"2048x2048\",\n        \"n\": 1\n    }`)\n\n    req, err := http.NewRequest(\"POST\", \"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\u002Fimages\u002Fgenerations\", 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",[157,491,492,497,502,506,511,516,521,526,531,536,540,544,549,554,559,564,569,574,579,584,590,596,602,608,614,620,625,631,636,641,646,652,657,663,669],{"__ignoreMap":192},[196,493,494],{"class":198,"line":199},[196,495,496],{},"\u002F\u002F 仅依赖标准库\n",[196,498,499],{"class":198,"line":214},[196,500,501],{},"package main\n",[196,503,504],{"class":198,"line":232},[196,505,309],{"emptyLinePlaceholder":308},[196,507,508],{"class":198,"line":242},[196,509,510],{},"import (\n",[196,512,513],{"class":198,"line":251},[196,514,515],{},"    \"bytes\"\n",[196,517,518],{"class":198,"line":257},[196,519,520],{},"    \"fmt\"\n",[196,522,523],{"class":198,"line":263},[196,524,525],{},"    \"io\"\n",[196,527,528],{"class":198,"line":269},[196,529,530],{},"    \"net\u002Fhttp\"\n",[196,532,533],{"class":198,"line":275},[196,534,535],{},"    \"os\"\n",[196,537,538],{"class":198,"line":336},[196,539,329],{},[196,541,542],{"class":198,"line":342},[196,543,309],{"emptyLinePlaceholder":308},[196,545,546],{"class":198,"line":348},[196,547,548],{},"func main() {\n",[196,550,551],{"class":198,"line":354},[196,552,553],{},"    payload := []byte(`{\n",[196,555,556],{"class":198,"line":360},[196,557,558],{},"        \"model\": \"doubao-seedream-5-0-260128\",\n",[196,560,561],{"class":198,"line":366},[196,562,563],{},"        \"prompt\": \"一只戴墨镜的柴犬坐在咖啡馆里\",\n",[196,565,566],{"class":198,"line":371},[196,567,568],{},"        \"size\": \"2048x2048\",\n",[196,570,571],{"class":198,"line":376},[196,572,573],{},"        \"n\": 1\n",[196,575,576],{"class":198,"line":382},[196,577,578],{},"    }`)\n",[196,580,582],{"class":198,"line":581},19,[196,583,309],{"emptyLinePlaceholder":308},[196,585,587],{"class":198,"line":586},20,[196,588,589],{},"    req, err := http.NewRequest(\"POST\", \"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\u002Fimages\u002Fgenerations\", bytes.NewReader(payload))\n",[196,591,593],{"class":198,"line":592},21,[196,594,595],{},"    if err != nil {\n",[196,597,599],{"class":198,"line":598},22,[196,600,601],{},"        panic(err)\n",[196,603,605],{"class":198,"line":604},23,[196,606,607],{},"    }\n",[196,609,611],{"class":198,"line":610},24,[196,612,613],{},"    req.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_API_KEY\"))\n",[196,615,617],{"class":198,"line":616},25,[196,618,619],{},"    req.Header.Set(\"Content-Type\", \"application\u002Fjson\")\n",[196,621,623],{"class":198,"line":622},26,[196,624,309],{"emptyLinePlaceholder":308},[196,626,628],{"class":198,"line":627},27,[196,629,630],{},"    resp, err := http.DefaultClient.Do(req)\n",[196,632,634],{"class":198,"line":633},28,[196,635,595],{},[196,637,639],{"class":198,"line":638},29,[196,640,601],{},[196,642,644],{"class":198,"line":643},30,[196,645,607],{},[196,647,649],{"class":198,"line":648},31,[196,650,651],{},"    defer resp.Body.Close()\n",[196,653,655],{"class":198,"line":654},32,[196,656,309],{"emptyLinePlaceholder":308},[196,658,660],{"class":198,"line":659},33,[196,661,662],{},"    body, _ := io.ReadAll(resp.Body)\n",[196,664,666],{"class":198,"line":665},34,[196,667,668],{},"    fmt.Println(string(body))\n",[196,670,672],{"class":198,"line":671},35,[196,673,481],{},[153,675,676],{},"响应：",[187,678,682],{"className":679,"code":680,"language":681,"meta":192,"style":192},"language-json shiki shiki-themes github-light github-dark","{\n  \"created\": 1234567890,\n  \"data\": [{\"url\": \"https:\u002F\u002F...\"}],\n  \"usage\": {\"output_images\": 1}\n}\n","json",[157,683,684,689,703,722,740],{"__ignoreMap":192},[196,685,686],{"class":198,"line":199},[196,687,688],{"class":223},"{\n",[196,690,691,694,697,700],{"class":198,"line":214},[196,692,693],{"class":210},"  \"created\"",[196,695,696],{"class":223},": ",[196,698,699],{"class":210},"1234567890",[196,701,702],{"class":223},",\n",[196,704,705,708,711,714,716,719],{"class":198,"line":232},[196,706,707],{"class":210},"  \"data\"",[196,709,710],{"class":223},": [{",[196,712,713],{"class":210},"\"url\"",[196,715,696],{"class":223},[196,717,718],{"class":206},"\"https:\u002F\u002F...\"",[196,720,721],{"class":223},"}],\n",[196,723,724,727,730,733,735,738],{"class":198,"line":242},[196,725,726],{"class":210},"  \"usage\"",[196,728,729],{"class":223},": {",[196,731,732],{"class":210},"\"output_images\"",[196,734,696],{"class":223},[196,736,737],{"class":210},"1",[196,739,481],{"class":223},[196,741,742],{"class":198,"line":251},[196,743,481],{"class":223},[745,746,747],"blockquote",{},[153,748,749,752,753,756,757,759],{},[157,750,751],{},"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3"," 即接入域名下的 ",[157,754,755],{},"\u002Fapi\u002Fv3","，对应路由 ",[157,758,174],{},"。",[166,761,763],{"id":762},"文生图gemini-风格契约示例","文生图（Gemini 风格，契约示例）",[153,765,766,767,769],{},"Gemini ",[157,768,159],{}," 风格，适合 Gemini 图像模型。",[771,772,774],"alert",{"type":773},"warning",[153,775,776,777,780],{},"当前模型列表和模型广场暂无公开可发现的 Gemini 图像模型。以下内容仅用于展示请求结构，不能直接执行；",[157,778,779],{},"\u003CMODEL_CALL_NAME>"," 必须替换为模型广场后续发布的真实调用名，请勿猜测模型名称。",[187,782,787],{"className":783,"code":785,"language":786},[784],"language-text","POST \u002Fapi\u002Fv1beta\u002Fmodels\u002F{model}:generateContent\n","text",[157,788,785],{"__ignoreMap":192},[153,790,791,795,796,799,800],{},[792,793,794],"strong",{},"认证："," ",[157,797,798],{},"Authorization: Bearer \u003CAPI_KEY>"," 或 ",[157,801,802],{},"x-api-key: \u003CAPI_KEY>",[187,804,806],{"className":189,"code":805,"language":191,"meta":192,"style":192},"curl https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv1beta\u002Fmodels\u002F\u003CMODEL_CALL_NAME>:generateContent \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"contents\": [\n      {\"role\": \"user\", \"parts\": [{\"text\": \"画一只坐在窗台上的猫\"}]}\n    ],\n    \"generationConfig\": {\n      \"responseModalities\": [\"TEXT\", \"IMAGE\"],\n      \"imageConfig\": {\"aspectRatio\": \"1:1\", \"imageSize\": \"1K\"}\n    }\n  }'\n",[157,807,808,833,845,853,859,864,869,874,879,884,889,893],{"__ignoreMap":192},[196,809,810,812,815,819,822,825,828,831],{"class":198,"line":199},[196,811,203],{"class":202},[196,813,814],{"class":206}," https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv1beta\u002Fmodels\u002F",[196,816,818],{"class":817},"szBVR","\u003C",[196,820,821],{"class":206},"MODEL_CALL_NAM",[196,823,824],{"class":223},"E",[196,826,827],{"class":817},">",[196,829,830],{"class":206},":generateContent",[196,832,211],{"class":210},[196,834,835,837,839,841,843],{"class":198,"line":214},[196,836,217],{"class":210},[196,838,220],{"class":206},[196,840,224],{"class":223},[196,842,227],{"class":206},[196,844,211],{"class":210},[196,846,847,849,851],{"class":198,"line":232},[196,848,217],{"class":210},[196,850,237],{"class":206},[196,852,211],{"class":210},[196,854,855,857],{"class":198,"line":242},[196,856,245],{"class":210},[196,858,248],{"class":206},[196,860,861],{"class":198,"line":251},[196,862,863],{"class":206},"    \"contents\": [\n",[196,865,866],{"class":198,"line":257},[196,867,868],{"class":206},"      {\"role\": \"user\", \"parts\": [{\"text\": \"画一只坐在窗台上的猫\"}]}\n",[196,870,871],{"class":198,"line":263},[196,872,873],{"class":206},"    ],\n",[196,875,876],{"class":198,"line":269},[196,877,878],{"class":206},"    \"generationConfig\": {\n",[196,880,881],{"class":198,"line":275},[196,882,883],{"class":206},"      \"responseModalities\": [\"TEXT\", \"IMAGE\"],\n",[196,885,886],{"class":198,"line":336},[196,887,888],{"class":206},"      \"imageConfig\": {\"aspectRatio\": \"1:1\", \"imageSize\": \"1K\"}\n",[196,890,891],{"class":198,"line":342},[196,892,607],{"class":206},[196,894,895],{"class":198,"line":348},[196,896,278],{"class":206},[153,898,899,900,903],{},"响应保持 Gemini 格式，计费字段在 ",[157,901,902],{},"usageMetadata"," 中。",[166,905,907],{"id":906},"图片编辑图生图","图片编辑（图生图）",[153,909,910,911,913],{},"图生图（图片编辑）接口兼容 OpenAI Images Edits 风格，使用 ",[157,912,163],{}," 上传图片并按提示词编辑。",[171,915],{"method":173,"path":916},"\u002Fapi\u002Fv3\u002Fimages\u002Fedits",[176,918,919],{"id":919},"关键参数",[921,922,923,942],"table",{},[924,925,926],"thead",{},[927,928,929,933,936,939],"tr",{},[930,931,932],"th",{},"参数",[930,934,935],{},"类型",[930,937,938],{},"必填",[930,940,941],{},"说明",[943,944,945,962,981,995,1013,1027,1042],"tbody",{},[927,946,947,953,956,959],{},[948,949,950],"td",{},[157,951,952],{},"model",[948,954,955],{},"string",[948,957,958],{},"是",[948,960,961],{},"模型调用名；必须从模型广场或模型列表获取",[927,963,964,969,972,974],{},[948,965,966],{},[157,967,968],{},"image",[948,970,971],{},"file",[948,973,958],{},[948,975,976,977,980],{},"输入图片，最多 16 张（重复传入 ",[157,978,979],{},"image=@...","）",[927,982,983,988,990,992],{},[948,984,985],{},[157,986,987],{},"prompt",[948,989,955],{},[948,991,958],{},[948,993,994],{},"编辑指令",[927,996,997,1002,1004,1007],{},[948,998,999],{},[157,1000,1001],{},"size",[948,1003,955],{},[948,1005,1006],{},"否",[948,1008,1009,1010],{},"尺寸，如 ",[157,1011,1012],{},"1024x1024",[927,1014,1015,1020,1022,1024],{},[948,1016,1017],{},[157,1018,1019],{},"mask",[948,1021,971],{},[948,1023,1006],{},[948,1025,1026],{},"蒙版图",[927,1028,1029,1034,1037,1039],{},[948,1030,1031],{},[157,1032,1033],{},"n",[948,1035,1036],{},"integer",[948,1038,1006],{},[948,1040,1041],{},"输出图片数量",[927,1043,1044,1049,1052,1054],{},[948,1045,1046],{},[157,1047,1048],{},"stream",[948,1050,1051],{},"boolean",[948,1053,1006],{},[948,1055,1056],{},"模型透传字段，当前不属于统一 OpenAPI 契约；是否支持以后续公开模型为准",[176,1058,1060],{"id":1059},"openapi-契约说明","OpenAPI 契约说明",[153,1062,1063,1064,1067,1068,1071,1072,1075],{},"图片编辑 v1 和 v3 在 OpenAPI 中共用 ",[157,1065,1066],{},"#\u002Fcomponents\u002FrequestBodies\u002FImageEdit"," 请求体，并继续引用 ",[157,1069,1070],{},"#\u002Fcomponents\u002Fschemas\u002FImageEditRequest"," 定义字段。读取或生成 SDK 时需要递归解析本地 ",[157,1073,1074],{},"$ref","；字段没有直接内联在接口节点下，不代表请求体缺失。",[153,1077,1078,1079,1081,1082,1084,1085,1087,1088,1090,1091,1093],{},"解析后的请求体为必填的 ",[157,1080,163],{},"，其中 ",[157,1083,952],{},"、",[157,1086,987],{}," 和 ",[157,1089,968],{}," 必填，",[157,1092,968],{}," 为单个或多个二进制文件。",[176,1095,178],{"id":1096},"示例-1",[771,1098,1099],{"type":773},[153,1100,1101,1102,780],{},"当前模型列表和模型广场暂未公开可发现的图片编辑模型。以下内容是请求结构示例，不能直接执行；",[157,1103,779],{},[187,1105,1107],{"className":189,"code":1106,"language":191,"meta":192,"style":192},"curl https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\u002Fimages\u002Fedits \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\" \\\n  -F \"model=\u003CMODEL_CALL_NAME>\" \\\n  -F \"image=@photo.png\" \\\n  -F \"prompt=给图片加上一些装饰文字\" \\\n  -F \"size=1024x1024\"\n",[157,1108,1109,1118,1130,1140,1149,1158],{"__ignoreMap":192},[196,1110,1111,1113,1116],{"class":198,"line":199},[196,1112,203],{"class":202},[196,1114,1115],{"class":206}," https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\u002Fimages\u002Fedits",[196,1117,211],{"class":210},[196,1119,1120,1122,1124,1126,1128],{"class":198,"line":214},[196,1121,217],{"class":210},[196,1123,220],{"class":206},[196,1125,224],{"class":223},[196,1127,227],{"class":206},[196,1129,211],{"class":210},[196,1131,1132,1135,1138],{"class":198,"line":232},[196,1133,1134],{"class":210},"  -F",[196,1136,1137],{"class":206}," \"model=\u003CMODEL_CALL_NAME>\"",[196,1139,211],{"class":210},[196,1141,1142,1144,1147],{"class":198,"line":242},[196,1143,1134],{"class":210},[196,1145,1146],{"class":206}," \"image=@photo.png\"",[196,1148,211],{"class":210},[196,1150,1151,1153,1156],{"class":198,"line":251},[196,1152,1134],{"class":210},[196,1154,1155],{"class":206}," \"prompt=给图片加上一些装饰文字\"",[196,1157,211],{"class":210},[196,1159,1160,1162],{"class":198,"line":257},[196,1161,1134],{"class":210},[196,1163,1164],{"class":206}," \"size=1024x1024\"\n",[153,1166,1167,1084,1170,1173],{},[157,1168,1169],{},"background",[157,1171,1172],{},"partial_images"," 等字段属于模型透传字段，当前不属于统一 OpenAPI 契约。是否支持以后续公开模型的详情为准。",[166,1175,1176],{"id":1176},"上传限制",[153,1178,1179,1180,1183,1184,1187],{},"请求体大小不超过 64 MB。超出返回 ",[157,1181,1182],{},"413","（",[157,1185,1186],{},"REQUEST_TOO_LARGE","）。",[166,1189,1190],{"id":1190},"可用模型",[153,1192,1193,1194,1197,1198,1203],{},"当前可直接使用的样例模型：",[157,1195,1196],{},"doubao-seedream-5-0-260128","（Seedream）。Gemini 图像模型与图片编辑模型暂无公开可发现的调用名，可用调用名必须以",[1199,1200,1202],"a",{"href":1201},"\u002Fzh-cn\u002Fmodels","模型广场","或模型列表接口为准。",[166,1205,1206],{"id":1206},"计费",[153,1208,1209,1210,1212],{},"文生图和图生图均按生成张数计费，当前单价请在",[1199,1211,1202],{"href":1201},"打开对应模型详情查看。",[1214,1215,1216],"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);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":192,"searchDepth":214,"depth":214,"links":1218},[1219,1222,1223,1228,1229,1230],{"id":168,"depth":214,"text":169,"children":1220},[1221],{"id":178,"depth":232,"text":178},{"id":762,"depth":214,"text":763},{"id":906,"depth":214,"text":907,"children":1224},[1225,1226,1227],{"id":919,"depth":232,"text":919},{"id":1059,"depth":232,"text":1060},{"id":1096,"depth":232,"text":178},{"id":1176,"depth":214,"text":1176},{"id":1190,"depth":214,"text":1190},{"id":1206,"depth":214,"text":1206},"使用 OpenAI Images 或 Gemini 兼容格式生成或编辑图片。","md",{},"---\ntitle: 图片生成接口\ndescription: 使用 OpenAI Images 或 Gemini 兼容格式生成或编辑图片。\n---\n\n# 图片生成接口\n\n文生图接口根据模型分为两种风格：OpenAI Images API 风格（豆包 Seedream）和 Gemini `generateContent` 风格；图片编辑使用 `multipart\u002Fform-data` 上传原图。\n\n## 文生图（OpenAI 风格，Seedream）\n\n::api-endpoint{path=\"\u002Fapi\u002Fv3\u002Fimages\u002Fgenerations\" method=\"POST\"}\n::\n\n### 示例\n\n::code-tabs\n:::code-tab{label=\"cURL\"}\n```bash\ncurl https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\u002Fimages\u002Fgenerations \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"doubao-seedream-5-0-260128\",\n    \"prompt\": \"一只戴墨镜的柴犬坐在咖啡馆里\",\n    \"size\": \"2048x2048\",\n    \"n\": 1\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\u002Fsilvamux.io\u002Fapi\u002Fv3\",\n)\n\nresult = client.images.generate(\n    model=\"doubao-seedream-5-0-260128\",\n    prompt=\"一只戴墨镜的柴犬坐在咖啡馆里\",\n    size=\"2048x2048\",\n    n=1,\n)\n\nfor item in result.data:\n    print(item.url)\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\u002Fsilvamux.io\u002Fapi\u002Fv3\",\n});\n\nconst result = await client.images.generate({\n  model: \"doubao-seedream-5-0-260128\",\n  prompt: \"一只戴墨镜的柴犬坐在咖啡馆里\",\n  size: \"2048x2048\",\n  n: 1,\n});\n\nfor (const item of result.data) {\n  console.log(item.url);\n}\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\": \"doubao-seedream-5-0-260128\",\n\t\t\"prompt\": \"一只戴墨镜的柴犬坐在咖啡馆里\",\n\t\t\"size\": \"2048x2048\",\n\t\t\"n\": 1\n\t}`)\n\n\treq, err := http.NewRequest(\"POST\", \"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\u002Fimages\u002Fgenerations\", 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```json\n{\n  \"created\": 1234567890,\n  \"data\": [{\"url\": \"https:\u002F\u002F...\"}],\n  \"usage\": {\"output_images\": 1}\n}\n```\n\n> `https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3` 即接入域名下的 `\u002Fapi\u002Fv3`，对应路由 `\u002Fapi\u002Fv3\u002Fimages\u002Fgenerations`。\n\n## 文生图（Gemini 风格，契约示例）\n\nGemini `generateContent` 风格，适合 Gemini 图像模型。\n\n::alert{type=\"warning\"}\n当前模型列表和模型广场暂无公开可发现的 Gemini 图像模型。以下内容仅用于展示请求结构，不能直接执行；`\u003CMODEL_CALL_NAME>` 必须替换为模型广场后续发布的真实调用名，请勿猜测模型名称。\n::\n\n```\nPOST \u002Fapi\u002Fv1beta\u002Fmodels\u002F{model}:generateContent\n```\n\n**认证：** `Authorization: Bearer \u003CAPI_KEY>` 或 `x-api-key: \u003CAPI_KEY>`\n\n```bash\ncurl https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv1beta\u002Fmodels\u002F\u003CMODEL_CALL_NAME>:generateContent \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"contents\": [\n      {\"role\": \"user\", \"parts\": [{\"text\": \"画一只坐在窗台上的猫\"}]}\n    ],\n    \"generationConfig\": {\n      \"responseModalities\": [\"TEXT\", \"IMAGE\"],\n      \"imageConfig\": {\"aspectRatio\": \"1:1\", \"imageSize\": \"1K\"}\n    }\n  }'\n```\n\n响应保持 Gemini 格式，计费字段在 `usageMetadata` 中。\n\n## 图片编辑（图生图）\n\n图生图（图片编辑）接口兼容 OpenAI Images Edits 风格，使用 `multipart\u002Fform-data` 上传图片并按提示词编辑。\n\n::api-endpoint{path=\"\u002Fapi\u002Fv3\u002Fimages\u002Fedits\" method=\"POST\"}\n::\n\n### 关键参数\n\n| 参数 | 类型 | 必填 | 说明 |\n| --- | --- | --- | --- |\n| `model` | string | 是 | 模型调用名；必须从模型广场或模型列表获取 |\n| `image` | file | 是 | 输入图片，最多 16 张（重复传入 `image=@...`） |\n| `prompt` | string | 是 | 编辑指令 |\n| `size` | string | 否 | 尺寸，如 `1024x1024` |\n| `mask` | file | 否 | 蒙版图 |\n| `n` | integer | 否 | 输出图片数量 |\n| `stream` | boolean | 否 | 模型透传字段，当前不属于统一 OpenAPI 契约；是否支持以后续公开模型为准 |\n\n### OpenAPI 契约说明\n\n图片编辑 v1 和 v3 在 OpenAPI 中共用 `#\u002Fcomponents\u002FrequestBodies\u002FImageEdit` 请求体，并继续引用 `#\u002Fcomponents\u002Fschemas\u002FImageEditRequest` 定义字段。读取或生成 SDK 时需要递归解析本地 `$ref`；字段没有直接内联在接口节点下，不代表请求体缺失。\n\n解析后的请求体为必填的 `multipart\u002Fform-data`，其中 `model`、`prompt` 和 `image` 必填，`image` 为单个或多个二进制文件。\n\n### 示例\n\n::alert{type=\"warning\"}\n当前模型列表和模型广场暂未公开可发现的图片编辑模型。以下内容是请求结构示例，不能直接执行；`\u003CMODEL_CALL_NAME>` 必须替换为模型广场后续发布的真实调用名，请勿猜测模型名称。\n::\n\n```bash\ncurl https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\u002Fimages\u002Fedits \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\" \\\n  -F \"model=\u003CMODEL_CALL_NAME>\" \\\n  -F \"image=@photo.png\" \\\n  -F \"prompt=给图片加上一些装饰文字\" \\\n  -F \"size=1024x1024\"\n```\n\n`background`、`partial_images` 等字段属于模型透传字段，当前不属于统一 OpenAPI 契约。是否支持以后续公开模型的详情为准。\n\n## 上传限制\n\n请求体大小不超过 64 MB。超出返回 `413`（`REQUEST_TOO_LARGE`）。\n\n## 可用模型\n\n当前可直接使用的样例模型：`doubao-seedream-5-0-260128`（Seedream）。Gemini 图像模型与图片编辑模型暂无公开可发现的调用名，可用调用名必须以[模型广场](\u002Fzh-cn\u002Fmodels)或模型列表接口为准。\n\n## 计费\n\n文生图和图生图均按生成张数计费，当前单价请在[模型广场](\u002Fzh-cn\u002Fmodels)打开对应模型详情查看。\n",[],{"title":116,"description":1231},"NgG7QxH0VJRjhyf5pjOrBjnGJc0-OWLS-I4G3cb6AIg",{"found":308,"operationId":1239,"summary":108,"description":192,"method":173,"path":174,"publiclyDiscoverable":308,"security":1240,"parameters":1244,"requestBody":1245,"responses":1258},"createImageV3",{"schemes":1241,"optional":43},[1242,1243],"BearerAuth","ApiKeyAuth",[],{"present":308,"required":308,"description":192,"contentType":1246,"type":1247,"fields":1248,"variants":1257},"application\u002Fjson","ImageGenerationRequest",[1249,1251,1252,1253,1255],{"name":952,"type":955,"required":308,"description":1250},"从模型广场选择支持当前图片接口的模型并复制调用名。",{"name":1033,"type":1036,"required":43,"description":192},{"name":987,"type":955,"required":308,"description":192},{"name":1254,"type":955,"required":43,"description":192},"response_format",{"name":1001,"type":955,"required":43,"description":1256},"可用尺寸由模型决定；Seedream 5.0 的首次调用示例使用 2048x2048。",[],[1259,1275],{"status":1260,"description":1261,"contentType":1246,"type":1262,"fields":1263},"200","图片生成或编辑响应。","ImageResponse",[1264,1267,1270,1272],{"name":1265,"type":1266,"required":43,"description":192},"created","integer (int64)",{"name":1268,"type":1269,"required":43,"description":192},"data","array\u003Cobject>",{"name":1271,"type":955,"required":43,"description":192},"data.b64_json",{"name":1273,"type":1274,"required":43,"description":192},"data.url","string (uri)",{"status":1276,"description":1277,"contentType":1246,"type":1278,"fields":1279},"default","Volcengine 兼容错误。","VolcengineError",[1280],{"name":1281,"type":1282,"required":43,"description":192},"error","FreeFormObject",{"found":308,"operationId":1284,"summary":1285,"description":1286,"method":173,"path":916,"publiclyDiscoverable":43,"security":1287,"parameters":1289,"requestBody":1290,"responses":1303},"editImageV3","编辑图片（Volcengine v3）","使用 multipart\u002Fform-data 上传图片；请求体通过 #\u002Fcomponents\u002FrequestBodies\u002FImageEdit 定义，解析后 model、prompt 和 image 为必填字段。",{"schemes":1288,"optional":43},[1242,1243],[],{"present":308,"required":308,"description":1291,"contentType":163,"type":1292,"fields":1293,"variants":1302},"图片编辑 v1\u002Fv3 共用的必填请求体。Content-Type 为 multipart\u002Fform-data；继续解析 ImageEditRequest 可获得 model、prompt、image 等字段。","ImageEditRequest",[1294,1296,1298,1299,1300,1301],{"name":968,"type":1295,"required":308,"description":192},"string (binary) | array\u003Cstring (binary)>",{"name":1019,"type":1297,"required":43,"description":192},"string (binary)",{"name":952,"type":955,"required":308,"description":192},{"name":1033,"type":1036,"required":43,"description":192},{"name":987,"type":955,"required":308,"description":192},{"name":1001,"type":955,"required":43,"description":192},[],[1304,1310],{"status":1260,"description":1261,"contentType":1246,"type":1262,"fields":1305},[1306,1307,1308,1309],{"name":1265,"type":1266,"required":43,"description":192},{"name":1268,"type":1269,"required":43,"description":192},{"name":1271,"type":955,"required":43,"description":192},{"name":1273,"type":1274,"required":43,"description":192},{"status":1276,"description":1311,"contentType":1246,"type":1312,"fields":1313},"OpenAI 兼容错误。","OpenAIError",[1314,1316,1319,1321],{"name":1281,"type":1315,"required":308,"description":192},"object",{"name":1317,"type":1318,"required":43,"description":192},"error.code","string | integer",{"name":1320,"type":955,"required":308,"description":192},"error.message",{"name":1322,"type":955,"required":43,"description":192},"error.type"]