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