[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-nav-en":3,"docs-en-models\u002Fimages\u002Fgeneration":144,"$fn4JeKmPd8Sepq-Kg0V7ERb4D67F9Ox-H0VJFkyTWoXI":1242,"$fsZhaBBTwy8wMBMUCs3aiA6GUVinNEI_xpFs7KcseEEI":1288},[4,52,69,119,136,140],{"title":5,"path":6,"stem":7,"children":8,"page":-1},"Getting Started","\u002Fgetting-started","1.getting-started",[9,12,30,44,48],{"title":10,"path":6,"stem":11},"About SilvaMux","1.getting-started\u002Findex",{"title":13,"path":14,"stem":15,"children":16,"page":-1},"Your First SilvaMux API Call","\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},"Projects & Account Setup","\u002Fgetting-started\u002Fquick-start\u002Fproject-and-account","1.getting-started\u002F1.quick-start\u002F2.project-and-account",{"title":23,"path":24,"stem":25},"Get an API Key","\u002Fgetting-started\u002Fquick-start\u002Fapi-key","1.getting-started\u002F1.quick-start\u002F3.api-key",{"title":27,"path":28,"stem":29},"First Request","\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},"Models & Experience","\u002Fgetting-started\u002Fmodels-and-experience","1.getting-started\u002F2.models-and-experience",[35,39],{"title":36,"path":37,"stem":38},"Model Selection","\u002Fgetting-started\u002Fmodels-and-experience\u002Fmodel-selection","1.getting-started\u002F2.models-and-experience\u002F1.model-selection",{"title":40,"path":41,"stem":42},"Playground","\u002Fgetting-started\u002Fmodels-and-experience\u002Fplayground","1.getting-started\u002F2.models-and-experience\u002F2.playground",false,{"title":45,"path":46,"stem":47},"Rate Limits","\u002Fgetting-started\u002Frate-limits","1.getting-started\u002F3.rate-limits",{"title":49,"path":50,"stem":51},"FAQ","\u002Fgetting-started\u002Ffaq","1.getting-started\u002F4.faq",{"title":53,"path":54,"stem":55,"children":56,"page":43},"Billing","\u002Fbilling","2.billing",[57,61,65],{"title":58,"path":59,"stem":60},"Billing Overview","\u002Fbilling\u002Foverview","2.billing\u002F1.overview",{"title":62,"path":63,"stem":64},"Online Top-up","\u002Fbilling\u002Frecharge","2.billing\u002F2.recharge",{"title":66,"path":67,"stem":68},"Bills, Usage & Exports","\u002Fbilling\u002Fusage-export","2.billing\u002F3.usage-export",{"title":70,"path":71,"stem":72,"children":73,"page":43},"Model APIs","\u002Fmodels","4.models",[74,107],{"title":75,"path":76,"stem":77,"children":78,"page":43},"Text Generation","\u002Fmodels\u002Fchat","4.models\u002F1.chat",[79,83,87,91,95,99,103],{"title":80,"path":81,"stem":82},"Overview","\u002Fmodels\u002Fchat\u002Foverview","4.models\u002F1.chat\u002F1.overview",{"title":84,"path":85,"stem":86},"OpenAI Compatible API","\u002Fmodels\u002Fchat\u002Fopenai","4.models\u002F1.chat\u002F2.openai",{"title":88,"path":89,"stem":90},"Anthropic Compatible","\u002Fmodels\u002Fchat\u002Fanthropic","4.models\u002F1.chat\u002F3.anthropic",{"title":92,"path":93,"stem":94},"Volcengine Compatible","\u002Fmodels\u002Fchat\u002Fvolcengine","4.models\u002F1.chat\u002F4.volcengine",{"title":96,"path":97,"stem":98},"Zhipu Compatible","\u002Fmodels\u002Fchat\u002Fzhipu","4.models\u002F1.chat\u002F5.zhipu",{"title":100,"path":101,"stem":102},"SilvaMux Unified Entry","\u002Fmodels\u002Fchat\u002Funified","4.models\u002F1.chat\u002F6.unified",{"title":104,"path":105,"stem":106},"Multimodal Input","\u002Fmodels\u002Fchat\u002Fmultimodal","4.models\u002F1.chat\u002F7.multimodal",{"title":108,"path":109,"stem":110,"children":111,"page":43},"Image Generation","\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},"Image Generation API","\u002Fmodels\u002Fimages\u002Fgeneration","4.models\u002F2.images\u002F2.generation",{"title":120,"path":121,"stem":122,"children":123,"page":43},"Usage & Balance","\u002Fusage-and-balance","5.usage-and-balance",[124,128,132],{"title":125,"path":126,"stem":127},"Query Balance","\u002Fusage-and-balance\u002Fbalance","5.usage-and-balance\u002F1.balance",{"title":129,"path":130,"stem":131},"Query Usage","\u002Fusage-and-balance\u002Fusage","5.usage-and-balance\u002F2.usage",{"title":133,"path":134,"stem":135},"Query Request Usage","\u002Fusage-and-balance\u002Frequest-usage","5.usage-and-balance\u002F3.request-usage",{"title":137,"path":138,"stem":139},"Error Codes","\u002Ferrors","6.errors",{"title":141,"path":142,"stem":143},"Documentation","\u002F","index",{"id":145,"title":116,"body":146,"description":1235,"extension":1236,"meta":1237,"navigation":310,"path":117,"rawbody":1238,"requiredFlags":1239,"seo":1240,"stem":118,"__hash__":1241},"docs_en\u002F4.models\u002F2.images\u002F2.generation.md",{"type":147,"value":148,"toc":1221},"minimark",[149,153,166,171,176,181,676,679,746,761,765,771,782,790,804,898,904,908,914,917,921,1058,1062,1077,1095,1098,1105,1166,1177,1181,1192,1196,1209,1212,1217],[150,151,116],"h1",{"id":152},"image-generation-api",[154,155,156,157,161,162,165],"p",{},"Text-to-image APIs come in two styles depending on the model: the OpenAI Images API style (Doubao Seedream) and the Gemini ",[158,159,160],"code",{},"generateContent"," style; image editing uploads the original image via ",[158,163,164],{},"multipart\u002Fform-data",".",[167,168,170],"h2",{"id":169},"text-to-image-openai-style-seedream","Text-to-Image (OpenAI Style, Seedream)",[172,173],"api-endpoint",{"method":174,"path":175},"POST","\u002Fapi\u002Fv3\u002Fimages\u002Fgenerations",[177,178,180],"h3",{"id":179},"examples","Examples",[182,183,184,281,388,484],"code-tabs",{},[185,186,188],"code-tab",{"label":187},"cURL",[189,190,195],"pre",{"className":191,"code":192,"language":193,"meta":194,"style":194},"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\": \"A shiba inu wearing sunglasses sitting in a café\",\n    \"size\": \"2048x2048\",\n    \"n\": 1\n  }'\n","bash","",[158,196,197,214,232,242,251,257,263,269,275],{"__ignoreMap":194},[198,199,202,206,210],"span",{"class":200,"line":201},"line",1,[198,203,205],{"class":204},"sScJk","curl",[198,207,209],{"class":208},"sZZnC"," https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\u002Fimages\u002Fgenerations",[198,211,213],{"class":212},"sj4cs"," \\\n",[198,215,217,220,223,227,230],{"class":200,"line":216},2,[198,218,219],{"class":212},"  -H",[198,221,222],{"class":208}," \"Authorization: Bearer ",[198,224,226],{"class":225},"sVt8B","$SILVAMUX_API_KEY",[198,228,229],{"class":208},"\"",[198,231,213],{"class":212},[198,233,235,237,240],{"class":200,"line":234},3,[198,236,219],{"class":212},[198,238,239],{"class":208}," \"Content-Type: application\u002Fjson\"",[198,241,213],{"class":212},[198,243,245,248],{"class":200,"line":244},4,[198,246,247],{"class":212},"  -d",[198,249,250],{"class":208}," '{\n",[198,252,254],{"class":200,"line":253},5,[198,255,256],{"class":208},"    \"model\": \"doubao-seedream-5-0-260128\",\n",[198,258,260],{"class":200,"line":259},6,[198,261,262],{"class":208},"    \"prompt\": \"A shiba inu wearing sunglasses sitting in a café\",\n",[198,264,266],{"class":200,"line":265},7,[198,267,268],{"class":208},"    \"size\": \"2048x2048\",\n",[198,270,272],{"class":200,"line":271},8,[198,273,274],{"class":208},"    \"n\": 1\n",[198,276,278],{"class":200,"line":277},9,[198,279,280],{"class":208},"  }'\n",[185,282,284],{"label":283},"Python",[189,285,289],{"className":286,"code":287,"language":288,"meta":194,"style":194},"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=\"A shiba inu wearing sunglasses sitting in a café\",\n    size=\"2048x2048\",\n    n=1,\n)\n\nfor item in result.data:\n    print(item.url)\n","python",[158,290,291,296,301,306,312,317,322,327,332,336,342,348,354,360,366,371,376,382],{"__ignoreMap":194},[198,292,293],{"class":200,"line":201},[198,294,295],{},"# pip install openai\n",[198,297,298],{"class":200,"line":216},[198,299,300],{},"import os\n",[198,302,303],{"class":200,"line":234},[198,304,305],{},"from openai import OpenAI\n",[198,307,308],{"class":200,"line":244},[198,309,311],{"emptyLinePlaceholder":310},true,"\n",[198,313,314],{"class":200,"line":253},[198,315,316],{},"client = OpenAI(\n",[198,318,319],{"class":200,"line":259},[198,320,321],{},"    api_key=os.environ[\"SILVAMUX_API_KEY\"],\n",[198,323,324],{"class":200,"line":265},[198,325,326],{},"    base_url=\"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\",\n",[198,328,329],{"class":200,"line":271},[198,330,331],{},")\n",[198,333,334],{"class":200,"line":277},[198,335,311],{"emptyLinePlaceholder":310},[198,337,339],{"class":200,"line":338},10,[198,340,341],{},"result = client.images.generate(\n",[198,343,345],{"class":200,"line":344},11,[198,346,347],{},"    model=\"doubao-seedream-5-0-260128\",\n",[198,349,351],{"class":200,"line":350},12,[198,352,353],{},"    prompt=\"A shiba inu wearing sunglasses sitting in a café\",\n",[198,355,357],{"class":200,"line":356},13,[198,358,359],{},"    size=\"2048x2048\",\n",[198,361,363],{"class":200,"line":362},14,[198,364,365],{},"    n=1,\n",[198,367,369],{"class":200,"line":368},15,[198,370,331],{},[198,372,374],{"class":200,"line":373},16,[198,375,311],{"emptyLinePlaceholder":310},[198,377,379],{"class":200,"line":378},17,[198,380,381],{},"for item in result.data:\n",[198,383,385],{"class":200,"line":384},18,[198,386,387],{},"    print(item.url)\n",[185,389,391],{"label":390},"JavaScript",[189,392,396],{"className":393,"code":394,"language":395,"meta":194,"style":194},"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: \"A shiba inu wearing sunglasses sitting in a café\",\n  size: \"2048x2048\",\n  n: 1,\n});\n\nfor (const item of result.data) {\n  console.log(item.url);\n}\n","javascript",[158,397,398,403,408,412,417,422,427,432,436,441,446,451,456,461,465,469,474,479],{"__ignoreMap":194},[198,399,400],{"class":200,"line":201},[198,401,402],{},"\u002F\u002F npm install openai\n",[198,404,405],{"class":200,"line":216},[198,406,407],{},"import OpenAI from \"openai\";\n",[198,409,410],{"class":200,"line":234},[198,411,311],{"emptyLinePlaceholder":310},[198,413,414],{"class":200,"line":244},[198,415,416],{},"const client = new OpenAI({\n",[198,418,419],{"class":200,"line":253},[198,420,421],{},"  apiKey: process.env.SILVAMUX_API_KEY,\n",[198,423,424],{"class":200,"line":259},[198,425,426],{},"  baseURL: \"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\",\n",[198,428,429],{"class":200,"line":265},[198,430,431],{},"});\n",[198,433,434],{"class":200,"line":271},[198,435,311],{"emptyLinePlaceholder":310},[198,437,438],{"class":200,"line":277},[198,439,440],{},"const result = await client.images.generate({\n",[198,442,443],{"class":200,"line":338},[198,444,445],{},"  model: \"doubao-seedream-5-0-260128\",\n",[198,447,448],{"class":200,"line":344},[198,449,450],{},"  prompt: \"A shiba inu wearing sunglasses sitting in a café\",\n",[198,452,453],{"class":200,"line":350},[198,454,455],{},"  size: \"2048x2048\",\n",[198,457,458],{"class":200,"line":356},[198,459,460],{},"  n: 1,\n",[198,462,463],{"class":200,"line":362},[198,464,431],{},[198,466,467],{"class":200,"line":368},[198,468,311],{"emptyLinePlaceholder":310},[198,470,471],{"class":200,"line":373},[198,472,473],{},"for (const item of result.data) {\n",[198,475,476],{"class":200,"line":378},[198,477,478],{},"  console.log(item.url);\n",[198,480,481],{"class":200,"line":384},[198,482,483],{},"}\n",[185,485,487],{"label":486},"Go",[189,488,492],{"className":489,"code":490,"language":491,"meta":194,"style":194},"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\": \"doubao-seedream-5-0-260128\",\n        \"prompt\": \"A shiba inu wearing sunglasses sitting in a café\",\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",[158,493,494,499,504,508,513,518,523,528,533,538,542,546,551,556,561,566,571,576,581,586,592,598,604,610,616,622,627,633,638,643,648,654,659,665,671],{"__ignoreMap":194},[198,495,496],{"class":200,"line":201},[198,497,498],{},"\u002F\u002F Standard library only\n",[198,500,501],{"class":200,"line":216},[198,502,503],{},"package main\n",[198,505,506],{"class":200,"line":234},[198,507,311],{"emptyLinePlaceholder":310},[198,509,510],{"class":200,"line":244},[198,511,512],{},"import (\n",[198,514,515],{"class":200,"line":253},[198,516,517],{},"    \"bytes\"\n",[198,519,520],{"class":200,"line":259},[198,521,522],{},"    \"fmt\"\n",[198,524,525],{"class":200,"line":265},[198,526,527],{},"    \"io\"\n",[198,529,530],{"class":200,"line":271},[198,531,532],{},"    \"net\u002Fhttp\"\n",[198,534,535],{"class":200,"line":277},[198,536,537],{},"    \"os\"\n",[198,539,540],{"class":200,"line":338},[198,541,331],{},[198,543,544],{"class":200,"line":344},[198,545,311],{"emptyLinePlaceholder":310},[198,547,548],{"class":200,"line":350},[198,549,550],{},"func main() {\n",[198,552,553],{"class":200,"line":356},[198,554,555],{},"    payload := []byte(`{\n",[198,557,558],{"class":200,"line":362},[198,559,560],{},"        \"model\": \"doubao-seedream-5-0-260128\",\n",[198,562,563],{"class":200,"line":368},[198,564,565],{},"        \"prompt\": \"A shiba inu wearing sunglasses sitting in a café\",\n",[198,567,568],{"class":200,"line":373},[198,569,570],{},"        \"size\": \"2048x2048\",\n",[198,572,573],{"class":200,"line":378},[198,574,575],{},"        \"n\": 1\n",[198,577,578],{"class":200,"line":384},[198,579,580],{},"    }`)\n",[198,582,584],{"class":200,"line":583},19,[198,585,311],{"emptyLinePlaceholder":310},[198,587,589],{"class":200,"line":588},20,[198,590,591],{},"    req, err := http.NewRequest(\"POST\", \"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\u002Fimages\u002Fgenerations\", bytes.NewReader(payload))\n",[198,593,595],{"class":200,"line":594},21,[198,596,597],{},"    if err != nil {\n",[198,599,601],{"class":200,"line":600},22,[198,602,603],{},"        panic(err)\n",[198,605,607],{"class":200,"line":606},23,[198,608,609],{},"    }\n",[198,611,613],{"class":200,"line":612},24,[198,614,615],{},"    req.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_API_KEY\"))\n",[198,617,619],{"class":200,"line":618},25,[198,620,621],{},"    req.Header.Set(\"Content-Type\", \"application\u002Fjson\")\n",[198,623,625],{"class":200,"line":624},26,[198,626,311],{"emptyLinePlaceholder":310},[198,628,630],{"class":200,"line":629},27,[198,631,632],{},"    resp, err := http.DefaultClient.Do(req)\n",[198,634,636],{"class":200,"line":635},28,[198,637,597],{},[198,639,641],{"class":200,"line":640},29,[198,642,603],{},[198,644,646],{"class":200,"line":645},30,[198,647,609],{},[198,649,651],{"class":200,"line":650},31,[198,652,653],{},"    defer resp.Body.Close()\n",[198,655,657],{"class":200,"line":656},32,[198,658,311],{"emptyLinePlaceholder":310},[198,660,662],{"class":200,"line":661},33,[198,663,664],{},"    body, _ := io.ReadAll(resp.Body)\n",[198,666,668],{"class":200,"line":667},34,[198,669,670],{},"    fmt.Println(string(body))\n",[198,672,674],{"class":200,"line":673},35,[198,675,483],{},[154,677,678],{},"Response:",[189,680,684],{"className":681,"code":682,"language":683,"meta":194,"style":194},"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",[158,685,686,691,705,724,742],{"__ignoreMap":194},[198,687,688],{"class":200,"line":201},[198,689,690],{"class":225},"{\n",[198,692,693,696,699,702],{"class":200,"line":216},[198,694,695],{"class":212},"  \"created\"",[198,697,698],{"class":225},": ",[198,700,701],{"class":212},"1234567890",[198,703,704],{"class":225},",\n",[198,706,707,710,713,716,718,721],{"class":200,"line":234},[198,708,709],{"class":212},"  \"data\"",[198,711,712],{"class":225},": [{",[198,714,715],{"class":212},"\"url\"",[198,717,698],{"class":225},[198,719,720],{"class":208},"\"https:\u002F\u002F...\"",[198,722,723],{"class":225},"}],\n",[198,725,726,729,732,735,737,740],{"class":200,"line":244},[198,727,728],{"class":212},"  \"usage\"",[198,730,731],{"class":225},": {",[198,733,734],{"class":212},"\"output_images\"",[198,736,698],{"class":225},[198,738,739],{"class":212},"1",[198,741,483],{"class":225},[198,743,744],{"class":200,"line":253},[198,745,483],{"class":225},[747,748,749],"blockquote",{},[154,750,751,754,755,758,759,165],{},[158,752,753],{},"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3"," is the ",[158,756,757],{},"\u002Fapi\u002Fv3"," path under the access domain, routing to ",[158,760,175],{},[167,762,764],{"id":763},"text-to-image-gemini-style-contract-example","Text-to-Image (Gemini Style, Contract Example)",[154,766,767,768,770],{},"Gemini ",[158,769,160],{}," style, for Gemini image models.",[772,773,775],"alert",{"type":774},"warning",[154,776,777,778,781],{},"There are currently no publicly discoverable Gemini image models in the model list or the Model Plaza. The content below only illustrates the request structure and cannot be executed directly; ",[158,779,780],{},"\u003CMODEL_CALL_NAME>"," must be replaced with a real call name published later on the Model Plaza — do not guess model names.",[189,783,788],{"className":784,"code":786,"language":787},[785],"language-text","POST \u002Fapi\u002Fv1beta\u002Fmodels\u002F{model}:generateContent\n","text",[158,789,786],{"__ignoreMap":194},[154,791,792,796,797,800,801],{},[793,794,795],"strong",{},"Authentication:"," ",[158,798,799],{},"Authorization: Bearer \u003CAPI_KEY>"," or ",[158,802,803],{},"x-api-key: \u003CAPI_KEY>",[189,805,807],{"className":191,"code":806,"language":193,"meta":194,"style":194},"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\": \"Draw a cat sitting on a windowsill\"}]}\n    ],\n    \"generationConfig\": {\n      \"responseModalities\": [\"TEXT\", \"IMAGE\"],\n      \"imageConfig\": {\"aspectRatio\": \"1:1\", \"imageSize\": \"1K\"}\n    }\n  }'\n",[158,808,809,834,846,854,860,865,870,875,880,885,890,894],{"__ignoreMap":194},[198,810,811,813,816,820,823,826,829,832],{"class":200,"line":201},[198,812,205],{"class":204},[198,814,815],{"class":208}," https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv1beta\u002Fmodels\u002F",[198,817,819],{"class":818},"szBVR","\u003C",[198,821,822],{"class":208},"MODEL_CALL_NAM",[198,824,825],{"class":225},"E",[198,827,828],{"class":818},">",[198,830,831],{"class":208},":generateContent",[198,833,213],{"class":212},[198,835,836,838,840,842,844],{"class":200,"line":216},[198,837,219],{"class":212},[198,839,222],{"class":208},[198,841,226],{"class":225},[198,843,229],{"class":208},[198,845,213],{"class":212},[198,847,848,850,852],{"class":200,"line":234},[198,849,219],{"class":212},[198,851,239],{"class":208},[198,853,213],{"class":212},[198,855,856,858],{"class":200,"line":244},[198,857,247],{"class":212},[198,859,250],{"class":208},[198,861,862],{"class":200,"line":253},[198,863,864],{"class":208},"    \"contents\": [\n",[198,866,867],{"class":200,"line":259},[198,868,869],{"class":208},"      {\"role\": \"user\", \"parts\": [{\"text\": \"Draw a cat sitting on a windowsill\"}]}\n",[198,871,872],{"class":200,"line":265},[198,873,874],{"class":208},"    ],\n",[198,876,877],{"class":200,"line":271},[198,878,879],{"class":208},"    \"generationConfig\": {\n",[198,881,882],{"class":200,"line":277},[198,883,884],{"class":208},"      \"responseModalities\": [\"TEXT\", \"IMAGE\"],\n",[198,886,887],{"class":200,"line":338},[198,888,889],{"class":208},"      \"imageConfig\": {\"aspectRatio\": \"1:1\", \"imageSize\": \"1K\"}\n",[198,891,892],{"class":200,"line":344},[198,893,609],{"class":208},[198,895,896],{"class":200,"line":350},[198,897,280],{"class":208},[154,899,900,901,165],{},"Responses keep the Gemini format; billing fields are in ",[158,902,903],{},"usageMetadata",[167,905,907],{"id":906},"image-editing-image-to-image","Image Editing (Image-to-Image)",[154,909,910,911,913],{},"Image editing is compatible with the OpenAI Images Edits style: upload images via ",[158,912,164],{}," and edit them with a prompt.",[172,915],{"method":174,"path":916},"\u002Fapi\u002Fv3\u002Fimages\u002Fedits",[177,918,920],{"id":919},"key-parameters","Key Parameters",[922,923,924,943],"table",{},[925,926,927],"thead",{},[928,929,930,934,937,940],"tr",{},[931,932,933],"th",{},"Parameter",[931,935,936],{},"Type",[931,938,939],{},"Required",[931,941,942],{},"Description",[944,945,946,963,982,996,1014,1028,1043],"tbody",{},[928,947,948,954,957,960],{},[949,950,951],"td",{},[158,952,953],{},"model",[949,955,956],{},"string",[949,958,959],{},"Yes",[949,961,962],{},"Model call name; must come from the Model Plaza or the model list",[928,964,965,970,973,975],{},[949,966,967],{},[158,968,969],{},"image",[949,971,972],{},"file",[949,974,959],{},[949,976,977,978,981],{},"Input images, up to 16 (repeat ",[158,979,980],{},"image=@...",")",[928,983,984,989,991,993],{},[949,985,986],{},[158,987,988],{},"prompt",[949,990,956],{},[949,992,959],{},[949,994,995],{},"Editing instruction",[928,997,998,1003,1005,1008],{},[949,999,1000],{},[158,1001,1002],{},"size",[949,1004,956],{},[949,1006,1007],{},"No",[949,1009,1010,1011],{},"Size, e.g. ",[158,1012,1013],{},"1024x1024",[928,1015,1016,1021,1023,1025],{},[949,1017,1018],{},[158,1019,1020],{},"mask",[949,1022,972],{},[949,1024,1007],{},[949,1026,1027],{},"Mask image",[928,1029,1030,1035,1038,1040],{},[949,1031,1032],{},[158,1033,1034],{},"n",[949,1036,1037],{},"integer",[949,1039,1007],{},[949,1041,1042],{},"Number of output images",[928,1044,1045,1050,1053,1055],{},[949,1046,1047],{},[158,1048,1049],{},"stream",[949,1051,1052],{},"boolean",[949,1054,1007],{},[949,1056,1057],{},"Model pass-through field, currently not part of the unified OpenAPI contract; support depends on future public models",[177,1059,1061],{"id":1060},"openapi-contract-notes","OpenAPI Contract Notes",[154,1063,1064,1065,1068,1069,1072,1073,1076],{},"Image edit v1 and v3 share the ",[158,1066,1067],{},"#\u002Fcomponents\u002FrequestBodies\u002FImageEdit"," request body in the OpenAPI and keep referencing ",[158,1070,1071],{},"#\u002Fcomponents\u002Fschemas\u002FImageEditRequest"," for field definitions. Reading the contract or generating an SDK requires recursive resolution of local ",[158,1074,1075],{},"$ref","s; fields are not inlined directly under the endpoint node, which does not mean the request body is missing.",[154,1078,1079,1080,1082,1083,1085,1086,1088,1089,1091,1092,1094],{},"The resolved request body is a required ",[158,1081,164],{}," where ",[158,1084,953],{},", ",[158,1087,988],{},", and ",[158,1090,969],{}," are required, and ",[158,1093,969],{}," is one or more binary files.",[177,1096,180],{"id":1097},"examples-1",[772,1099,1100],{"type":774},[154,1101,1102,1103,781],{},"There are currently no publicly discoverable image editing models in the model list or the Model Plaza. The content below is a request structure example and cannot be executed directly; ",[158,1104,780],{},[189,1106,1108],{"className":191,"code":1107,"language":193,"meta":194,"style":194},"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=Add some decorative text to the image\" \\\n  -F \"size=1024x1024\"\n",[158,1109,1110,1119,1131,1141,1150,1159],{"__ignoreMap":194},[198,1111,1112,1114,1117],{"class":200,"line":201},[198,1113,205],{"class":204},[198,1115,1116],{"class":208}," https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fv3\u002Fimages\u002Fedits",[198,1118,213],{"class":212},[198,1120,1121,1123,1125,1127,1129],{"class":200,"line":216},[198,1122,219],{"class":212},[198,1124,222],{"class":208},[198,1126,226],{"class":225},[198,1128,229],{"class":208},[198,1130,213],{"class":212},[198,1132,1133,1136,1139],{"class":200,"line":234},[198,1134,1135],{"class":212},"  -F",[198,1137,1138],{"class":208}," \"model=\u003CMODEL_CALL_NAME>\"",[198,1140,213],{"class":212},[198,1142,1143,1145,1148],{"class":200,"line":244},[198,1144,1135],{"class":212},[198,1146,1147],{"class":208}," \"image=@photo.png\"",[198,1149,213],{"class":212},[198,1151,1152,1154,1157],{"class":200,"line":253},[198,1153,1135],{"class":212},[198,1155,1156],{"class":208}," \"prompt=Add some decorative text to the image\"",[198,1158,213],{"class":212},[198,1160,1161,1163],{"class":200,"line":259},[198,1162,1135],{"class":212},[198,1164,1165],{"class":208}," \"size=1024x1024\"\n",[154,1167,1168,1169,1172,1173,1176],{},"Fields such as ",[158,1170,1171],{},"background"," and ",[158,1174,1175],{},"partial_images"," are model pass-through fields and currently not part of the unified OpenAPI contract. Whether they are supported follows the details of future public models.",[167,1178,1180],{"id":1179},"upload-limits","Upload Limits",[154,1182,1183,1184,1187,1188,1191],{},"Request bodies must not exceed 64 MB. Larger requests return ",[158,1185,1186],{},"413"," (",[158,1189,1190],{},"REQUEST_TOO_LARGE",").",[167,1193,1195],{"id":1194},"available-models","Available Models",[154,1197,1198,1199,1202,1203,1208],{},"Sample models usable today: ",[158,1200,1201],{},"doubao-seedream-5-0-260128"," (Seedream). There are no publicly discoverable call names for Gemini image models or image editing models yet; usable call names must come from the ",[1204,1205,1207],"a",{"href":1206},"\u002Fen\u002Fmodels","Model Plaza"," or the model list API.",[167,1210,53],{"id":1211},"billing",[154,1213,1214,1215,165],{},"Text-to-image and image-to-image are both billed per generated image; check current unit prices on the corresponding model detail page in the ",[1204,1216,1207],{"href":1206},[1218,1219,1220],"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":194,"searchDepth":216,"depth":216,"links":1222},[1223,1226,1227,1232,1233,1234],{"id":169,"depth":216,"text":170,"children":1224},[1225],{"id":179,"depth":234,"text":180},{"id":763,"depth":216,"text":764},{"id":906,"depth":216,"text":907,"children":1228},[1229,1230,1231],{"id":919,"depth":234,"text":920},{"id":1060,"depth":234,"text":1061},{"id":1097,"depth":234,"text":180},{"id":1179,"depth":216,"text":1180},{"id":1194,"depth":216,"text":1195},{"id":1211,"depth":216,"text":53},"Generate or edit images with the OpenAI Images or Gemini compatible formats.","md",{},"---\ntitle: Image Generation API\ndescription: Generate or edit images with the OpenAI Images or Gemini compatible formats.\n---\n\n# Image Generation API\n\nText-to-image APIs come in two styles depending on the model: the OpenAI Images API style (Doubao Seedream) and the Gemini `generateContent` style; image editing uploads the original image via `multipart\u002Fform-data`.\n\n## Text-to-Image (OpenAI Style, Seedream)\n\n::api-endpoint{path=\"\u002Fapi\u002Fv3\u002Fimages\u002Fgenerations\" method=\"POST\"}\n::\n\n### Examples\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\": \"A shiba inu wearing sunglasses sitting in a café\",\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=\"A shiba inu wearing sunglasses sitting in a café\",\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: \"A shiba inu wearing sunglasses sitting in a café\",\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 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\": \"doubao-seedream-5-0-260128\",\n\t\t\"prompt\": \"A shiba inu wearing sunglasses sitting in a café\",\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\nResponse:\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` is the `\u002Fapi\u002Fv3` path under the access domain, routing to `\u002Fapi\u002Fv3\u002Fimages\u002Fgenerations`.\n\n## Text-to-Image (Gemini Style, Contract Example)\n\nGemini `generateContent` style, for Gemini image models.\n\n::alert{type=\"warning\"}\nThere are currently no publicly discoverable Gemini image models in the model list or the Model Plaza. The content below only illustrates the request structure and cannot be executed directly; `\u003CMODEL_CALL_NAME>` must be replaced with a real call name published later on the Model Plaza — do not guess model names.\n::\n\n```\nPOST \u002Fapi\u002Fv1beta\u002Fmodels\u002F{model}:generateContent\n```\n\n**Authentication:** `Authorization: Bearer \u003CAPI_KEY>` or `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\": \"Draw a cat sitting on a windowsill\"}]}\n    ],\n    \"generationConfig\": {\n      \"responseModalities\": [\"TEXT\", \"IMAGE\"],\n      \"imageConfig\": {\"aspectRatio\": \"1:1\", \"imageSize\": \"1K\"}\n    }\n  }'\n```\n\nResponses keep the Gemini format; billing fields are in `usageMetadata`.\n\n## Image Editing (Image-to-Image)\n\nImage editing is compatible with the OpenAI Images Edits style: upload images via `multipart\u002Fform-data` and edit them with a prompt.\n\n::api-endpoint{path=\"\u002Fapi\u002Fv3\u002Fimages\u002Fedits\" method=\"POST\"}\n::\n\n### Key Parameters\n\n| Parameter | Type | Required | Description |\n| --- | --- | --- | --- |\n| `model` | string | Yes | Model call name; must come from the Model Plaza or the model list |\n| `image` | file | Yes | Input images, up to 16 (repeat `image=@...`) |\n| `prompt` | string | Yes | Editing instruction |\n| `size` | string | No | Size, e.g. `1024x1024` |\n| `mask` | file | No | Mask image |\n| `n` | integer | No | Number of output images |\n| `stream` | boolean | No | Model pass-through field, currently not part of the unified OpenAPI contract; support depends on future public models |\n\n### OpenAPI Contract Notes\n\nImage edit v1 and v3 share the `#\u002Fcomponents\u002FrequestBodies\u002FImageEdit` request body in the OpenAPI and keep referencing `#\u002Fcomponents\u002Fschemas\u002FImageEditRequest` for field definitions. Reading the contract or generating an SDK requires recursive resolution of local `$ref`s; fields are not inlined directly under the endpoint node, which does not mean the request body is missing.\n\nThe resolved request body is a required `multipart\u002Fform-data` where `model`, `prompt`, and `image` are required, and `image` is one or more binary files.\n\n### Examples\n\n::alert{type=\"warning\"}\nThere are currently no publicly discoverable image editing models in the model list or the Model Plaza. The content below is a request structure example and cannot be executed directly; `\u003CMODEL_CALL_NAME>` must be replaced with a real call name published later on the Model Plaza — do not guess model names.\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=Add some decorative text to the image\" \\\n  -F \"size=1024x1024\"\n```\n\nFields such as `background` and `partial_images` are model pass-through fields and currently not part of the unified OpenAPI contract. Whether they are supported follows the details of future public models.\n\n## Upload Limits\n\nRequest bodies must not exceed 64 MB. Larger requests return `413` (`REQUEST_TOO_LARGE`).\n\n## Available Models\n\nSample models usable today: `doubao-seedream-5-0-260128` (Seedream). There are no publicly discoverable call names for Gemini image models or image editing models yet; usable call names must come from the [Model Plaza](\u002Fen\u002Fmodels) or the model list API.\n\n## Billing\n\nText-to-image and image-to-image are both billed per generated image; check current unit prices on the corresponding model detail page in the [Model Plaza](\u002Fen\u002Fmodels).\n",[],{"title":116,"description":1235},"xfGk7175ArZK4TKH6rMSP8f6cjhL32H9lV6U8BLGC04",{"found":310,"operationId":1243,"summary":1244,"description":194,"method":174,"path":175,"publiclyDiscoverable":310,"security":1245,"parameters":1249,"requestBody":1250,"responses":1263},"createImageV3","图片生成",{"schemes":1246,"optional":43},[1247,1248],"BearerAuth","ApiKeyAuth",[],{"present":310,"required":310,"description":194,"contentType":1251,"type":1252,"fields":1253,"variants":1262},"application\u002Fjson","ImageGenerationRequest",[1254,1256,1257,1258,1260],{"name":953,"type":956,"required":310,"description":1255},"从模型广场选择支持当前图片接口的模型并复制调用名。",{"name":1034,"type":1037,"required":43,"description":194},{"name":988,"type":956,"required":310,"description":194},{"name":1259,"type":956,"required":43,"description":194},"response_format",{"name":1002,"type":956,"required":43,"description":1261},"可用尺寸由模型决定；Seedream 5.0 的首次调用示例使用 2048x2048。",[],[1264,1280],{"status":1265,"description":1266,"contentType":1251,"type":1267,"fields":1268},"200","图片生成或编辑响应。","ImageResponse",[1269,1272,1275,1277],{"name":1270,"type":1271,"required":43,"description":194},"created","integer (int64)",{"name":1273,"type":1274,"required":43,"description":194},"data","array\u003Cobject>",{"name":1276,"type":956,"required":43,"description":194},"data.b64_json",{"name":1278,"type":1279,"required":43,"description":194},"data.url","string (uri)",{"status":1281,"description":1282,"contentType":1251,"type":1283,"fields":1284},"default","Volcengine 兼容错误。","VolcengineError",[1285],{"name":1286,"type":1287,"required":43,"description":194},"error","FreeFormObject",{"found":310,"operationId":1289,"summary":1290,"description":1291,"method":174,"path":916,"publiclyDiscoverable":43,"security":1292,"parameters":1294,"requestBody":1295,"responses":1308},"editImageV3","编辑图片（Volcengine v3）","使用 multipart\u002Fform-data 上传图片；请求体通过 #\u002Fcomponents\u002FrequestBodies\u002FImageEdit 定义，解析后 model、prompt 和 image 为必填字段。",{"schemes":1293,"optional":43},[1247,1248],[],{"present":310,"required":310,"description":1296,"contentType":164,"type":1297,"fields":1298,"variants":1307},"图片编辑 v1\u002Fv3 共用的必填请求体。Content-Type 为 multipart\u002Fform-data；继续解析 ImageEditRequest 可获得 model、prompt、image 等字段。","ImageEditRequest",[1299,1301,1303,1304,1305,1306],{"name":969,"type":1300,"required":310,"description":194},"string (binary) | array\u003Cstring (binary)>",{"name":1020,"type":1302,"required":43,"description":194},"string (binary)",{"name":953,"type":956,"required":310,"description":194},{"name":1034,"type":1037,"required":43,"description":194},{"name":988,"type":956,"required":310,"description":194},{"name":1002,"type":956,"required":43,"description":194},[],[1309,1315],{"status":1265,"description":1266,"contentType":1251,"type":1267,"fields":1310},[1311,1312,1313,1314],{"name":1270,"type":1271,"required":43,"description":194},{"name":1273,"type":1274,"required":43,"description":194},{"name":1276,"type":956,"required":43,"description":194},{"name":1278,"type":1279,"required":43,"description":194},{"status":1281,"description":1316,"contentType":1251,"type":1317,"fields":1318},"OpenAI 兼容错误。","OpenAIError",[1319,1321,1324,1326],{"name":1286,"type":1320,"required":310,"description":194},"object",{"name":1322,"type":1323,"required":43,"description":194},"error.code","string | integer",{"name":1325,"type":956,"required":310,"description":194},"error.message",{"name":1327,"type":956,"required":43,"description":194},"error.type"]