1:"$Sreact.fragment"
3:I[54118,["6693","static/chunks/fba4ba2d-460e04194f22506f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","3009","static/chunks/6a7d804d-a5cc510ceffe206f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7505","static/chunks/c02d83f4-5637599209ef9447.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1737","static/chunks/fe207bbb-c84ed91deca4f888.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9509","static/chunks/9509-6125acd3006111c1.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4378","static/chunks/4378-3f82908971052aa9.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","5289","static/chunks/5289-131715863bbab062.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4094","static/chunks/4094-eaa6158623fe27ff.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4982","static/chunks/4982-a4b2ee93ffd82ffd.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1810","static/chunks/1810-cf4ca0391c1ddf2a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","6397","static/chunks/6397-b7ccd1edf8aedf12.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7979","static/chunks/7979-1799576a8e82a4f3.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","144","static/chunks/144-1a048554a0613a1b.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","2610","static/chunks/2610-c41f461a4ed7cf24.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","528","static/chunks/528-7ef2006e50a52549.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1742","static/chunks/1742-0ea812562873537a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1172","static/chunks/1172-89020d82938322e4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9919","static/chunks/9919-b585857c6e10fb85.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9326","static/chunks/9326-103822841b140d80.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4077","static/chunks/4077-cba4e88bdb106467.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1924","static/chunks/1924-8c4ee98e9b0dbf83.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","2530","static/chunks/2530-9eb218eca5ffc00b.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7177","static/chunks/app/layout-75dbb92d3cda2f1c.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x"],"Providers"]
4:I[98195,["6693","static/chunks/fba4ba2d-460e04194f22506f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","3009","static/chunks/6a7d804d-a5cc510ceffe206f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7505","static/chunks/c02d83f4-5637599209ef9447.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1737","static/chunks/fe207bbb-c84ed91deca4f888.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9509","static/chunks/9509-6125acd3006111c1.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4378","static/chunks/4378-3f82908971052aa9.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","5289","static/chunks/5289-131715863bbab062.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4094","static/chunks/4094-eaa6158623fe27ff.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4982","static/chunks/4982-a4b2ee93ffd82ffd.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1810","static/chunks/1810-cf4ca0391c1ddf2a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","6397","static/chunks/6397-b7ccd1edf8aedf12.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7979","static/chunks/7979-1799576a8e82a4f3.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","144","static/chunks/144-1a048554a0613a1b.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","2610","static/chunks/2610-c41f461a4ed7cf24.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","528","static/chunks/528-7ef2006e50a52549.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1742","static/chunks/1742-0ea812562873537a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1172","static/chunks/1172-89020d82938322e4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9919","static/chunks/9919-b585857c6e10fb85.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9326","static/chunks/9326-103822841b140d80.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4077","static/chunks/4077-cba4e88bdb106467.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1924","static/chunks/1924-8c4ee98e9b0dbf83.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","2530","static/chunks/2530-9eb218eca5ffc00b.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7177","static/chunks/app/layout-75dbb92d3cda2f1c.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x"],"GoogleTagManager"]
5:I[4411,["6693","static/chunks/fba4ba2d-460e04194f22506f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","3009","static/chunks/6a7d804d-a5cc510ceffe206f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7505","static/chunks/c02d83f4-5637599209ef9447.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1737","static/chunks/fe207bbb-c84ed91deca4f888.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9509","static/chunks/9509-6125acd3006111c1.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4378","static/chunks/4378-3f82908971052aa9.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","5289","static/chunks/5289-131715863bbab062.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4094","static/chunks/4094-eaa6158623fe27ff.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4982","static/chunks/4982-a4b2ee93ffd82ffd.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1810","static/chunks/1810-cf4ca0391c1ddf2a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","6397","static/chunks/6397-b7ccd1edf8aedf12.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7979","static/chunks/7979-1799576a8e82a4f3.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","144","static/chunks/144-1a048554a0613a1b.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","2610","static/chunks/2610-c41f461a4ed7cf24.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","528","static/chunks/528-7ef2006e50a52549.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1742","static/chunks/1742-0ea812562873537a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1172","static/chunks/1172-89020d82938322e4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9919","static/chunks/9919-b585857c6e10fb85.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9326","static/chunks/9326-103822841b140d80.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4077","static/chunks/4077-cba4e88bdb106467.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1924","static/chunks/1924-8c4ee98e9b0dbf83.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","2530","static/chunks/2530-9eb218eca5ffc00b.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7177","static/chunks/app/layout-75dbb92d3cda2f1c.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x"],"FilmAwardStrip"]
6:"$Sreact.suspense"
7:I[40459,["6693","static/chunks/fba4ba2d-460e04194f22506f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","3009","static/chunks/6a7d804d-a5cc510ceffe206f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7505","static/chunks/c02d83f4-5637599209ef9447.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1737","static/chunks/fe207bbb-c84ed91deca4f888.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9509","static/chunks/9509-6125acd3006111c1.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4378","static/chunks/4378-3f82908971052aa9.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","5289","static/chunks/5289-131715863bbab062.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4094","static/chunks/4094-eaa6158623fe27ff.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4982","static/chunks/4982-a4b2ee93ffd82ffd.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1810","static/chunks/1810-cf4ca0391c1ddf2a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","6397","static/chunks/6397-b7ccd1edf8aedf12.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7979","static/chunks/7979-1799576a8e82a4f3.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","144","static/chunks/144-1a048554a0613a1b.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","2610","static/chunks/2610-c41f461a4ed7cf24.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","528","static/chunks/528-7ef2006e50a52549.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1742","static/chunks/1742-0ea812562873537a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1172","static/chunks/1172-89020d82938322e4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9919","static/chunks/9919-b585857c6e10fb85.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9326","static/chunks/9326-103822841b140d80.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4077","static/chunks/4077-cba4e88bdb106467.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1924","static/chunks/1924-8c4ee98e9b0dbf83.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","2530","static/chunks/2530-9eb218eca5ffc00b.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7177","static/chunks/app/layout-75dbb92d3cda2f1c.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x"],"Navbar"]
8:I[15848,[],""]
9:I[55256,["6693","static/chunks/fba4ba2d-460e04194f22506f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","3009","static/chunks/6a7d804d-a5cc510ceffe206f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7505","static/chunks/c02d83f4-5637599209ef9447.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9509","static/chunks/9509-6125acd3006111c1.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4378","static/chunks/4378-3f82908971052aa9.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1742","static/chunks/1742-0ea812562873537a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1172","static/chunks/1172-89020d82938322e4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","8039","static/chunks/app/error-332e154bd557e323.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x"],"default"]
a:I[62142,[],""]
1a:I[79302,["4219","static/chunks/app/global-error-f07d85f704128170.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x"],"default"]
:HL["/_next/static/media/7d4881bb7e1bf84d-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
:HL["/_next/static/css/c91c557421edbcc1.css?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","style"]
:HL["/_next/static/css/9c4f0c3be44ead33.css?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","style"]
2:T412,
(function () {
  window.dataLayer = window.dataLayer || [];
  function gtag() { window.dataLayer.push(arguments); }

  gtag('consent', 'default', {
    ad_storage: 'denied',
    ad_user_data: 'denied',
    ad_personalization: 'denied',
    analytics_storage: 'denied',
    functionality_storage: 'denied',
    personalization_storage: 'denied',
    security_storage: 'granted'
  });

  try {
    var match = document.cookie.match(/(?:^|;\s*)gdpr_consent=([^;]*)/);
    if (!match) return;
    var saved = JSON.parse(decodeURIComponent(match[1]));
    if (!saved || typeof saved !== 'object') return;
    gtag('consent', 'update', {
      analytics_storage: saved.analytics ? 'granted' : 'denied',
      ad_storage: saved.marketing ? 'granted' : 'denied',
      ad_user_data: saved.marketing ? 'granted' : 'denied',
      ad_personalization: saved.marketing ? 'granted' : 'denied',
      functionality_storage: saved.functional ? 'granted' : 'denied'
    });
  } catch (e) {
    /* malformed cookie â€” the denied default stands */
  }
})();
0:{"P":null,"b":"vX-6P7rGIK5v7u82yfIum","p":"","c":["","models","gpt-image-1.5","api"],"i":false,"f":[[["",{"children":["models",{"children":[["route","gpt-image-1.5","d"],{"children":["api",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/c91c557421edbcc1.css?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/9c4f0c3be44ead33.css?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"className":"__variable_8c25df","children":[["$","head",null,{"children":[["$","script",null,{"id":"consent-mode-default","dangerouslySetInnerHTML":{"__html":"$2"}}],["$","script",null,{"id":"film-award-dismissed","dangerouslySetInnerHTML":{"__html":"try{if(document.cookie.split(';').some(function(c){return c.trim()===\"film_award_2027_dismissed=1\"}))document.documentElement.setAttribute(\"data-film-award-dismissed\",'')}catch(e){}"}}],["$","link",null,{"rel":"preconnect","href":"https://images.segmind.com"}],["$","link",null,{"rel":"preconnect","href":"https://segmind-resources.s3.amazonaws.com"}],["$","link",null,{"rel":"preconnect","href":"https://www.googletagmanager.com"}],["$","link",null,{"rel":"preload","href":"/fonts/Satoshi-Variable.woff2","as":"font","type":"font/woff2","crossOrigin":"anonymous"}]]}],["$","body",null,{"className":"antialiased bg-background text-foreground","children":["$","$L3",null,{"children":[["$","$L4",null,{"gtmId":"GTM-MHW23H4Z"}],["$","div",null,{"className":"min-h-screen flex flex-col","children":[["$","$L5",null,{}],["$","$6",null,{"fallback":["$","div",null,{"className":"h-16 bg-background/95 backdrop-blur border-b border-border"}],"children":["$","$L7",null,{}]}],["$","main",null,{"className":"flex-1","children":["$","$L8",null,{"parallelRouterKey":"children","error":"$9","errorStyles":[],"errorScripts":[],"template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","div",null,{"className":"min-h-screen bg-background flex items-center justify-center px-4 sm:px-6 lg:px-8","children":["$","div",null,{"className":"max-w-lg w-full text-center","children":[["$","div",null,{"className":"mb-8","children":["$","div",null,{"className":"relative","children":[["$","h1",null,{"className":"text-9xl font-bold text-muted/20 dark:text-muted/10 select-none","children":"404"}],["$","div",null,{"className":"absolute inset-0 flex items-center justify-center","children":["$","div",null,{"className":"relative","children":[["$","div",null,{"className":"absolute -top-8 -left-8 w-16 h-16 bg-brand-100 dark:bg-brand-950 rounded-full flex items-center justify-center animate-bounce","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-zap w-8 h-8 text-brand-500","children":["$Lb","$undefined"]}]}],"$Lc","$Ld"]}]}]]}]}],"$Le","$Lf","$L10","$L11"]}]}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],"$L12"]}],"$L13","$L14"]}]}]]}]]}],{"children":["models","$L15",{"children":[["route","gpt-image-1.5","d"],"$L16",{"children":["api","$L17",{"children":["__PAGE__","$L18",{},null,false]},null,false]},null,false]},null,false]},null,false],"$L19",false]],"m":"$undefined","G":["$1a",[]],"s":false,"S":true}
1b:I[75289,["6693","static/chunks/fba4ba2d-460e04194f22506f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","3009","static/chunks/6a7d804d-a5cc510ceffe206f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7505","static/chunks/c02d83f4-5637599209ef9447.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","6541","static/chunks/fb4e7fc9-e31ad622f5fde25d.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9761","static/chunks/998e86a0-e112630ec4db17dc.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9509","static/chunks/9509-6125acd3006111c1.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4378","static/chunks/4378-3f82908971052aa9.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","5289","static/chunks/5289-131715863bbab062.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4094","static/chunks/4094-eaa6158623fe27ff.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4982","static/chunks/4982-a4b2ee93ffd82ffd.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1810","static/chunks/1810-cf4ca0391c1ddf2a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","6118","static/chunks/6118-7328b7d3f629a5ef.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7979","static/chunks/7979-1799576a8e82a4f3.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","393","static/chunks/393-7cd2157fc3790475.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","3985","static/chunks/3985-1f9bcb95de313d61.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","2610","static/chunks/2610-c41f461a4ed7cf24.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4844","static/chunks/4844-011fe3465334e7d0.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9305","static/chunks/9305-0f5d0f2a661afddc.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","713","static/chunks/713-dcb3ca4f0233704d.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","3504","static/chunks/3504-ae9bc2dc93d2ef47.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1742","static/chunks/1742-0ea812562873537a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1172","static/chunks/1172-89020d82938322e4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9919","static/chunks/9919-b585857c6e10fb85.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9326","static/chunks/9326-103822841b140d80.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1885","static/chunks/1885-f206f5873f09b3e2.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4077","static/chunks/4077-cba4e88bdb106467.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","5126","static/chunks/5126-bdde68ce894e4935.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","5642","static/chunks/5642-c80cb7ee6e914a6a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1924","static/chunks/1924-8c4ee98e9b0dbf83.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","6372","static/chunks/6372-3e2880fc7d769d1f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1289","static/chunks/1289-4fdf72847f7ef615.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","8382","static/chunks/8382-004a14550e3769cc.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1951","static/chunks/app/models/%5Broute%5D/page-c5fd4df0a8a5cab4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x"],""]
1c:I[4717,["6693","static/chunks/fba4ba2d-460e04194f22506f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","3009","static/chunks/6a7d804d-a5cc510ceffe206f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7505","static/chunks/c02d83f4-5637599209ef9447.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1737","static/chunks/fe207bbb-c84ed91deca4f888.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9509","static/chunks/9509-6125acd3006111c1.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4378","static/chunks/4378-3f82908971052aa9.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","5289","static/chunks/5289-131715863bbab062.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4094","static/chunks/4094-eaa6158623fe27ff.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4982","static/chunks/4982-a4b2ee93ffd82ffd.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1810","static/chunks/1810-cf4ca0391c1ddf2a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","6397","static/chunks/6397-b7ccd1edf8aedf12.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7979","static/chunks/7979-1799576a8e82a4f3.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","144","static/chunks/144-1a048554a0613a1b.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","2610","static/chunks/2610-c41f461a4ed7cf24.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","528","static/chunks/528-7ef2006e50a52549.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1742","static/chunks/1742-0ea812562873537a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1172","static/chunks/1172-89020d82938322e4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9919","static/chunks/9919-b585857c6e10fb85.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9326","static/chunks/9326-103822841b140d80.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4077","static/chunks/4077-cba4e88bdb106467.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1924","static/chunks/1924-8c4ee98e9b0dbf83.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","2530","static/chunks/2530-9eb218eca5ffc00b.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7177","static/chunks/app/layout-75dbb92d3cda2f1c.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x"],"Footer"]
1d:I[35733,["6693","static/chunks/fba4ba2d-460e04194f22506f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","3009","static/chunks/6a7d804d-a5cc510ceffe206f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7505","static/chunks/c02d83f4-5637599209ef9447.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9509","static/chunks/9509-6125acd3006111c1.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4378","static/chunks/4378-3f82908971052aa9.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","6397","static/chunks/6397-b7ccd1edf8aedf12.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1742","static/chunks/1742-0ea812562873537a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1172","static/chunks/1172-89020d82938322e4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","6140","static/chunks/6140-b94b4e43e1bb103d.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","8012","static/chunks/app/models/%5Broute%5D/api/page-117c8b87bdd6a7b4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x"],"Toaster"]
1e:I[20659,["6693","static/chunks/fba4ba2d-460e04194f22506f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","3009","static/chunks/6a7d804d-a5cc510ceffe206f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7505","static/chunks/c02d83f4-5637599209ef9447.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1737","static/chunks/fe207bbb-c84ed91deca4f888.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9509","static/chunks/9509-6125acd3006111c1.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4378","static/chunks/4378-3f82908971052aa9.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","5289","static/chunks/5289-131715863bbab062.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4094","static/chunks/4094-eaa6158623fe27ff.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4982","static/chunks/4982-a4b2ee93ffd82ffd.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1810","static/chunks/1810-cf4ca0391c1ddf2a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","6397","static/chunks/6397-b7ccd1edf8aedf12.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7979","static/chunks/7979-1799576a8e82a4f3.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","144","static/chunks/144-1a048554a0613a1b.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","2610","static/chunks/2610-c41f461a4ed7cf24.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","528","static/chunks/528-7ef2006e50a52549.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1742","static/chunks/1742-0ea812562873537a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1172","static/chunks/1172-89020d82938322e4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9919","static/chunks/9919-b585857c6e10fb85.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9326","static/chunks/9326-103822841b140d80.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4077","static/chunks/4077-cba4e88bdb106467.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1924","static/chunks/1924-8c4ee98e9b0dbf83.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","2530","static/chunks/2530-9eb218eca5ffc00b.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7177","static/chunks/app/layout-75dbb92d3cda2f1c.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x"],"LazyLayoutExtras"]
21:I[30661,[],"OutletBoundary"]
23:I[72272,[],"AsyncMetadataOutlet"]
25:I[30661,[],"ViewportBoundary"]
27:I[30661,[],"MetadataBoundary"]
b:["$","path","1xq2db",{"d":"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"}]
c:["$","div",null,{"className":"absolute -top-4 -right-12 w-12 h-12 bg-brand-secondary-100 dark:bg-brand-secondary-950 rounded-full flex items-center justify-center animate-pulse","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-search w-6 h-6 text-brand-secondary-500","children":[["$","circle","4ej97u",{"cx":"11","cy":"11","r":"8"}],["$","path","1qie3q",{"d":"m21 21-4.3-4.3"}],"$undefined"]}]}]
d:["$","div",null,{"className":"absolute -bottom-6 left-4 w-10 h-10 bg-green-100 dark:bg-green-950 rounded-full flex items-center justify-center animate-bounce delay-200","children":["$","div",null,{"className":"w-3 h-3 bg-green-500 rounded-full"}]}]
e:["$","div",null,{"className":"mb-8","children":[["$","h2",null,{"className":"text-2xl font-semibold text-foreground mb-4","children":"Page Not Found"}],["$","p",null,{"className":"text-muted-foreground text-lg mb-2","children":"Oops! The page you're looking for doesn't exist."}],["$","p",null,{"className":"text-muted-foreground","children":"It might have been moved, deleted, or you entered the wrong URL."}]]}]
f:["$","div",null,{"className":"flex flex-col sm:flex-row gap-4 justify-center items-center mb-12","children":[["$","$L1b",null,{"href":"/","className":"inline-flex items-center justify-center gap-2 px-6 py-3 bg-brand-600 dark:bg-brand-500 text-white rounded-lg hover:bg-brand-700 dark:hover:bg-brand-600 transition-colors font-medium text-base w-full sm:w-auto","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-house w-5 h-5","children":[["$","path","5wwlr5",{"d":"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"}],["$","path","1d0kgt",{"d":"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}],"$undefined"]}],"Go Home"]}],["$","$L1b",null,{"href":"/models","className":"inline-flex items-center justify-center gap-2 px-6 py-3 bg-surface border border-border text-foreground rounded-lg hover:bg-surface/80 transition-colors font-medium text-base w-full sm:w-auto","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-search w-5 h-5","children":[["$","circle","4ej97u",{"cx":"11","cy":"11","r":"8"}],["$","path","1qie3q",{"d":"m21 21-4.3-4.3"}],"$undefined"]}],"Browse Models"]}]]}]
10:["$","div",null,{"className":"border-t border-border pt-8","children":[["$","p",null,{"className":"text-sm text-muted-foreground mb-4","children":"Popular destinations:"}],["$","div",null,{"className":"flex flex-wrap justify-center gap-4 text-sm","children":[["$","$L1b",null,{"href":"/models/tags/image","className":"text-brand-600 dark:text-brand-400 hover:text-brand-700 dark:hover:text-brand-300 transition-colors","children":"Image Models"}],["$","span",null,{"className":"text-muted-foreground","children":"â€¢"}],["$","$L1b",null,{"href":"/models/tags/video","className":"text-brand-600 dark:text-brand-400 hover:text-brand-700 dark:hover:text-brand-300 transition-colors","children":"Video Models"}],["$","span",null,{"className":"text-muted-foreground","children":"â€¢"}],["$","$L1b",null,{"href":"/models/tags/llms","className":"text-brand-600 dark:text-brand-400 hover:text-brand-700 dark:hover:text-brand-300 transition-colors","children":"LLMs"}],["$","span",null,{"className":"text-muted-foreground","children":"â€¢"}],["$","$L1b",null,{"href":"/models","className":"text-brand-600 dark:text-brand-400 hover:text-brand-700 dark:hover:text-brand-300 transition-colors","children":"All Models"}]]}]]}]
11:["$","div",null,{"className":"mt-8","children":["$","$L1b",null,{"href":"/","className":"inline-flex items-center text-sm text-muted-foreground hover:text-foreground transition-colors","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-arrow-left w-4 h-4 mr-2","children":[["$","path","1l729n",{"d":"m12 19-7-7 7-7"}],["$","path","x3x0zl",{"d":"M19 12H5"}],"$undefined"]}],"Go back to homepage"]}]}]
12:["$","$L1c",null,{}]
13:["$","$L1d",null,{"closeButton":true,"toastOptions":{"duration":30000}}]
14:["$","$L1e",null,{}]
15:["$","$1","c",{"children":[null,["$","$L8",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}]
16:["$","$1","c",{"children":[null,"$L1f"]}]
17:["$","$1","c",{"children":[null,["$","$L8",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}]
18:["$","$1","c",{"children":["$L20",null,["$","$L21",null,{"children":["$L22",["$","$L23",null,{"promise":"$@24"}]]}]]}]
19:["$","$1","h",{"children":[null,[["$","$L25",null,{"children":"$L26"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L27",null,{"children":["$","div",null,{"hidden":true,"children":["$","$6",null,{"fallback":null,"children":"$L28"}]}]}]]}]
26:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
22:null
2a:I[53921,["6693","static/chunks/fba4ba2d-460e04194f22506f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","3009","static/chunks/6a7d804d-a5cc510ceffe206f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7505","static/chunks/c02d83f4-5637599209ef9447.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9509","static/chunks/9509-6125acd3006111c1.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4378","static/chunks/4378-3f82908971052aa9.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","5289","static/chunks/5289-131715863bbab062.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1742","static/chunks/1742-0ea812562873537a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1172","static/chunks/1172-89020d82938322e4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7213","static/chunks/7213-ed3acee0c865cd60.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7256","static/chunks/app/models/%5Broute%5D/layout-23522cb6540a765c.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x"],"default"]
2e:I[4704,[],"IconMark"]
20:[["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"TechArticle\",\"@id\":\"https://www.segmind.com/models/gpt-image-1.5/api\",\"name\":\"GPT Image 1.5 API Documentation\",\"description\":\"Complete API documentation for GPT Image 1.5. Code examples in Python, JavaScript, and cURL. Integrate this AI model into your applications with Segmind's\",\"url\":\"https://www.segmind.com/models/gpt-image-1.5/api\",\"about\":{\"@id\":\"https://www.segmind.com/models/gpt-image-1.5\"},\"publisher\":{\"@type\":\"Organization\",\"@id\":\"https://www.segmind.com/#organization\",\"name\":\"Segmind\",\"url\":\"https://www.segmind.com\",\"logo\":\"https://www.segmind.com/favicon.svg\"}}"}}],"$L29"]
2b:T1271,# GPT-Image-1.5: Production-Ready Text-to-Image Model

## What is GPT-Image-1.5?

GPT-Image-1.5 is an advanced AI image generation model built for professional designers, content creators, and developers who need production-quality visuals with precise creative control. This model represents a significant leap forward in photorealism, accuracy, and editability compared to earlier iterations. It excels at generating images with natural lighting, accurate materials, and realistic textures while offering flexible quality-latency trade-offs for different workflow needs. Whether you're creating marketing assets, UI designs, or complex infographics, GPT-Image-1.5 delivers consistent, high-fidelity results that integrate seamlessly into professional pipelines.

## Key Features

- **Photorealistic rendering** with natural lighting, accurate materials, and detailed textures
- **Flexible quality settings** that balance output fidelity with generation speed
- **Robust facial identity preservation** during edits and variations
- **Precise text rendering** within images for marketing creatives and infographics
- **Complex structured visuals** including charts, diagrams, and technical illustrations
- **Strong contextual awareness** leveraging world knowledge for accurate scene generation
- **Multiple output formats** (PNG, JPEG, WebP) with adjustable compression
- **Resolution options** from 1024x1024 to 1536x1024, plus auto-sizing
- **Transparent background support** for design flexibility

## Best Use Cases

GPT-Image-1.5 shines in professional workflows requiring precision and consistency:

- **Marketing and advertising**: Generate product mockups, social media creatives, and campaign visuals with accurate embedded text
- **Design and prototyping**: Create UI mockups, logo concepts, and style explorations rapidly
- **Content creation**: Produce infographics, comic strips, holiday cards, and children's book illustrations with character consistency
- **E-commerce**: Generate product visualizations, virtual try-ons, and lifestyle imagery
- **Architecture and interior design**: Visualize spaces with lighting and weather variations

## Prompt Tips and Output Quality

Effective prompting with GPT-Image-1.5 follows a structured approach:

**Prompt structure**: Specify scene â†’ subject â†’ style â†’ composition â†’ constraints. Example: "A modern kitchen with marble countertops, photorealistic style, golden hour lighting, 3/4 perspective view, no people."

**Quality parameter impact**:
- **High quality**: Use for final deliverables requiring maximum detail and richness
- **Medium quality**: Ideal for iterative drafts and concept exploration
- **Low quality**: Fast generation for rapid testing

**Resolution selection**:
- **1536x1024**: Wide-format images for landscapes and banners
- **1024x1536**: Portrait orientation for social media and mobile
- **1024x1024**: Square format with fastest generation times

**Iterative refinement**: Start broad, then add specific details. Explicitly state preservation requirements to prevent unwanted drift during edits. For facial identity consistency, reference specific features and characteristics.

**Format optimization**: Use PNG with 100 compression for final assets, JPEG or WebP with lower compression for web-optimized delivery.

## FAQs

**Is GPT-Image-1.5 suitable for commercial use?**  
Yes, GPT-Image-1.5 generates production-ready images suitable for commercial applications including marketing, e-commerce, and content creation.

**How does quality setting affect generation time?**  
Higher quality settings increase detail and richness but take longer to generate. Low quality reduces latency significantly while maintaining acceptable fidelity for drafts and testing.

**Can I generate images with transparent backgrounds?**  
Yes, set the background parameter to "transparent" for PNG outputs with alpha channels, perfect for overlay designs and compositing.

**What's the best resolution for social media content?**  
Use 1024x1536 for Instagram stories and vertical posts, 1536x1024 for Facebook and LinkedIn banners, and 1024x1024 for profile images and square posts.

**How accurate is text rendering in generated images?**  
GPT-Image-1.5 features significantly improved text accuracy compared to earlier models, making it reliable for marketing creatives, infographics, and designs requiring embedded typography.

**What compression level should I use for web delivery?**  
Set output_compression between 80-90 and use WebP format for optimal web performance while maintaining visual quality. Use 100 compression with PNG for archival or print-ready assets.2c:Taac,# GPT-Image-1.5 Guide

GPT-Image-1.5 is a production-ready text-to-image model that balances photorealism, speed, and control. Use this guide to craft effective prompts and pick the right parameters for marketing, prototyping, web, and print workflows.

## 1. Prompting Best Practices
- **Structure**: scene â†’ subject â†’ style â†’ composition â†’ constraints  
  Example:  
  `â€œA minimalist living room, Scandinavian style, warm morning light, wideâ€angle, no people.â€`
- **Iterate**: Start with a broad prompt, then refine by adding color schemes, lens types, material textures, or lighting directions.
- **Consistency**: For character or brand identity preservation, reference unique features (â€œred glasses,â€ â€œhexagon floor tilesâ€) in each variation prompt.

## 2. Parameter Recommendations

| Use Case               | Size       | Quality | Background   | Format | Compression |
|------------------------|------------|---------|--------------|--------|-------------|
| Final Print & Banners  | 1536x1024  | high    | opaque       | png    | 100         |
| Social Media & Mobile  | 1024x1536  | medium  | opaque       | webp   | 80â€“90       |
| Square Posts & Icons   | 1024x1024  | medium  | transparent  | png    | 100         |
| Rapid Concept Drafts   | auto       | low     | opaque       | jpeg   | 70          |
| UI Mockups & Overlays  | auto       | medium  | transparent  | png    | 100         |

- **Size**:  
  - 1536Ã—1024 for landscapes, banners.  
  - 1024Ã—1536 for vertical feeds.  
  - 1024Ã—1024 for squares or fastest generation.  
  - auto for adaptive sizing.
- **Quality**:  
  - low: quick iterations.  
  - medium: balance speed/detail.  
  - high: final assets, rich textures.
- **Background**:  
  - transparent for overlays/compositing.  
  - opaque for standalone imagery.
- **Format & Compression**:  
  - PNG @100 for crisp lines, print, archival.  
  - WebP @80â€“90 or JPEG @70 for web-optimized delivery.

## 3. Advanced Tips
- **Text in Image**: Specify font style, size, alignment. E.g., â€œwhite sans-serif headline at top center.â€  
- **Moderation**: Keep â€œmoderationâ€ at `auto` for safe defaults; use `low` if creative restrictions hinder output.  
- **Fine-Tuning**: Chain multiple prompts via â€œimage-to-imageâ€ edits: upload a base and instruct subtle changes (lighting, color accents).
- **Batch Generation**: Vary a single parameter per request (e.g., change â€œtime of dayâ€ across five prompts) to explore options efficiently.

By combining structured prompts with the right size, quality, and format settings, GPT-Image-1.5 will deliver consistent, high-fidelity visuals for any stage of your creative pipeline.1f:["$","$L2a",null,{"route":"gpt-image-1.5","modelDetails":{"title":"GPT Image 1.5","thumbnail_image":"https://segmind-resources.s3.amazonaws.com/output/gpt-image-1.5-6628.png","type":"textToImage","model_type":"SO","is_depreciated":false,"meta_description":"GPT-Image-1.5 creates stunning, photorealistic images with exceptional detail and precision for professional applications.","seo_description":"$2b","guide":"$2c","pricing_guide":null,"artifacts":[],"default_image_output":"https://segmind-resources.s3.amazonaws.com/input/5678baff-c42c-4134-855f-41ee69c9434e-gpt-image-1.5.png","default_response":null,"parameters":{"prompt":{"isRequired":true,"affectsPricing":true,"type":"str","description":"Crafts the image content. Try 'A serene sunset over a bustling cityscape.' for vibrant scenes.","isEnum":false,"hidden":false,"isAdvanced":false,"displayOrder":0,"component":"textarea","displayValue":"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ","label":"Prompt"},"size":{"isRequired":false,"affectsPricing":true,"type":"str","description":"Selects image resolution. Use '1536x1024' for wide images and '1024x1024' for quick generation.","isEnum":true,"hidden":false,"isAdvanced":false,"displayOrder":1,"component":"dropdown","default":"1536x1024","displayValue":"1536x1024","label":"Size","values":["1024x1024","1536x1024","1024x1536","auto"]},"quality":{"isRequired":false,"affectsPricing":true,"type":"str","description":"Adjusts visual quality. 'High' for detailed, rich images; 'Medium' for average use.","isEnum":true,"hidden":false,"isAdvanced":true,"displayOrder":2,"component":"dropdown","default":"high","displayValue":"high","label":"Quality","values":["low","medium","high","auto"]},"moderation":{"isRequired":false,"affectsPricing":false,"type":"str","description":"Sets moderation strictness. Use 'low' for relaxed restrictions.","isEnum":true,"hidden":false,"isAdvanced":true,"displayOrder":3,"component":"dropdown","default":"auto","displayValue":"auto","label":"moderation","values":["low","auto"]},"background":{"isRequired":false,"affectsPricing":false,"type":"str","description":"Choose background style. 'Opaque' for full-color backgrounds; 'Transparent' for no background.","isEnum":true,"hidden":false,"isAdvanced":true,"displayOrder":4,"component":"dropdown","default":"opaque","displayValue":"opaque","label":"Background","values":["transparent","opaque"]},"output_compression":{"isRequired":false,"affectsPricing":false,"type":"int","description":"Sets output compression level. '100' for best quality; lower values for smaller file sizes.","isEnum":false,"hidden":false,"isAdvanced":true,"displayOrder":5,"component":"input","default":100,"displayValue":100,"label":"Output Compression"},"output_format":{"isRequired":false,"affectsPricing":false,"type":"str","description":"Chooses output image format. 'PNG' for high quality, 'JPEG' for smaller file sizes.","isEnum":true,"hidden":false,"isAdvanced":true,"displayOrder":6,"component":"dropdown","default":"png","displayValue":"png","label":"Output Format","values":["png","jpeg","webp"]}},"endpoints":{"main":"/v1/gpt-image-1.5"},"api_notes":[],"model_outputs":null,"llm_capabilities":null,"license":"","github_link":null,"inference_provider":"OPENAI","created_ts":"2025-12-17 19:02:37.492211+00:00","slug":"gpt-image-1.5","name":"GPT Image 1.5","description":"Stunning photorealistic images with exceptional instruction-following.","category":"textToImage","modality":"image","input":"text","output":"image","provider":"OPENAI","thumbnail_url":"https://segmind-resources.s3.amazonaws.com/output/gpt-image-1.5-6628.png","is_new":false,"coming_soon":false,"popularity_score":58,"category_percentile":79,"average_cost":0.17231282649253732,"latency_seconds":31.62128,"created_at":"2025-12-17 19:02:37.492211+00:00","parameters_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"prompt":{"type":"string","title":"Prompt","description":"Crafts the image content. Try 'A serene sunset over a bustling cityscape.' for vibrant scenes.","x-ui-metadata":{"order":0,"advanced":false,"hidden":false}},"size":{"type":"string","title":"Size","description":"Selects image resolution. Use '1536x1024' for wide images and '1024x1024' for quick generation.","oneOf":[{"const":"1024x1024","title":"1024x1024"},{"const":"1536x1024","title":"1536x1024"},{"const":"1024x1536","title":"1024x1536"},{"const":"auto","title":"auto"}],"default":"1536x1024","x-ui-metadata":{"order":1,"advanced":false,"hidden":false}},"quality":{"type":"string","title":"Quality","description":"Adjusts visual quality. 'High' for detailed, rich images; 'Medium' for average use.","oneOf":[{"const":"low","title":"low"},{"const":"medium","title":"medium"},{"const":"high","title":"high"},{"const":"auto","title":"auto"}],"default":"high","x-ui-metadata":{"order":2,"advanced":true,"hidden":false}},"moderation":{"type":"string","title":"Moderation","description":"Sets moderation strictness. Use 'low' for relaxed restrictions.","oneOf":[{"const":"low","title":"low"},{"const":"auto","title":"auto"}],"default":"auto","x-ui-metadata":{"order":3,"advanced":true,"hidden":false}},"background":{"type":"string","title":"Background","description":"Choose background style. 'Opaque' for full-color backgrounds; 'Transparent' for no background.","oneOf":[{"const":"transparent","title":"transparent"},{"const":"opaque","title":"opaque"}],"default":"opaque","x-ui-metadata":{"order":4,"advanced":true,"hidden":false}},"output_compression":{"type":"integer","title":"Output Compression","description":"Sets output compression level. '100' for best quality; lower values for smaller file sizes.","default":100,"x-ui-metadata":{"order":5,"advanced":true,"hidden":false}},"output_format":{"type":"string","title":"Output Format","description":"Chooses output image format. 'PNG' for high quality, 'JPEG' for smaller file sizes.","oneOf":[{"const":"png","title":"png"},{"const":"jpeg","title":"jpeg"},{"const":"webp","title":"webp"}],"default":"png","x-ui-metadata":{"order":6,"advanced":true,"hidden":false}}},"required":["prompt"],"examples":[{"prompt":"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ","size":"1536x1024","quality":"high","moderation":"auto","background":"opaque","output_compression":100,"output_format":"png"}]}},"metrics":{"total_requests":null,"latency":31.62128},"children":"$L2d"}]
24:{"metadata":[["$","title","0",{"children":"GPT Image 1.5 API Documentation | Segmind"}],["$","meta","1",{"name":"description","content":"Complete API documentation for GPT Image 1.5. Code examples in Python, JavaScript, and cURL. Integrate this AI model into your applications with Segmind's serverless API."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","meta","3",{"name":"googlebot","content":"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"}],["$","link","4",{"rel":"canonical","href":"https://www.segmind.com/models/gpt-image-1.5/api"}],["$","meta","5",{"property":"og:title","content":"GPT Image 1.5 API Documentation"}],["$","meta","6",{"property":"og:description","content":"Complete API documentation for GPT Image 1.5. Code examples in Python, JavaScript, and cURL. Integrate this AI model into your applications with Segmind's serverless API."}],["$","meta","7",{"property":"og:url","content":"https://www.segmind.com/models/gpt-image-1.5/api"}],["$","meta","8",{"property":"og:site_name","content":"Segmind"}],["$","meta","9",{"property":"og:image","content":"https://segmind-resources.s3.amazonaws.com/output/gpt-image-1.5-6628.png"}],["$","meta","10",{"property":"og:type","content":"article"}],["$","meta","11",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","12",{"name":"twitter:title","content":"GPT Image 1.5 API Documentation"}],["$","meta","13",{"name":"twitter:description","content":"API docs for GPT Image 1.5. Python, JavaScript & cURL examples. Pay-as-you-go serverless API."}],["$","meta","14",{"name":"twitter:image","content":"https://segmind-resources.s3.amazonaws.com/output/gpt-image-1.5-6628.png"}],["$","link","15",{"rel":"shortcut icon","href":"/favicon.ico"}],["$","link","16",{"rel":"icon","href":"/favicon.ico","sizes":"any"}],["$","link","17",{"rel":"icon","href":"/favicon-48x48.png","type":"image/png","sizes":"48x48"}],["$","link","18",{"rel":"icon","href":"/favicon-192x192.png","type":"image/png","sizes":"192x192"}],["$","link","19",{"rel":"icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","link","20",{"rel":"apple-touch-icon","href":"/favicon-48x48.png"}],["$","$L2e","21",{}]],"error":null,"digest":"$undefined"}
28:"$24:metadata"
2d:["$","$L8",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]
2f:I[501,["6693","static/chunks/fba4ba2d-460e04194f22506f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","3009","static/chunks/6a7d804d-a5cc510ceffe206f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7505","static/chunks/c02d83f4-5637599209ef9447.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9509","static/chunks/9509-6125acd3006111c1.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4378","static/chunks/4378-3f82908971052aa9.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","6397","static/chunks/6397-b7ccd1edf8aedf12.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1742","static/chunks/1742-0ea812562873537a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1172","static/chunks/1172-89020d82938322e4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","6140","static/chunks/6140-b94b4e43e1bb103d.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","8012","static/chunks/app/models/%5Broute%5D/api/page-117c8b87bdd6a7b4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x"],"default"]
30:T643,# pip install "segmind>=1.1.0"
# export SEGMIND_API_KEY="YOUR_API_KEY"
import segmind

# Async (v2): submit to the queue and block until COMPLETED.
# run() returns the final result dict (600s deadline, 1.0s poll by default).
result = segmind.run(
    "gpt-image-1.5",
    prompt="Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",
    size="1536x1024",
    quality="high",
    moderation="auto",
    background="opaque",
    output_compression=100,
    output_format="png",
)
print(result["status"])                      # COMPLETED
print(result.get("output"))                  # model output (e.g. media URL)
print(result["metrics"]["inference_time"])   # server compute seconds

# --- Or submit + poll manually (track request_id, control the cadence) ---
from segmind import SegmindClient, InferenceFailed, InferenceTimeout

client = SegmindClient()                      # reads SEGMIND_API_KEY
payload = {
    "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",
    "size": "1536x1024",
    "quality": "high",
    "moderation": "auto",
    "background": "opaque",
    "output_compression": 100,
    "output_format": "png",
}
job = client.submit_async("gpt-image-1.5", **payload)
print(job.request_id)                         # available immediately
try:
    result = job.wait(timeout=600, interval=1.0)
except InferenceTimeout as e:
    print("still running:", e.request_id)
except InferenceFailed as e:
    print("failed:", e.detail)31:T2ca1,<pre class="shiki-light" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#6A737D"># pip install "segmind>=1.1.0"</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"><span style="color:#6A737D"># export SEGMIND_API_KEY="YOUR_API_KEY"</span></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#D73A49">import</span><span style="color:#24292E"> segmind</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#6A737D"># Async (v2): submit to the queue and block until COMPLETED.</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#6A737D"># run() returns the final result dict (600s deadline, 1.0s poll by default).</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#24292E">result </span><span style="color:#D73A49">=</span><span style="color:#24292E"> segmind.run(</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#032F62">    "gpt-image-1.5"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#E36209">    prompt</span><span style="color:#D73A49">=</span><span style="color:#032F62">"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio "</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#E36209">    size</span><span style="color:#D73A49">=</span><span style="color:#032F62">"1536x1024"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#E36209">    quality</span><span style="color:#D73A49">=</span><span style="color:#032F62">"high"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#E36209">    moderation</span><span style="color:#D73A49">=</span><span style="color:#032F62">"auto"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#E36209">    background</span><span style="color:#D73A49">=</span><span style="color:#032F62">"opaque"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#E36209">    output_compression</span><span style="color:#D73A49">=</span><span style="color:#005CC5">100</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#E36209">    output_format</span><span style="color:#D73A49">=</span><span style="color:#032F62">"png"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#005CC5">print</span><span style="color:#24292E">(result[</span><span style="color:#032F62">"status"</span><span style="color:#24292E">])                      </span><span style="color:#6A737D"># COMPLETED</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#005CC5">print</span><span style="color:#24292E">(result.get(</span><span style="color:#032F62">"output"</span><span style="color:#24292E">))                  </span><span style="color:#6A737D"># model output (e.g. media URL)</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#005CC5">print</span><span style="color:#24292E">(result[</span><span style="color:#032F62">"metrics"</span><span style="color:#24292E">][</span><span style="color:#032F62">"inference_time"</span><span style="color:#24292E">])   </span><span style="color:#6A737D"># server compute seconds</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#6A737D"># --- Or submit + poll manually (track request_id, control the cadence) ---</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#D73A49">from</span><span style="color:#24292E"> segmind </span><span style="color:#D73A49">import</span><span style="color:#24292E"> SegmindClient, InferenceFailed, InferenceTimeout</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#24292E">client </span><span style="color:#D73A49">=</span><span style="color:#24292E"> SegmindClient()                      </span><span style="color:#6A737D"># reads SEGMIND_API_KEY</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#24292E">payload </span><span style="color:#D73A49">=</span><span style="color:#24292E"> {</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#032F62">    "prompt"</span><span style="color:#24292E">: </span><span style="color:#032F62">"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio "</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#032F62">    "size"</span><span style="color:#24292E">: </span><span style="color:#032F62">"1536x1024"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#032F62">    "quality"</span><span style="color:#24292E">: </span><span style="color:#032F62">"high"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#032F62">    "moderation"</span><span style="color:#24292E">: </span><span style="color:#032F62">"auto"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#032F62">    "background"</span><span style="color:#24292E">: </span><span style="color:#032F62">"opaque"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#032F62">    "output_compression"</span><span style="color:#24292E">: </span><span style="color:#005CC5">100</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"><span style="color:#032F62">    "output_format"</span><span style="color:#24292E">: </span><span style="color:#032F62">"png"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"><span style="color:#24292E">}</span></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#24292E">job </span><span style="color:#D73A49">=</span><span style="color:#24292E"> client.submit_async(</span><span style="color:#032F62">"gpt-image-1.5"</span><span style="color:#24292E">, </span><span style="color:#D73A49">**</span><span style="color:#24292E">payload)</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#005CC5">print</span><span style="color:#24292E">(job.request_id)                         </span><span style="color:#6A737D"># available immediately</span></span></span></span>
<span class="line"><span class="line-number">36</span><span class="line-content"><span class="line"><span style="color:#D73A49">try</span><span style="color:#24292E">:</span></span></span></span>
<span class="line"><span class="line-number">37</span><span class="line-content"><span class="line"><span style="color:#24292E">    result </span><span style="color:#D73A49">=</span><span style="color:#24292E"> job.wait(</span><span style="color:#E36209">timeout</span><span style="color:#D73A49">=</span><span style="color:#005CC5">600</span><span style="color:#24292E">, </span><span style="color:#E36209">interval</span><span style="color:#D73A49">=</span><span style="color:#005CC5">1.0</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">38</span><span class="line-content"><span class="line"><span style="color:#D73A49">except</span><span style="color:#24292E"> InferenceTimeout </span><span style="color:#D73A49">as</span><span style="color:#24292E"> e:</span></span></span></span>
<span class="line"><span class="line-number">39</span><span class="line-content"><span class="line"><span style="color:#005CC5">    print</span><span style="color:#24292E">(</span><span style="color:#032F62">"still running:"</span><span style="color:#24292E">, e.request_id)</span></span></span></span>
<span class="line"><span class="line-number">40</span><span class="line-content"><span class="line"><span style="color:#D73A49">except</span><span style="color:#24292E"> InferenceFailed </span><span style="color:#D73A49">as</span><span style="color:#24292E"> e:</span></span></span></span>
<span class="line"><span class="line-number">41</span><span class="line-content"><span class="line"><span style="color:#005CC5">    print</span><span style="color:#24292E">(</span><span style="color:#032F62">"failed:"</span><span style="color:#24292E">, e.detail)</span></span></span></span></code></pre>32:T2ca0,<pre class="shiki-dark" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#6A737D"># pip install "segmind>=1.1.0"</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"><span style="color:#6A737D"># export SEGMIND_API_KEY="YOUR_API_KEY"</span></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#F97583">import</span><span style="color:#E1E4E8"> segmind</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#6A737D"># Async (v2): submit to the queue and block until COMPLETED.</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#6A737D"># run() returns the final result dict (600s deadline, 1.0s poll by default).</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">result </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> segmind.run(</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "gpt-image-1.5"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#FFAB70">    prompt</span><span style="color:#F97583">=</span><span style="color:#9ECBFF">"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio "</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#FFAB70">    size</span><span style="color:#F97583">=</span><span style="color:#9ECBFF">"1536x1024"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#FFAB70">    quality</span><span style="color:#F97583">=</span><span style="color:#9ECBFF">"high"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#FFAB70">    moderation</span><span style="color:#F97583">=</span><span style="color:#9ECBFF">"auto"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#FFAB70">    background</span><span style="color:#F97583">=</span><span style="color:#9ECBFF">"opaque"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#FFAB70">    output_compression</span><span style="color:#F97583">=</span><span style="color:#79B8FF">100</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#FFAB70">    output_format</span><span style="color:#F97583">=</span><span style="color:#9ECBFF">"png"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#79B8FF">print</span><span style="color:#E1E4E8">(result[</span><span style="color:#9ECBFF">"status"</span><span style="color:#E1E4E8">])                      </span><span style="color:#6A737D"># COMPLETED</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#79B8FF">print</span><span style="color:#E1E4E8">(result.get(</span><span style="color:#9ECBFF">"output"</span><span style="color:#E1E4E8">))                  </span><span style="color:#6A737D"># model output (e.g. media URL)</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#79B8FF">print</span><span style="color:#E1E4E8">(result[</span><span style="color:#9ECBFF">"metrics"</span><span style="color:#E1E4E8">][</span><span style="color:#9ECBFF">"inference_time"</span><span style="color:#E1E4E8">])   </span><span style="color:#6A737D"># server compute seconds</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#6A737D"># --- Or submit + poll manually (track request_id, control the cadence) ---</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#F97583">from</span><span style="color:#E1E4E8"> segmind </span><span style="color:#F97583">import</span><span style="color:#E1E4E8"> SegmindClient, InferenceFailed, InferenceTimeout</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">client </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> SegmindClient()                      </span><span style="color:#6A737D"># reads SEGMIND_API_KEY</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">payload </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> {</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "prompt"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio "</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "size"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"1536x1024"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "quality"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"high"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "moderation"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"auto"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "background"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"opaque"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "output_compression"</span><span style="color:#E1E4E8">: </span><span style="color:#79B8FF">100</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "output_format"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"png"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">}</span></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">job </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> client.submit_async(</span><span style="color:#9ECBFF">"gpt-image-1.5"</span><span style="color:#E1E4E8">, </span><span style="color:#F97583">**</span><span style="color:#E1E4E8">payload)</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#79B8FF">print</span><span style="color:#E1E4E8">(job.request_id)                         </span><span style="color:#6A737D"># available immediately</span></span></span></span>
<span class="line"><span class="line-number">36</span><span class="line-content"><span class="line"><span style="color:#F97583">try</span><span style="color:#E1E4E8">:</span></span></span></span>
<span class="line"><span class="line-number">37</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    result </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> job.wait(</span><span style="color:#FFAB70">timeout</span><span style="color:#F97583">=</span><span style="color:#79B8FF">600</span><span style="color:#E1E4E8">, </span><span style="color:#FFAB70">interval</span><span style="color:#F97583">=</span><span style="color:#79B8FF">1.0</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">38</span><span class="line-content"><span class="line"><span style="color:#F97583">except</span><span style="color:#E1E4E8"> InferenceTimeout </span><span style="color:#F97583">as</span><span style="color:#E1E4E8"> e:</span></span></span></span>
<span class="line"><span class="line-number">39</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    print</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"still running:"</span><span style="color:#E1E4E8">, e.request_id)</span></span></span></span>
<span class="line"><span class="line-number">40</span><span class="line-content"><span class="line"><span style="color:#F97583">except</span><span style="color:#E1E4E8"> InferenceFailed </span><span style="color:#F97583">as</span><span style="color:#E1E4E8"> e:</span></span></span></span>
<span class="line"><span class="line-number">41</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    print</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"failed:"</span><span style="color:#E1E4E8">, e.detail)</span></span></span></span></code></pre>33:T142c,<pre class="shiki-light" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#6A737D"># 1. Submit to the v2 async endpoint -> returns a request_id</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"><span style="color:#24292E">REQUEST_ID</span><span style="color:#D73A49">=</span><span style="color:#24292E">$(</span><span style="color:#6F42C1">curl</span><span style="color:#005CC5"> -s</span><span style="color:#005CC5"> -X</span><span style="color:#032F62"> POST</span><span style="color:#032F62"> "https://api.segmind.com/v2/gpt-image-1.5"</span><span style="color:#005CC5"> \</span></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#005CC5">  -H</span><span style="color:#032F62"> "x-api-key: YOUR_API_KEY"</span><span style="color:#005CC5"> \</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#005CC5">  -H</span><span style="color:#032F62"> "Content-Type: application/json"</span><span style="color:#005CC5"> \</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#005CC5">  -d</span><span style="color:#032F62"> '{</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#032F62">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#032F62">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#032F62">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#032F62">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#032F62">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#032F62">}'</span><span style="color:#D73A49"> |</span><span style="color:#6F42C1"> jq</span><span style="color:#005CC5"> -r</span><span style="color:#032F62"> .request_id</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#6A737D"># 2. Poll status until "COMPLETED" (FAILED is served as HTTP 422)</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#6F42C1">curl</span><span style="color:#005CC5"> -s</span><span style="color:#032F62"> "https://api.segmind.com/v2/requests/</span><span style="color:#24292E">$REQUEST_ID</span><span style="color:#032F62">/status"</span><span style="color:#005CC5"> \</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#005CC5">  -H</span><span style="color:#032F62"> "x-api-key: YOUR_API_KEY"</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#6A737D"># 3. Fetch the final result body (available for 1 hour)</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#6F42C1">curl</span><span style="color:#005CC5"> -s</span><span style="color:#032F62"> "https://api.segmind.com/v2/requests/</span><span style="color:#24292E">$REQUEST_ID</span><span style="color:#032F62">"</span><span style="color:#005CC5"> \</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#005CC5">  -H</span><span style="color:#032F62"> "x-api-key: YOUR_API_KEY"</span></span></span></span></code></pre>34:T142b,<pre class="shiki-dark" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#6A737D"># 1. Submit to the v2 async endpoint -> returns a request_id</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">REQUEST_ID</span><span style="color:#F97583">=</span><span style="color:#E1E4E8">$(</span><span style="color:#B392F0">curl</span><span style="color:#79B8FF"> -s</span><span style="color:#79B8FF"> -X</span><span style="color:#9ECBFF"> POST</span><span style="color:#9ECBFF"> "https://api.segmind.com/v2/gpt-image-1.5"</span><span style="color:#79B8FF"> \</span></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#79B8FF">  -H</span><span style="color:#9ECBFF"> "x-api-key: YOUR_API_KEY"</span><span style="color:#79B8FF"> \</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#79B8FF">  -H</span><span style="color:#9ECBFF"> "Content-Type: application/json"</span><span style="color:#79B8FF"> \</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#79B8FF">  -d</span><span style="color:#9ECBFF"> '{</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">}'</span><span style="color:#F97583"> |</span><span style="color:#B392F0"> jq</span><span style="color:#79B8FF"> -r</span><span style="color:#9ECBFF"> .request_id</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#6A737D"># 2. Poll status until "COMPLETED" (FAILED is served as HTTP 422)</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#B392F0">curl</span><span style="color:#79B8FF"> -s</span><span style="color:#9ECBFF"> "https://api.segmind.com/v2/requests/</span><span style="color:#E1E4E8">$REQUEST_ID</span><span style="color:#9ECBFF">/status"</span><span style="color:#79B8FF"> \</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#79B8FF">  -H</span><span style="color:#9ECBFF"> "x-api-key: YOUR_API_KEY"</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#6A737D"># 3. Fetch the final result body (available for 1 hour)</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#B392F0">curl</span><span style="color:#79B8FF"> -s</span><span style="color:#9ECBFF"> "https://api.segmind.com/v2/requests/</span><span style="color:#E1E4E8">$REQUEST_ID</span><span style="color:#9ECBFF">"</span><span style="color:#79B8FF"> \</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#79B8FF">  -H</span><span style="color:#9ECBFF"> "x-api-key: YOUR_API_KEY"</span></span></span></span></code></pre>35:T4df,const API_KEY = 'YOUR_API_KEY';

// 1. Submit to the v2 async endpoint -> returns a request_id
const submit = await fetch('https://api.segmind.com/v2/gpt-image-1.5', {
  method: 'POST',
  headers: {
    'x-api-key': API_KEY,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",
  "size": "1536x1024",
  "quality": "high",
  "moderation": "auto",
  "background": "opaque",
  "output_compression": 100,
  "output_format": "png"
}),
});
const { request_id } = await submit.json();

// 2. Poll status until COMPLETED (FAILED is served as HTTP 422)
let status = 'QUEUED';
while (status === 'QUEUED' || status === 'PROCESSING') {
  await new Promise((r) => setTimeout(r, 1000));
  const res = await fetch('https://api.segmind.com/v2/requests/' + request_id + '/status', {
    headers: { 'x-api-key': API_KEY },
  });
  status = (await res.json()).status;
  console.log(status);
}

// 3. Fetch the final result body (available for 1 hour)
const result = await fetch('https://api.segmind.com/v2/requests/' + request_id, {
  headers: { 'x-api-key': API_KEY },
});
console.log(await result.json());36:T2ada,<pre class="shiki-light" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#D73A49">const</span><span style="color:#005CC5"> API_KEY</span><span style="color:#D73A49"> =</span><span style="color:#032F62"> 'YOUR_API_KEY'</span><span style="color:#24292E">;</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#6A737D">// 1. Submit to the v2 async endpoint -> returns a request_id</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#D73A49">const</span><span style="color:#005CC5"> submit</span><span style="color:#D73A49"> =</span><span style="color:#D73A49"> await</span><span style="color:#6F42C1"> fetch</span><span style="color:#24292E">(</span><span style="color:#032F62">'https://api.segmind.com/v2/gpt-image-1.5'</span><span style="color:#24292E">, {</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#24292E">  method: </span><span style="color:#032F62">'POST'</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#24292E">  headers: {</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#032F62">    'x-api-key'</span><span style="color:#24292E">: </span><span style="color:#005CC5">API_KEY</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#032F62">    'Content-Type'</span><span style="color:#24292E">: </span><span style="color:#032F62">'application/json'</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#24292E">  },</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#24292E">  body: </span><span style="color:#005CC5">JSON</span><span style="color:#24292E">.</span><span style="color:#6F42C1">stringify</span><span style="color:#24292E">({</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#032F62">  "prompt"</span><span style="color:#24292E">: </span><span style="color:#032F62">"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio "</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#032F62">  "size"</span><span style="color:#24292E">: </span><span style="color:#032F62">"1536x1024"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#032F62">  "quality"</span><span style="color:#24292E">: </span><span style="color:#032F62">"high"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#032F62">  "moderation"</span><span style="color:#24292E">: </span><span style="color:#032F62">"auto"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#032F62">  "background"</span><span style="color:#24292E">: </span><span style="color:#032F62">"opaque"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_compression"</span><span style="color:#24292E">: </span><span style="color:#005CC5">100</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_format"</span><span style="color:#24292E">: </span><span style="color:#032F62">"png"</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#24292E">}),</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#24292E">});</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#D73A49">const</span><span style="color:#24292E"> { </span><span style="color:#005CC5">request_id</span><span style="color:#24292E"> } </span><span style="color:#D73A49">=</span><span style="color:#D73A49"> await</span><span style="color:#24292E"> submit.</span><span style="color:#6F42C1">json</span><span style="color:#24292E">();</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#6A737D">// 2. Poll status until COMPLETED (FAILED is served as HTTP 422)</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#D73A49">let</span><span style="color:#24292E"> status </span><span style="color:#D73A49">=</span><span style="color:#032F62"> 'QUEUED'</span><span style="color:#24292E">;</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#D73A49">while</span><span style="color:#24292E"> (status </span><span style="color:#D73A49">===</span><span style="color:#032F62"> 'QUEUED'</span><span style="color:#D73A49"> ||</span><span style="color:#24292E"> status </span><span style="color:#D73A49">===</span><span style="color:#032F62"> 'PROCESSING'</span><span style="color:#24292E">) {</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#D73A49">  await</span><span style="color:#D73A49"> new</span><span style="color:#005CC5"> Promise</span><span style="color:#24292E">((</span><span style="color:#E36209">r</span><span style="color:#24292E">) </span><span style="color:#D73A49">=></span><span style="color:#6F42C1"> setTimeout</span><span style="color:#24292E">(r, </span><span style="color:#005CC5">1000</span><span style="color:#24292E">));</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#D73A49">  const</span><span style="color:#005CC5"> res</span><span style="color:#D73A49"> =</span><span style="color:#D73A49"> await</span><span style="color:#6F42C1"> fetch</span><span style="color:#24292E">(</span><span style="color:#032F62">'https://api.segmind.com/v2/requests/'</span><span style="color:#D73A49"> +</span><span style="color:#24292E"> request_id </span><span style="color:#D73A49">+</span><span style="color:#032F62"> '/status'</span><span style="color:#24292E">, {</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#24292E">    headers: { </span><span style="color:#032F62">'x-api-key'</span><span style="color:#24292E">: </span><span style="color:#005CC5">API_KEY</span><span style="color:#24292E"> },</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#24292E">  });</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#24292E">  status </span><span style="color:#D73A49">=</span><span style="color:#24292E"> (</span><span style="color:#D73A49">await</span><span style="color:#24292E"> res.</span><span style="color:#6F42C1">json</span><span style="color:#24292E">()).status;</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#24292E">  console.</span><span style="color:#6F42C1">log</span><span style="color:#24292E">(status);</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#24292E">}</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"><span style="color:#6A737D">// 3. Fetch the final result body (available for 1 hour)</span></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#D73A49">const</span><span style="color:#005CC5"> result</span><span style="color:#D73A49"> =</span><span style="color:#D73A49"> await</span><span style="color:#6F42C1"> fetch</span><span style="color:#24292E">(</span><span style="color:#032F62">'https://api.segmind.com/v2/requests/'</span><span style="color:#D73A49"> +</span><span style="color:#24292E"> request_id, {</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#24292E">  headers: { </span><span style="color:#032F62">'x-api-key'</span><span style="color:#24292E">: </span><span style="color:#005CC5">API_KEY</span><span style="color:#24292E"> },</span></span></span></span>
<span class="line"><span class="line-number">36</span><span class="line-content"><span class="line"><span style="color:#24292E">});</span></span></span></span>
<span class="line"><span class="line-number">37</span><span class="line-content"><span class="line"><span style="color:#24292E">console.</span><span style="color:#6F42C1">log</span><span style="color:#24292E">(</span><span style="color:#D73A49">await</span><span style="color:#24292E"> result.</span><span style="color:#6F42C1">json</span><span style="color:#24292E">());</span></span></span></span></code></pre>37:T2ad9,<pre class="shiki-dark" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#F97583">const</span><span style="color:#79B8FF"> API_KEY</span><span style="color:#F97583"> =</span><span style="color:#9ECBFF"> 'YOUR_API_KEY'</span><span style="color:#E1E4E8">;</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#6A737D">// 1. Submit to the v2 async endpoint -> returns a request_id</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#F97583">const</span><span style="color:#79B8FF"> submit</span><span style="color:#F97583"> =</span><span style="color:#F97583"> await</span><span style="color:#B392F0"> fetch</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">'https://api.segmind.com/v2/gpt-image-1.5'</span><span style="color:#E1E4E8">, {</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  method: </span><span style="color:#9ECBFF">'POST'</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  headers: {</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    'x-api-key'</span><span style="color:#E1E4E8">: </span><span style="color:#79B8FF">API_KEY</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    'Content-Type'</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">'application/json'</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  },</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  body: </span><span style="color:#79B8FF">JSON</span><span style="color:#E1E4E8">.</span><span style="color:#B392F0">stringify</span><span style="color:#E1E4E8">({</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "prompt"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio "</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "size"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"1536x1024"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "quality"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"high"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "moderation"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"auto"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "background"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"opaque"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_compression"</span><span style="color:#E1E4E8">: </span><span style="color:#79B8FF">100</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_format"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"png"</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">}),</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">});</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#F97583">const</span><span style="color:#E1E4E8"> { </span><span style="color:#79B8FF">request_id</span><span style="color:#E1E4E8"> } </span><span style="color:#F97583">=</span><span style="color:#F97583"> await</span><span style="color:#E1E4E8"> submit.</span><span style="color:#B392F0">json</span><span style="color:#E1E4E8">();</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#6A737D">// 2. Poll status until COMPLETED (FAILED is served as HTTP 422)</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#F97583">let</span><span style="color:#E1E4E8"> status </span><span style="color:#F97583">=</span><span style="color:#9ECBFF"> 'QUEUED'</span><span style="color:#E1E4E8">;</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#F97583">while</span><span style="color:#E1E4E8"> (status </span><span style="color:#F97583">===</span><span style="color:#9ECBFF"> 'QUEUED'</span><span style="color:#F97583"> ||</span><span style="color:#E1E4E8"> status </span><span style="color:#F97583">===</span><span style="color:#9ECBFF"> 'PROCESSING'</span><span style="color:#E1E4E8">) {</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#F97583">  await</span><span style="color:#F97583"> new</span><span style="color:#79B8FF"> Promise</span><span style="color:#E1E4E8">((</span><span style="color:#FFAB70">r</span><span style="color:#E1E4E8">) </span><span style="color:#F97583">=></span><span style="color:#B392F0"> setTimeout</span><span style="color:#E1E4E8">(r, </span><span style="color:#79B8FF">1000</span><span style="color:#E1E4E8">));</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#F97583">  const</span><span style="color:#79B8FF"> res</span><span style="color:#F97583"> =</span><span style="color:#F97583"> await</span><span style="color:#B392F0"> fetch</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">'https://api.segmind.com/v2/requests/'</span><span style="color:#F97583"> +</span><span style="color:#E1E4E8"> request_id </span><span style="color:#F97583">+</span><span style="color:#9ECBFF"> '/status'</span><span style="color:#E1E4E8">, {</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    headers: { </span><span style="color:#9ECBFF">'x-api-key'</span><span style="color:#E1E4E8">: </span><span style="color:#79B8FF">API_KEY</span><span style="color:#E1E4E8"> },</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  });</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  status </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> (</span><span style="color:#F97583">await</span><span style="color:#E1E4E8"> res.</span><span style="color:#B392F0">json</span><span style="color:#E1E4E8">()).status;</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  console.</span><span style="color:#B392F0">log</span><span style="color:#E1E4E8">(status);</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">}</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"><span style="color:#6A737D">// 3. Fetch the final result body (available for 1 hour)</span></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#F97583">const</span><span style="color:#79B8FF"> result</span><span style="color:#F97583"> =</span><span style="color:#F97583"> await</span><span style="color:#B392F0"> fetch</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">'https://api.segmind.com/v2/requests/'</span><span style="color:#F97583"> +</span><span style="color:#E1E4E8"> request_id, {</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  headers: { </span><span style="color:#9ECBFF">'x-api-key'</span><span style="color:#E1E4E8">: </span><span style="color:#79B8FF">API_KEY</span><span style="color:#E1E4E8"> },</span></span></span></span>
<span class="line"><span class="line-number">36</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">});</span></span></span></span>
<span class="line"><span class="line-number">37</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">console.</span><span style="color:#B392F0">log</span><span style="color:#E1E4E8">(</span><span style="color:#F97583">await</span><span style="color:#E1E4E8"> result.</span><span style="color:#B392F0">json</span><span style="color:#E1E4E8">());</span></span></span></span></code></pre>38:T7d9,package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io"
    "net/http"
    "time"
)

const apiKey = "YOUR_API_KEY"

func main() {
    client := &http.Client{}
    data := []byte(`{
  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",
  "size": "1536x1024",
  "quality": "high",
  "moderation": "auto",
  "background": "opaque",
  "output_compression": 100,
  "output_format": "png"
}`)

    // 1. Submit to the v2 async endpoint -> returns a request_id
    req, _ := http.NewRequest("POST", "https://api.segmind.com/v2/gpt-image-1.5", bytes.NewBuffer(data))
    req.Header.Set("x-api-key", apiKey)
    req.Header.Set("Content-Type", "application/json")
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    var submit map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&submit)
    resp.Body.Close()
    requestID, ok := submit["request_id"].(string)
    if !ok {
        panic(fmt.Sprintf("submit failed: %v", submit))
    }

    // 2. Poll status until COMPLETED (FAILED is served as HTTP 422)
    status := "QUEUED"
    for status == "QUEUED" || status == "PROCESSING" {
        time.Sleep(time.Second)
        sReq, _ := http.NewRequest("GET", "https://api.segmind.com/v2/requests/"+requestID+"/status", nil)
        sReq.Header.Set("x-api-key", apiKey)
        sResp, err := client.Do(sReq)
        if err != nil {
            panic(err)
        }
        var s map[string]interface{}
        json.NewDecoder(sResp.Body).Decode(&s)
        sResp.Body.Close()
        status, _ = s["status"].(string)
        fmt.Println(status)
    }

    // 3. Fetch the final result body (available for 1 hour)
    rReq, _ := http.NewRequest("GET", "https://api.segmind.com/v2/requests/"+requestID, nil)
    rReq.Header.Set("x-api-key", apiKey)
    rResp, _ := client.Do(rReq)
    defer rResp.Body.Close()
    body, _ := io.ReadAll(rResp.Body)
    fmt.Println(string(body))
}39:T4872,<pre class="shiki-light" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#D73A49">package</span><span style="color:#6F42C1"> main</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#D73A49">import</span><span style="color:#24292E"> (</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#032F62">    "</span><span style="color:#6F42C1">bytes</span><span style="color:#032F62">"</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#032F62">    "</span><span style="color:#6F42C1">encoding/json</span><span style="color:#032F62">"</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#032F62">    "</span><span style="color:#6F42C1">fmt</span><span style="color:#032F62">"</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#032F62">    "</span><span style="color:#6F42C1">io</span><span style="color:#032F62">"</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#032F62">    "</span><span style="color:#6F42C1">net/http</span><span style="color:#032F62">"</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#032F62">    "</span><span style="color:#6F42C1">time</span><span style="color:#032F62">"</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#D73A49">const</span><span style="color:#005CC5"> apiKey</span><span style="color:#D73A49"> =</span><span style="color:#032F62"> "YOUR_API_KEY"</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#D73A49">func</span><span style="color:#6F42C1"> main</span><span style="color:#24292E">() {</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#24292E">    client </span><span style="color:#D73A49">:=</span><span style="color:#D73A49"> &#x26;</span><span style="color:#6F42C1">http</span><span style="color:#24292E">.</span><span style="color:#6F42C1">Client</span><span style="color:#24292E">{}</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#24292E">    data </span><span style="color:#D73A49">:=</span><span style="color:#24292E"> []</span><span style="color:#D73A49">byte</span><span style="color:#24292E">(</span><span style="color:#032F62">`{</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#032F62">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#032F62">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#032F62">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#032F62">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#032F62">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#032F62">}`</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#6A737D">    // 1. Submit to the v2 async endpoint -> returns a request_id</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#24292E">    req, _ </span><span style="color:#D73A49">:=</span><span style="color:#24292E"> http.</span><span style="color:#6F42C1">NewRequest</span><span style="color:#24292E">(</span><span style="color:#032F62">"POST"</span><span style="color:#24292E">, </span><span style="color:#032F62">"https://api.segmind.com/v2/gpt-image-1.5"</span><span style="color:#24292E">, bytes.</span><span style="color:#6F42C1">NewBuffer</span><span style="color:#24292E">(data))</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#24292E">    req.Header.</span><span style="color:#6F42C1">Set</span><span style="color:#24292E">(</span><span style="color:#032F62">"x-api-key"</span><span style="color:#24292E">, apiKey)</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#24292E">    req.Header.</span><span style="color:#6F42C1">Set</span><span style="color:#24292E">(</span><span style="color:#032F62">"Content-Type"</span><span style="color:#24292E">, </span><span style="color:#032F62">"application/json"</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#24292E">    resp, err </span><span style="color:#D73A49">:=</span><span style="color:#24292E"> client.</span><span style="color:#6F42C1">Do</span><span style="color:#24292E">(req)</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#D73A49">    if</span><span style="color:#24292E"> err </span><span style="color:#D73A49">!=</span><span style="color:#005CC5"> nil</span><span style="color:#24292E"> {</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"><span style="color:#6F42C1">        panic</span><span style="color:#24292E">(err)</span></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"><span style="color:#24292E">    }</span></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#D73A49">    var</span><span style="color:#24292E"> submit </span><span style="color:#D73A49">map</span><span style="color:#24292E">[</span><span style="color:#D73A49">string</span><span style="color:#24292E">]</span><span style="color:#D73A49">interface</span><span style="color:#24292E">{}</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#24292E">    json.</span><span style="color:#6F42C1">NewDecoder</span><span style="color:#24292E">(resp.Body).</span><span style="color:#6F42C1">Decode</span><span style="color:#24292E">(</span><span style="color:#D73A49">&#x26;</span><span style="color:#24292E">submit)</span></span></span></span>
<span class="line"><span class="line-number">36</span><span class="line-content"><span class="line"><span style="color:#24292E">    resp.Body.</span><span style="color:#6F42C1">Close</span><span style="color:#24292E">()</span></span></span></span>
<span class="line"><span class="line-number">37</span><span class="line-content"><span class="line"><span style="color:#24292E">    requestID, ok </span><span style="color:#D73A49">:=</span><span style="color:#24292E"> submit[</span><span style="color:#032F62">"request_id"</span><span style="color:#24292E">].(</span><span style="color:#D73A49">string</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">38</span><span class="line-content"><span class="line"><span style="color:#D73A49">    if</span><span style="color:#D73A49"> !</span><span style="color:#24292E">ok {</span></span></span></span>
<span class="line"><span class="line-number">39</span><span class="line-content"><span class="line"><span style="color:#6F42C1">        panic</span><span style="color:#24292E">(fmt.</span><span style="color:#6F42C1">Sprintf</span><span style="color:#24292E">(</span><span style="color:#032F62">"submit failed: </span><span style="color:#005CC5">%v</span><span style="color:#032F62">"</span><span style="color:#24292E">, submit))</span></span></span></span>
<span class="line"><span class="line-number">40</span><span class="line-content"><span class="line"><span style="color:#24292E">    }</span></span></span></span>
<span class="line"><span class="line-number">41</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">42</span><span class="line-content"><span class="line"><span style="color:#6A737D">    // 2. Poll status until COMPLETED (FAILED is served as HTTP 422)</span></span></span></span>
<span class="line"><span class="line-number">43</span><span class="line-content"><span class="line"><span style="color:#24292E">    status </span><span style="color:#D73A49">:=</span><span style="color:#032F62"> "QUEUED"</span></span></span></span>
<span class="line"><span class="line-number">44</span><span class="line-content"><span class="line"><span style="color:#D73A49">    for</span><span style="color:#24292E"> status </span><span style="color:#D73A49">==</span><span style="color:#032F62"> "QUEUED"</span><span style="color:#D73A49"> ||</span><span style="color:#24292E"> status </span><span style="color:#D73A49">==</span><span style="color:#032F62"> "PROCESSING"</span><span style="color:#24292E"> {</span></span></span></span>
<span class="line"><span class="line-number">45</span><span class="line-content"><span class="line"><span style="color:#24292E">        time.</span><span style="color:#6F42C1">Sleep</span><span style="color:#24292E">(time.Second)</span></span></span></span>
<span class="line"><span class="line-number">46</span><span class="line-content"><span class="line"><span style="color:#24292E">        sReq, _ </span><span style="color:#D73A49">:=</span><span style="color:#24292E"> http.</span><span style="color:#6F42C1">NewRequest</span><span style="color:#24292E">(</span><span style="color:#032F62">"GET"</span><span style="color:#24292E">, </span><span style="color:#032F62">"https://api.segmind.com/v2/requests/"</span><span style="color:#D73A49">+</span><span style="color:#24292E">requestID</span><span style="color:#D73A49">+</span><span style="color:#032F62">"/status"</span><span style="color:#24292E">, </span><span style="color:#005CC5">nil</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">47</span><span class="line-content"><span class="line"><span style="color:#24292E">        sReq.Header.</span><span style="color:#6F42C1">Set</span><span style="color:#24292E">(</span><span style="color:#032F62">"x-api-key"</span><span style="color:#24292E">, apiKey)</span></span></span></span>
<span class="line"><span class="line-number">48</span><span class="line-content"><span class="line"><span style="color:#24292E">        sResp, err </span><span style="color:#D73A49">:=</span><span style="color:#24292E"> client.</span><span style="color:#6F42C1">Do</span><span style="color:#24292E">(sReq)</span></span></span></span>
<span class="line"><span class="line-number">49</span><span class="line-content"><span class="line"><span style="color:#D73A49">        if</span><span style="color:#24292E"> err </span><span style="color:#D73A49">!=</span><span style="color:#005CC5"> nil</span><span style="color:#24292E"> {</span></span></span></span>
<span class="line"><span class="line-number">50</span><span class="line-content"><span class="line"><span style="color:#6F42C1">            panic</span><span style="color:#24292E">(err)</span></span></span></span>
<span class="line"><span class="line-number">51</span><span class="line-content"><span class="line"><span style="color:#24292E">        }</span></span></span></span>
<span class="line"><span class="line-number">52</span><span class="line-content"><span class="line"><span style="color:#D73A49">        var</span><span style="color:#24292E"> s </span><span style="color:#D73A49">map</span><span style="color:#24292E">[</span><span style="color:#D73A49">string</span><span style="color:#24292E">]</span><span style="color:#D73A49">interface</span><span style="color:#24292E">{}</span></span></span></span>
<span class="line"><span class="line-number">53</span><span class="line-content"><span class="line"><span style="color:#24292E">        json.</span><span style="color:#6F42C1">NewDecoder</span><span style="color:#24292E">(sResp.Body).</span><span style="color:#6F42C1">Decode</span><span style="color:#24292E">(</span><span style="color:#D73A49">&#x26;</span><span style="color:#24292E">s)</span></span></span></span>
<span class="line"><span class="line-number">54</span><span class="line-content"><span class="line"><span style="color:#24292E">        sResp.Body.</span><span style="color:#6F42C1">Close</span><span style="color:#24292E">()</span></span></span></span>
<span class="line"><span class="line-number">55</span><span class="line-content"><span class="line"><span style="color:#24292E">        status, _ </span><span style="color:#D73A49">=</span><span style="color:#24292E"> s[</span><span style="color:#032F62">"status"</span><span style="color:#24292E">].(</span><span style="color:#D73A49">string</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">56</span><span class="line-content"><span class="line"><span style="color:#24292E">        fmt.</span><span style="color:#6F42C1">Println</span><span style="color:#24292E">(status)</span></span></span></span>
<span class="line"><span class="line-number">57</span><span class="line-content"><span class="line"><span style="color:#24292E">    }</span></span></span></span>
<span class="line"><span class="line-number">58</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">59</span><span class="line-content"><span class="line"><span style="color:#6A737D">    // 3. Fetch the final result body (available for 1 hour)</span></span></span></span>
<span class="line"><span class="line-number">60</span><span class="line-content"><span class="line"><span style="color:#24292E">    rReq, _ </span><span style="color:#D73A49">:=</span><span style="color:#24292E"> http.</span><span style="color:#6F42C1">NewRequest</span><span style="color:#24292E">(</span><span style="color:#032F62">"GET"</span><span style="color:#24292E">, </span><span style="color:#032F62">"https://api.segmind.com/v2/requests/"</span><span style="color:#D73A49">+</span><span style="color:#24292E">requestID, </span><span style="color:#005CC5">nil</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">61</span><span class="line-content"><span class="line"><span style="color:#24292E">    rReq.Header.</span><span style="color:#6F42C1">Set</span><span style="color:#24292E">(</span><span style="color:#032F62">"x-api-key"</span><span style="color:#24292E">, apiKey)</span></span></span></span>
<span class="line"><span class="line-number">62</span><span class="line-content"><span class="line"><span style="color:#24292E">    rResp, _ </span><span style="color:#D73A49">:=</span><span style="color:#24292E"> client.</span><span style="color:#6F42C1">Do</span><span style="color:#24292E">(rReq)</span></span></span></span>
<span class="line"><span class="line-number">63</span><span class="line-content"><span class="line"><span style="color:#D73A49">    defer</span><span style="color:#24292E"> rResp.Body.</span><span style="color:#6F42C1">Close</span><span style="color:#24292E">()</span></span></span></span>
<span class="line"><span class="line-number">64</span><span class="line-content"><span class="line"><span style="color:#24292E">    body, _ </span><span style="color:#D73A49">:=</span><span style="color:#24292E"> io.</span><span style="color:#6F42C1">ReadAll</span><span style="color:#24292E">(rResp.Body)</span></span></span></span>
<span class="line"><span class="line-number">65</span><span class="line-content"><span class="line"><span style="color:#24292E">    fmt.</span><span style="color:#6F42C1">Println</span><span style="color:#24292E">(</span><span style="color:#D73A49">string</span><span style="color:#24292E">(body))</span></span></span></span>
<span class="line"><span class="line-number">66</span><span class="line-content"><span class="line"><span style="color:#24292E">}</span></span></span></span></code></pre>3a:T4871,<pre class="shiki-dark" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#F97583">package</span><span style="color:#B392F0"> main</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#F97583">import</span><span style="color:#E1E4E8"> (</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "</span><span style="color:#B392F0">bytes</span><span style="color:#9ECBFF">"</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "</span><span style="color:#B392F0">encoding/json</span><span style="color:#9ECBFF">"</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "</span><span style="color:#B392F0">fmt</span><span style="color:#9ECBFF">"</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "</span><span style="color:#B392F0">io</span><span style="color:#9ECBFF">"</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "</span><span style="color:#B392F0">net/http</span><span style="color:#9ECBFF">"</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "</span><span style="color:#B392F0">time</span><span style="color:#9ECBFF">"</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#F97583">const</span><span style="color:#79B8FF"> apiKey</span><span style="color:#F97583"> =</span><span style="color:#9ECBFF"> "YOUR_API_KEY"</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#F97583">func</span><span style="color:#B392F0"> main</span><span style="color:#E1E4E8">() {</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    client </span><span style="color:#F97583">:=</span><span style="color:#F97583"> &#x26;</span><span style="color:#B392F0">http</span><span style="color:#E1E4E8">.</span><span style="color:#B392F0">Client</span><span style="color:#E1E4E8">{}</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    data </span><span style="color:#F97583">:=</span><span style="color:#E1E4E8"> []</span><span style="color:#F97583">byte</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">`{</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">}`</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#6A737D">    // 1. Submit to the v2 async endpoint -> returns a request_id</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    req, _ </span><span style="color:#F97583">:=</span><span style="color:#E1E4E8"> http.</span><span style="color:#B392F0">NewRequest</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"POST"</span><span style="color:#E1E4E8">, </span><span style="color:#9ECBFF">"https://api.segmind.com/v2/gpt-image-1.5"</span><span style="color:#E1E4E8">, bytes.</span><span style="color:#B392F0">NewBuffer</span><span style="color:#E1E4E8">(data))</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    req.Header.</span><span style="color:#B392F0">Set</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"x-api-key"</span><span style="color:#E1E4E8">, apiKey)</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    req.Header.</span><span style="color:#B392F0">Set</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Content-Type"</span><span style="color:#E1E4E8">, </span><span style="color:#9ECBFF">"application/json"</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    resp, err </span><span style="color:#F97583">:=</span><span style="color:#E1E4E8"> client.</span><span style="color:#B392F0">Do</span><span style="color:#E1E4E8">(req)</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#F97583">    if</span><span style="color:#E1E4E8"> err </span><span style="color:#F97583">!=</span><span style="color:#79B8FF"> nil</span><span style="color:#E1E4E8"> {</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"><span style="color:#B392F0">        panic</span><span style="color:#E1E4E8">(err)</span></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    }</span></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#F97583">    var</span><span style="color:#E1E4E8"> submit </span><span style="color:#F97583">map</span><span style="color:#E1E4E8">[</span><span style="color:#F97583">string</span><span style="color:#E1E4E8">]</span><span style="color:#F97583">interface</span><span style="color:#E1E4E8">{}</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    json.</span><span style="color:#B392F0">NewDecoder</span><span style="color:#E1E4E8">(resp.Body).</span><span style="color:#B392F0">Decode</span><span style="color:#E1E4E8">(</span><span style="color:#F97583">&#x26;</span><span style="color:#E1E4E8">submit)</span></span></span></span>
<span class="line"><span class="line-number">36</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    resp.Body.</span><span style="color:#B392F0">Close</span><span style="color:#E1E4E8">()</span></span></span></span>
<span class="line"><span class="line-number">37</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    requestID, ok </span><span style="color:#F97583">:=</span><span style="color:#E1E4E8"> submit[</span><span style="color:#9ECBFF">"request_id"</span><span style="color:#E1E4E8">].(</span><span style="color:#F97583">string</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">38</span><span class="line-content"><span class="line"><span style="color:#F97583">    if</span><span style="color:#F97583"> !</span><span style="color:#E1E4E8">ok {</span></span></span></span>
<span class="line"><span class="line-number">39</span><span class="line-content"><span class="line"><span style="color:#B392F0">        panic</span><span style="color:#E1E4E8">(fmt.</span><span style="color:#B392F0">Sprintf</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"submit failed: </span><span style="color:#79B8FF">%v</span><span style="color:#9ECBFF">"</span><span style="color:#E1E4E8">, submit))</span></span></span></span>
<span class="line"><span class="line-number">40</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    }</span></span></span></span>
<span class="line"><span class="line-number">41</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">42</span><span class="line-content"><span class="line"><span style="color:#6A737D">    // 2. Poll status until COMPLETED (FAILED is served as HTTP 422)</span></span></span></span>
<span class="line"><span class="line-number">43</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    status </span><span style="color:#F97583">:=</span><span style="color:#9ECBFF"> "QUEUED"</span></span></span></span>
<span class="line"><span class="line-number">44</span><span class="line-content"><span class="line"><span style="color:#F97583">    for</span><span style="color:#E1E4E8"> status </span><span style="color:#F97583">==</span><span style="color:#9ECBFF"> "QUEUED"</span><span style="color:#F97583"> ||</span><span style="color:#E1E4E8"> status </span><span style="color:#F97583">==</span><span style="color:#9ECBFF"> "PROCESSING"</span><span style="color:#E1E4E8"> {</span></span></span></span>
<span class="line"><span class="line-number">45</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">        time.</span><span style="color:#B392F0">Sleep</span><span style="color:#E1E4E8">(time.Second)</span></span></span></span>
<span class="line"><span class="line-number">46</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">        sReq, _ </span><span style="color:#F97583">:=</span><span style="color:#E1E4E8"> http.</span><span style="color:#B392F0">NewRequest</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"GET"</span><span style="color:#E1E4E8">, </span><span style="color:#9ECBFF">"https://api.segmind.com/v2/requests/"</span><span style="color:#F97583">+</span><span style="color:#E1E4E8">requestID</span><span style="color:#F97583">+</span><span style="color:#9ECBFF">"/status"</span><span style="color:#E1E4E8">, </span><span style="color:#79B8FF">nil</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">47</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">        sReq.Header.</span><span style="color:#B392F0">Set</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"x-api-key"</span><span style="color:#E1E4E8">, apiKey)</span></span></span></span>
<span class="line"><span class="line-number">48</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">        sResp, err </span><span style="color:#F97583">:=</span><span style="color:#E1E4E8"> client.</span><span style="color:#B392F0">Do</span><span style="color:#E1E4E8">(sReq)</span></span></span></span>
<span class="line"><span class="line-number">49</span><span class="line-content"><span class="line"><span style="color:#F97583">        if</span><span style="color:#E1E4E8"> err </span><span style="color:#F97583">!=</span><span style="color:#79B8FF"> nil</span><span style="color:#E1E4E8"> {</span></span></span></span>
<span class="line"><span class="line-number">50</span><span class="line-content"><span class="line"><span style="color:#B392F0">            panic</span><span style="color:#E1E4E8">(err)</span></span></span></span>
<span class="line"><span class="line-number">51</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">        }</span></span></span></span>
<span class="line"><span class="line-number">52</span><span class="line-content"><span class="line"><span style="color:#F97583">        var</span><span style="color:#E1E4E8"> s </span><span style="color:#F97583">map</span><span style="color:#E1E4E8">[</span><span style="color:#F97583">string</span><span style="color:#E1E4E8">]</span><span style="color:#F97583">interface</span><span style="color:#E1E4E8">{}</span></span></span></span>
<span class="line"><span class="line-number">53</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">        json.</span><span style="color:#B392F0">NewDecoder</span><span style="color:#E1E4E8">(sResp.Body).</span><span style="color:#B392F0">Decode</span><span style="color:#E1E4E8">(</span><span style="color:#F97583">&#x26;</span><span style="color:#E1E4E8">s)</span></span></span></span>
<span class="line"><span class="line-number">54</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">        sResp.Body.</span><span style="color:#B392F0">Close</span><span style="color:#E1E4E8">()</span></span></span></span>
<span class="line"><span class="line-number">55</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">        status, _ </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> s[</span><span style="color:#9ECBFF">"status"</span><span style="color:#E1E4E8">].(</span><span style="color:#F97583">string</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">56</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">        fmt.</span><span style="color:#B392F0">Println</span><span style="color:#E1E4E8">(status)</span></span></span></span>
<span class="line"><span class="line-number">57</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    }</span></span></span></span>
<span class="line"><span class="line-number">58</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">59</span><span class="line-content"><span class="line"><span style="color:#6A737D">    // 3. Fetch the final result body (available for 1 hour)</span></span></span></span>
<span class="line"><span class="line-number">60</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    rReq, _ </span><span style="color:#F97583">:=</span><span style="color:#E1E4E8"> http.</span><span style="color:#B392F0">NewRequest</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"GET"</span><span style="color:#E1E4E8">, </span><span style="color:#9ECBFF">"https://api.segmind.com/v2/requests/"</span><span style="color:#F97583">+</span><span style="color:#E1E4E8">requestID, </span><span style="color:#79B8FF">nil</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">61</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    rReq.Header.</span><span style="color:#B392F0">Set</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"x-api-key"</span><span style="color:#E1E4E8">, apiKey)</span></span></span></span>
<span class="line"><span class="line-number">62</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    rResp, _ </span><span style="color:#F97583">:=</span><span style="color:#E1E4E8"> client.</span><span style="color:#B392F0">Do</span><span style="color:#E1E4E8">(rReq)</span></span></span></span>
<span class="line"><span class="line-number">63</span><span class="line-content"><span class="line"><span style="color:#F97583">    defer</span><span style="color:#E1E4E8"> rResp.Body.</span><span style="color:#B392F0">Close</span><span style="color:#E1E4E8">()</span></span></span></span>
<span class="line"><span class="line-number">64</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    body, _ </span><span style="color:#F97583">:=</span><span style="color:#E1E4E8"> io.</span><span style="color:#B392F0">ReadAll</span><span style="color:#E1E4E8">(rResp.Body)</span></span></span></span>
<span class="line"><span class="line-number">65</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    fmt.</span><span style="color:#B392F0">Println</span><span style="color:#E1E4E8">(</span><span style="color:#F97583">string</span><span style="color:#E1E4E8">(body))</span></span></span></span>
<span class="line"><span class="line-number">66</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">}</span></span></span></span></code></pre>3b:T681,<?php

$apiKey = 'YOUR_API_KEY';
$headers = [
    'x-api-key: ' . $apiKey,
    'Content-Type: application/json',
];

$data = '{
  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",
  "size": "1536x1024",
  "quality": "high",
  "moderation": "auto",
  "background": "opaque",
  "output_compression": 100,
  "output_format": "png"
}';

// 1. Submit to the v2 async endpoint -> returns a request_id
$curl = curl_init();
curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.segmind.com/v2/gpt-image-1.5',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $data,
    CURLOPT_HTTPHEADER => $headers,
]);
$submit = json_decode(curl_exec($curl), true);
$requestId = $submit['request_id'] ?? '';
curl_close($curl);

// 2. Poll status until COMPLETED (FAILED is served as HTTP 422)
$status = 'QUEUED';
while ($status === 'QUEUED' || $status === 'PROCESSING') {
    sleep(1);
    $curl = curl_init();
    curl_setopt_array($curl, [
        CURLOPT_URL => 'https://api.segmind.com/v2/requests/' . $requestId . '/status',
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => $headers,
    ]);
    $poll = json_decode(curl_exec($curl), true);
    $status = $poll['status'] ?? '';
    curl_close($curl);
    echo $status . "\n";
}

// 3. Fetch the final result body (available for 1 hour)
$curl = curl_init();
curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.segmind.com/v2/requests/' . $requestId,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
]);
echo curl_exec($curl);
curl_close($curl);

?>3c:T387b,<pre class="shiki-light" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#D73A49">&#x3C;?</span><span style="color:#005CC5">php</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#24292E">$apiKey </span><span style="color:#D73A49">=</span><span style="color:#032F62"> 'YOUR_API_KEY'</span><span style="color:#24292E">;</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#24292E">$headers </span><span style="color:#D73A49">=</span><span style="color:#24292E"> [</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#032F62">    'x-api-key: '</span><span style="color:#D73A49"> .</span><span style="color:#24292E"> $apiKey,</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#032F62">    'Content-Type: application/json'</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#24292E">];</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#24292E">$data </span><span style="color:#D73A49">=</span><span style="color:#032F62"> '{</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#032F62">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#032F62">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#032F62">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#032F62">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#032F62">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#032F62">}'</span><span style="color:#24292E">;</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#6A737D">// 1. Submit to the v2 async endpoint -> returns a request_id</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#24292E">$curl </span><span style="color:#D73A49">=</span><span style="color:#005CC5"> curl_init</span><span style="color:#24292E">();</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#005CC5">curl_setopt_array</span><span style="color:#24292E">($curl, [</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#005CC5">    CURLOPT_URL</span><span style="color:#D73A49"> =></span><span style="color:#032F62"> 'https://api.segmind.com/v2/gpt-image-1.5'</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#005CC5">    CURLOPT_RETURNTRANSFER</span><span style="color:#D73A49"> =></span><span style="color:#005CC5"> true</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#005CC5">    CURLOPT_POST</span><span style="color:#D73A49"> =></span><span style="color:#005CC5"> true</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#005CC5">    CURLOPT_POSTFIELDS</span><span style="color:#D73A49"> =></span><span style="color:#24292E"> $data,</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#005CC5">    CURLOPT_HTTPHEADER</span><span style="color:#D73A49"> =></span><span style="color:#24292E"> $headers,</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#24292E">]);</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#24292E">$submit </span><span style="color:#D73A49">=</span><span style="color:#005CC5"> json_decode</span><span style="color:#24292E">(</span><span style="color:#005CC5">curl_exec</span><span style="color:#24292E">($curl), </span><span style="color:#005CC5">true</span><span style="color:#24292E">);</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#24292E">$requestId </span><span style="color:#D73A49">=</span><span style="color:#24292E"> $submit[</span><span style="color:#032F62">'request_id'</span><span style="color:#24292E">] </span><span style="color:#D73A49">??</span><span style="color:#032F62"> ''</span><span style="color:#24292E">;</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#005CC5">curl_close</span><span style="color:#24292E">($curl);</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"><span style="color:#6A737D">// 2. Poll status until COMPLETED (FAILED is served as HTTP 422)</span></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"><span style="color:#24292E">$status </span><span style="color:#D73A49">=</span><span style="color:#032F62"> 'QUEUED'</span><span style="color:#24292E">;</span></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#D73A49">while</span><span style="color:#24292E"> ($status </span><span style="color:#D73A49">===</span><span style="color:#032F62"> 'QUEUED'</span><span style="color:#D73A49"> ||</span><span style="color:#24292E"> $status </span><span style="color:#D73A49">===</span><span style="color:#032F62"> 'PROCESSING'</span><span style="color:#24292E">) {</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#005CC5">    sleep</span><span style="color:#24292E">(</span><span style="color:#005CC5">1</span><span style="color:#24292E">);</span></span></span></span>
<span class="line"><span class="line-number">36</span><span class="line-content"><span class="line"><span style="color:#24292E">    $curl </span><span style="color:#D73A49">=</span><span style="color:#005CC5"> curl_init</span><span style="color:#24292E">();</span></span></span></span>
<span class="line"><span class="line-number">37</span><span class="line-content"><span class="line"><span style="color:#005CC5">    curl_setopt_array</span><span style="color:#24292E">($curl, [</span></span></span></span>
<span class="line"><span class="line-number">38</span><span class="line-content"><span class="line"><span style="color:#005CC5">        CURLOPT_URL</span><span style="color:#D73A49"> =></span><span style="color:#032F62"> 'https://api.segmind.com/v2/requests/'</span><span style="color:#D73A49"> .</span><span style="color:#24292E"> $requestId </span><span style="color:#D73A49">.</span><span style="color:#032F62"> '/status'</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">39</span><span class="line-content"><span class="line"><span style="color:#005CC5">        CURLOPT_RETURNTRANSFER</span><span style="color:#D73A49"> =></span><span style="color:#005CC5"> true</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">40</span><span class="line-content"><span class="line"><span style="color:#005CC5">        CURLOPT_HTTPHEADER</span><span style="color:#D73A49"> =></span><span style="color:#24292E"> $headers,</span></span></span></span>
<span class="line"><span class="line-number">41</span><span class="line-content"><span class="line"><span style="color:#24292E">    ]);</span></span></span></span>
<span class="line"><span class="line-number">42</span><span class="line-content"><span class="line"><span style="color:#24292E">    $poll </span><span style="color:#D73A49">=</span><span style="color:#005CC5"> json_decode</span><span style="color:#24292E">(</span><span style="color:#005CC5">curl_exec</span><span style="color:#24292E">($curl), </span><span style="color:#005CC5">true</span><span style="color:#24292E">);</span></span></span></span>
<span class="line"><span class="line-number">43</span><span class="line-content"><span class="line"><span style="color:#24292E">    $status </span><span style="color:#D73A49">=</span><span style="color:#24292E"> $poll[</span><span style="color:#032F62">'status'</span><span style="color:#24292E">] </span><span style="color:#D73A49">??</span><span style="color:#032F62"> ''</span><span style="color:#24292E">;</span></span></span></span>
<span class="line"><span class="line-number">44</span><span class="line-content"><span class="line"><span style="color:#005CC5">    curl_close</span><span style="color:#24292E">($curl);</span></span></span></span>
<span class="line"><span class="line-number">45</span><span class="line-content"><span class="line"><span style="color:#005CC5">    echo</span><span style="color:#24292E"> $status </span><span style="color:#D73A49">.</span><span style="color:#032F62"> "</span><span style="color:#005CC5">\n</span><span style="color:#032F62">"</span><span style="color:#24292E">;</span></span></span></span>
<span class="line"><span class="line-number">46</span><span class="line-content"><span class="line"><span style="color:#24292E">}</span></span></span></span>
<span class="line"><span class="line-number">47</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">48</span><span class="line-content"><span class="line"><span style="color:#6A737D">// 3. Fetch the final result body (available for 1 hour)</span></span></span></span>
<span class="line"><span class="line-number">49</span><span class="line-content"><span class="line"><span style="color:#24292E">$curl </span><span style="color:#D73A49">=</span><span style="color:#005CC5"> curl_init</span><span style="color:#24292E">();</span></span></span></span>
<span class="line"><span class="line-number">50</span><span class="line-content"><span class="line"><span style="color:#005CC5">curl_setopt_array</span><span style="color:#24292E">($curl, [</span></span></span></span>
<span class="line"><span class="line-number">51</span><span class="line-content"><span class="line"><span style="color:#005CC5">    CURLOPT_URL</span><span style="color:#D73A49"> =></span><span style="color:#032F62"> 'https://api.segmind.com/v2/requests/'</span><span style="color:#D73A49"> .</span><span style="color:#24292E"> $requestId,</span></span></span></span>
<span class="line"><span class="line-number">52</span><span class="line-content"><span class="line"><span style="color:#005CC5">    CURLOPT_RETURNTRANSFER</span><span style="color:#D73A49"> =></span><span style="color:#005CC5"> true</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">53</span><span class="line-content"><span class="line"><span style="color:#005CC5">    CURLOPT_HTTPHEADER</span><span style="color:#D73A49"> =></span><span style="color:#24292E"> $headers,</span></span></span></span>
<span class="line"><span class="line-number">54</span><span class="line-content"><span class="line"><span style="color:#24292E">]);</span></span></span></span>
<span class="line"><span class="line-number">55</span><span class="line-content"><span class="line"><span style="color:#005CC5">echo</span><span style="color:#005CC5"> curl_exec</span><span style="color:#24292E">($curl);</span></span></span></span>
<span class="line"><span class="line-number">56</span><span class="line-content"><span class="line"><span style="color:#005CC5">curl_close</span><span style="color:#24292E">($curl);</span></span></span></span>
<span class="line"><span class="line-number">57</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">58</span><span class="line-content"><span class="line"><span style="color:#D73A49">?></span></span></span></span></code></pre>3d:T387a,<pre class="shiki-dark" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#F97583">&#x3C;?</span><span style="color:#79B8FF">php</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">$apiKey </span><span style="color:#F97583">=</span><span style="color:#9ECBFF"> 'YOUR_API_KEY'</span><span style="color:#E1E4E8">;</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">$headers </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> [</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    'x-api-key: '</span><span style="color:#F97583"> .</span><span style="color:#E1E4E8"> $apiKey,</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    'Content-Type: application/json'</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">];</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">$data </span><span style="color:#F97583">=</span><span style="color:#9ECBFF"> '{</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">}'</span><span style="color:#E1E4E8">;</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#6A737D">// 1. Submit to the v2 async endpoint -> returns a request_id</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">$curl </span><span style="color:#F97583">=</span><span style="color:#79B8FF"> curl_init</span><span style="color:#E1E4E8">();</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#79B8FF">curl_setopt_array</span><span style="color:#E1E4E8">($curl, [</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    CURLOPT_URL</span><span style="color:#F97583"> =></span><span style="color:#9ECBFF"> 'https://api.segmind.com/v2/gpt-image-1.5'</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    CURLOPT_RETURNTRANSFER</span><span style="color:#F97583"> =></span><span style="color:#79B8FF"> true</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    CURLOPT_POST</span><span style="color:#F97583"> =></span><span style="color:#79B8FF"> true</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    CURLOPT_POSTFIELDS</span><span style="color:#F97583"> =></span><span style="color:#E1E4E8"> $data,</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    CURLOPT_HTTPHEADER</span><span style="color:#F97583"> =></span><span style="color:#E1E4E8"> $headers,</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">]);</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">$submit </span><span style="color:#F97583">=</span><span style="color:#79B8FF"> json_decode</span><span style="color:#E1E4E8">(</span><span style="color:#79B8FF">curl_exec</span><span style="color:#E1E4E8">($curl), </span><span style="color:#79B8FF">true</span><span style="color:#E1E4E8">);</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">$requestId </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> $submit[</span><span style="color:#9ECBFF">'request_id'</span><span style="color:#E1E4E8">] </span><span style="color:#F97583">??</span><span style="color:#9ECBFF"> ''</span><span style="color:#E1E4E8">;</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#79B8FF">curl_close</span><span style="color:#E1E4E8">($curl);</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"><span style="color:#6A737D">// 2. Poll status until COMPLETED (FAILED is served as HTTP 422)</span></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">$status </span><span style="color:#F97583">=</span><span style="color:#9ECBFF"> 'QUEUED'</span><span style="color:#E1E4E8">;</span></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#F97583">while</span><span style="color:#E1E4E8"> ($status </span><span style="color:#F97583">===</span><span style="color:#9ECBFF"> 'QUEUED'</span><span style="color:#F97583"> ||</span><span style="color:#E1E4E8"> $status </span><span style="color:#F97583">===</span><span style="color:#9ECBFF"> 'PROCESSING'</span><span style="color:#E1E4E8">) {</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    sleep</span><span style="color:#E1E4E8">(</span><span style="color:#79B8FF">1</span><span style="color:#E1E4E8">);</span></span></span></span>
<span class="line"><span class="line-number">36</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    $curl </span><span style="color:#F97583">=</span><span style="color:#79B8FF"> curl_init</span><span style="color:#E1E4E8">();</span></span></span></span>
<span class="line"><span class="line-number">37</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    curl_setopt_array</span><span style="color:#E1E4E8">($curl, [</span></span></span></span>
<span class="line"><span class="line-number">38</span><span class="line-content"><span class="line"><span style="color:#79B8FF">        CURLOPT_URL</span><span style="color:#F97583"> =></span><span style="color:#9ECBFF"> 'https://api.segmind.com/v2/requests/'</span><span style="color:#F97583"> .</span><span style="color:#E1E4E8"> $requestId </span><span style="color:#F97583">.</span><span style="color:#9ECBFF"> '/status'</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">39</span><span class="line-content"><span class="line"><span style="color:#79B8FF">        CURLOPT_RETURNTRANSFER</span><span style="color:#F97583"> =></span><span style="color:#79B8FF"> true</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">40</span><span class="line-content"><span class="line"><span style="color:#79B8FF">        CURLOPT_HTTPHEADER</span><span style="color:#F97583"> =></span><span style="color:#E1E4E8"> $headers,</span></span></span></span>
<span class="line"><span class="line-number">41</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    ]);</span></span></span></span>
<span class="line"><span class="line-number">42</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    $poll </span><span style="color:#F97583">=</span><span style="color:#79B8FF"> json_decode</span><span style="color:#E1E4E8">(</span><span style="color:#79B8FF">curl_exec</span><span style="color:#E1E4E8">($curl), </span><span style="color:#79B8FF">true</span><span style="color:#E1E4E8">);</span></span></span></span>
<span class="line"><span class="line-number">43</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    $status </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> $poll[</span><span style="color:#9ECBFF">'status'</span><span style="color:#E1E4E8">] </span><span style="color:#F97583">??</span><span style="color:#9ECBFF"> ''</span><span style="color:#E1E4E8">;</span></span></span></span>
<span class="line"><span class="line-number">44</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    curl_close</span><span style="color:#E1E4E8">($curl);</span></span></span></span>
<span class="line"><span class="line-number">45</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    echo</span><span style="color:#E1E4E8"> $status </span><span style="color:#F97583">.</span><span style="color:#9ECBFF"> "</span><span style="color:#79B8FF">\n</span><span style="color:#9ECBFF">"</span><span style="color:#E1E4E8">;</span></span></span></span>
<span class="line"><span class="line-number">46</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">}</span></span></span></span>
<span class="line"><span class="line-number">47</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">48</span><span class="line-content"><span class="line"><span style="color:#6A737D">// 3. Fetch the final result body (available for 1 hour)</span></span></span></span>
<span class="line"><span class="line-number">49</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">$curl </span><span style="color:#F97583">=</span><span style="color:#79B8FF"> curl_init</span><span style="color:#E1E4E8">();</span></span></span></span>
<span class="line"><span class="line-number">50</span><span class="line-content"><span class="line"><span style="color:#79B8FF">curl_setopt_array</span><span style="color:#E1E4E8">($curl, [</span></span></span></span>
<span class="line"><span class="line-number">51</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    CURLOPT_URL</span><span style="color:#F97583"> =></span><span style="color:#9ECBFF"> 'https://api.segmind.com/v2/requests/'</span><span style="color:#F97583"> .</span><span style="color:#E1E4E8"> $requestId,</span></span></span></span>
<span class="line"><span class="line-number">52</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    CURLOPT_RETURNTRANSFER</span><span style="color:#F97583"> =></span><span style="color:#79B8FF"> true</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">53</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    CURLOPT_HTTPHEADER</span><span style="color:#F97583"> =></span><span style="color:#E1E4E8"> $headers,</span></span></span></span>
<span class="line"><span class="line-number">54</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">]);</span></span></span></span>
<span class="line"><span class="line-number">55</span><span class="line-content"><span class="line"><span style="color:#79B8FF">echo</span><span style="color:#79B8FF"> curl_exec</span><span style="color:#E1E4E8">($curl);</span></span></span></span>
<span class="line"><span class="line-number">56</span><span class="line-content"><span class="line"><span style="color:#79B8FF">curl_close</span><span style="color:#E1E4E8">($curl);</span></span></span></span>
<span class="line"><span class="line-number">57</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">58</span><span class="line-content"><span class="line"><span style="color:#F97583">?></span></span></span></span></code></pre>3e:T516,require 'net/http'
require 'json'
require 'uri'

API_KEY = 'YOUR_API_KEY'

def get_json(url)
  uri = URI(url)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  req = Net::HTTP::Get.new(uri)
  req['x-api-key'] = API_KEY
  JSON.parse(http.request(req).body)
end

# 1. Submit to the v2 async endpoint -> returns a request_id
uri = URI('https://api.segmind.com/v2/gpt-image-1.5')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
req = Net::HTTP::Post.new(uri)
req['x-api-key'] = API_KEY
req['Content-Type'] = 'application/json'
req.body = '{
  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",
  "size": "1536x1024",
  "quality": "high",
  "moderation": "auto",
  "background": "opaque",
  "output_compression": 100,
  "output_format": "png"
}'
request_id = JSON.parse(http.request(req).body)['request_id']

# 2. Poll status until COMPLETED (FAILED is served as HTTP 422)
status = 'QUEUED'
while ['QUEUED', 'PROCESSING'].include?(status)
  sleep 1
  status = get_json("https://api.segmind.com/v2/requests/#{request_id}/status")['status']
  puts status
end

# 3. Fetch the final result body (available for 1 hour)
puts get_json("https://api.segmind.com/v2/requests/#{request_id}").to_json3f:T2f68,<pre class="shiki-light" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#D73A49">require</span><span style="color:#032F62"> 'net/http'</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"><span style="color:#D73A49">require</span><span style="color:#032F62"> 'json'</span></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#D73A49">require</span><span style="color:#032F62"> 'uri'</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#005CC5">API_KEY</span><span style="color:#D73A49"> =</span><span style="color:#032F62"> 'YOUR_API_KEY'</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#D73A49">def</span><span style="color:#6F42C1"> get_json</span><span style="color:#24292E">(url)</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#E36209">  uri</span><span style="color:#D73A49"> =</span><span style="color:#005CC5"> URI</span><span style="color:#24292E">(url)</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#E36209">  http</span><span style="color:#D73A49"> =</span><span style="color:#005CC5"> Net</span><span style="color:#24292E">::</span><span style="color:#005CC5">HTTP</span><span style="color:#24292E">.</span><span style="color:#D73A49">new</span><span style="color:#24292E">(uri.</span><span style="color:#6F42C1">host</span><span style="color:#24292E">, uri.</span><span style="color:#6F42C1">port</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#24292E">  http.</span><span style="color:#6F42C1">use_ssl</span><span style="color:#D73A49"> =</span><span style="color:#005CC5"> true</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#E36209">  req</span><span style="color:#D73A49"> =</span><span style="color:#005CC5"> Net</span><span style="color:#24292E">::</span><span style="color:#005CC5">HTTP</span><span style="color:#24292E">::</span><span style="color:#005CC5">Get</span><span style="color:#24292E">.</span><span style="color:#D73A49">new</span><span style="color:#24292E">(uri)</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#24292E">  req[</span><span style="color:#032F62">'x-api-key'</span><span style="color:#24292E">] </span><span style="color:#D73A49">=</span><span style="color:#005CC5"> API_KEY</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#005CC5">  JSON</span><span style="color:#24292E">.</span><span style="color:#6F42C1">parse</span><span style="color:#24292E">(http.</span><span style="color:#6F42C1">request</span><span style="color:#24292E">(req).</span><span style="color:#6F42C1">body</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#D73A49">end</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#6A737D"># 1. Submit to the v2 async endpoint -> returns a request_id</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#E36209">uri</span><span style="color:#D73A49"> =</span><span style="color:#005CC5"> URI</span><span style="color:#24292E">(</span><span style="color:#032F62">'https://api.segmind.com/v2/gpt-image-1.5'</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#E36209">http</span><span style="color:#D73A49"> =</span><span style="color:#005CC5"> Net</span><span style="color:#24292E">::</span><span style="color:#005CC5">HTTP</span><span style="color:#24292E">.</span><span style="color:#D73A49">new</span><span style="color:#24292E">(uri.</span><span style="color:#6F42C1">host</span><span style="color:#24292E">, uri.</span><span style="color:#6F42C1">port</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#24292E">http.</span><span style="color:#6F42C1">use_ssl</span><span style="color:#D73A49"> =</span><span style="color:#005CC5"> true</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#E36209">req</span><span style="color:#D73A49"> =</span><span style="color:#005CC5"> Net</span><span style="color:#24292E">::</span><span style="color:#005CC5">HTTP</span><span style="color:#24292E">::</span><span style="color:#005CC5">Post</span><span style="color:#24292E">.</span><span style="color:#D73A49">new</span><span style="color:#24292E">(uri)</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#24292E">req[</span><span style="color:#032F62">'x-api-key'</span><span style="color:#24292E">] </span><span style="color:#D73A49">=</span><span style="color:#005CC5"> API_KEY</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#24292E">req[</span><span style="color:#032F62">'Content-Type'</span><span style="color:#24292E">] </span><span style="color:#D73A49">=</span><span style="color:#032F62"> 'application/json'</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#24292E">req.</span><span style="color:#6F42C1">body</span><span style="color:#D73A49"> =</span><span style="color:#032F62"> '{</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#032F62">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#032F62">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#032F62">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#032F62">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#032F62">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#032F62">}'</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"><span style="color:#E36209">request_id</span><span style="color:#D73A49"> =</span><span style="color:#005CC5"> JSON</span><span style="color:#24292E">.</span><span style="color:#6F42C1">parse</span><span style="color:#24292E">(http.</span><span style="color:#6F42C1">request</span><span style="color:#24292E">(req).</span><span style="color:#6F42C1">body</span><span style="color:#24292E">)[</span><span style="color:#032F62">'request_id'</span><span style="color:#24292E">]</span></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#6A737D"># 2. Poll status until COMPLETED (FAILED is served as HTTP 422)</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#E36209">status</span><span style="color:#D73A49"> =</span><span style="color:#032F62"> 'QUEUED'</span></span></span></span>
<span class="line"><span class="line-number">36</span><span class="line-content"><span class="line"><span style="color:#D73A49">while</span><span style="color:#24292E"> [</span><span style="color:#032F62">'QUEUED'</span><span style="color:#24292E">, </span><span style="color:#032F62">'PROCESSING'</span><span style="color:#24292E">].</span><span style="color:#6F42C1">include?</span><span style="color:#24292E">(status)</span></span></span></span>
<span class="line"><span class="line-number">37</span><span class="line-content"><span class="line"><span style="color:#005CC5">  sleep</span><span style="color:#005CC5"> 1</span></span></span></span>
<span class="line"><span class="line-number">38</span><span class="line-content"><span class="line"><span style="color:#E36209">  status</span><span style="color:#D73A49"> =</span><span style="color:#6F42C1"> get_json</span><span style="color:#24292E">(</span><span style="color:#032F62">"https://api.segmind.com/v2/requests/</span><span style="color:#032F62">#{request_id}</span><span style="color:#032F62">/status"</span><span style="color:#24292E">)[</span><span style="color:#032F62">'status'</span><span style="color:#24292E">]</span></span></span></span>
<span class="line"><span class="line-number">39</span><span class="line-content"><span class="line"><span style="color:#005CC5">  puts</span><span style="color:#24292E"> status</span></span></span></span>
<span class="line"><span class="line-number">40</span><span class="line-content"><span class="line"><span style="color:#D73A49">end</span></span></span></span>
<span class="line"><span class="line-number">41</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">42</span><span class="line-content"><span class="line"><span style="color:#6A737D"># 3. Fetch the final result body (available for 1 hour)</span></span></span></span>
<span class="line"><span class="line-number">43</span><span class="line-content"><span class="line"><span style="color:#005CC5">puts</span><span style="color:#6F42C1"> get_json</span><span style="color:#24292E">(</span><span style="color:#032F62">"https://api.segmind.com/v2/requests/</span><span style="color:#032F62">#{request_id}</span><span style="color:#032F62">"</span><span style="color:#24292E">).</span><span style="color:#6F42C1">to_json</span></span></span></span></code></pre>40:T2f67,<pre class="shiki-dark" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#F97583">require</span><span style="color:#9ECBFF"> 'net/http'</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"><span style="color:#F97583">require</span><span style="color:#9ECBFF"> 'json'</span></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#F97583">require</span><span style="color:#9ECBFF"> 'uri'</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#79B8FF">API_KEY</span><span style="color:#F97583"> =</span><span style="color:#9ECBFF"> 'YOUR_API_KEY'</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#F97583">def</span><span style="color:#B392F0"> get_json</span><span style="color:#E1E4E8">(url)</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#FFAB70">  uri</span><span style="color:#F97583"> =</span><span style="color:#79B8FF"> URI</span><span style="color:#E1E4E8">(url)</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#FFAB70">  http</span><span style="color:#F97583"> =</span><span style="color:#79B8FF"> Net</span><span style="color:#E1E4E8">::</span><span style="color:#79B8FF">HTTP</span><span style="color:#E1E4E8">.</span><span style="color:#F97583">new</span><span style="color:#E1E4E8">(uri.</span><span style="color:#B392F0">host</span><span style="color:#E1E4E8">, uri.</span><span style="color:#B392F0">port</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  http.</span><span style="color:#B392F0">use_ssl</span><span style="color:#F97583"> =</span><span style="color:#79B8FF"> true</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#FFAB70">  req</span><span style="color:#F97583"> =</span><span style="color:#79B8FF"> Net</span><span style="color:#E1E4E8">::</span><span style="color:#79B8FF">HTTP</span><span style="color:#E1E4E8">::</span><span style="color:#79B8FF">Get</span><span style="color:#E1E4E8">.</span><span style="color:#F97583">new</span><span style="color:#E1E4E8">(uri)</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  req[</span><span style="color:#9ECBFF">'x-api-key'</span><span style="color:#E1E4E8">] </span><span style="color:#F97583">=</span><span style="color:#79B8FF"> API_KEY</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#79B8FF">  JSON</span><span style="color:#E1E4E8">.</span><span style="color:#B392F0">parse</span><span style="color:#E1E4E8">(http.</span><span style="color:#B392F0">request</span><span style="color:#E1E4E8">(req).</span><span style="color:#B392F0">body</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#F97583">end</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#6A737D"># 1. Submit to the v2 async endpoint -> returns a request_id</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#FFAB70">uri</span><span style="color:#F97583"> =</span><span style="color:#79B8FF"> URI</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">'https://api.segmind.com/v2/gpt-image-1.5'</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#FFAB70">http</span><span style="color:#F97583"> =</span><span style="color:#79B8FF"> Net</span><span style="color:#E1E4E8">::</span><span style="color:#79B8FF">HTTP</span><span style="color:#E1E4E8">.</span><span style="color:#F97583">new</span><span style="color:#E1E4E8">(uri.</span><span style="color:#B392F0">host</span><span style="color:#E1E4E8">, uri.</span><span style="color:#B392F0">port</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">http.</span><span style="color:#B392F0">use_ssl</span><span style="color:#F97583"> =</span><span style="color:#79B8FF"> true</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#FFAB70">req</span><span style="color:#F97583"> =</span><span style="color:#79B8FF"> Net</span><span style="color:#E1E4E8">::</span><span style="color:#79B8FF">HTTP</span><span style="color:#E1E4E8">::</span><span style="color:#79B8FF">Post</span><span style="color:#E1E4E8">.</span><span style="color:#F97583">new</span><span style="color:#E1E4E8">(uri)</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">req[</span><span style="color:#9ECBFF">'x-api-key'</span><span style="color:#E1E4E8">] </span><span style="color:#F97583">=</span><span style="color:#79B8FF"> API_KEY</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">req[</span><span style="color:#9ECBFF">'Content-Type'</span><span style="color:#E1E4E8">] </span><span style="color:#F97583">=</span><span style="color:#9ECBFF"> 'application/json'</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">req.</span><span style="color:#B392F0">body</span><span style="color:#F97583"> =</span><span style="color:#9ECBFF"> '{</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">}'</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"><span style="color:#FFAB70">request_id</span><span style="color:#F97583"> =</span><span style="color:#79B8FF"> JSON</span><span style="color:#E1E4E8">.</span><span style="color:#B392F0">parse</span><span style="color:#E1E4E8">(http.</span><span style="color:#B392F0">request</span><span style="color:#E1E4E8">(req).</span><span style="color:#B392F0">body</span><span style="color:#E1E4E8">)[</span><span style="color:#9ECBFF">'request_id'</span><span style="color:#E1E4E8">]</span></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#6A737D"># 2. Poll status until COMPLETED (FAILED is served as HTTP 422)</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#FFAB70">status</span><span style="color:#F97583"> =</span><span style="color:#9ECBFF"> 'QUEUED'</span></span></span></span>
<span class="line"><span class="line-number">36</span><span class="line-content"><span class="line"><span style="color:#F97583">while</span><span style="color:#E1E4E8"> [</span><span style="color:#9ECBFF">'QUEUED'</span><span style="color:#E1E4E8">, </span><span style="color:#9ECBFF">'PROCESSING'</span><span style="color:#E1E4E8">].</span><span style="color:#B392F0">include?</span><span style="color:#E1E4E8">(status)</span></span></span></span>
<span class="line"><span class="line-number">37</span><span class="line-content"><span class="line"><span style="color:#79B8FF">  sleep</span><span style="color:#79B8FF"> 1</span></span></span></span>
<span class="line"><span class="line-number">38</span><span class="line-content"><span class="line"><span style="color:#FFAB70">  status</span><span style="color:#F97583"> =</span><span style="color:#B392F0"> get_json</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"https://api.segmind.com/v2/requests/</span><span style="color:#9ECBFF">#{request_id}</span><span style="color:#9ECBFF">/status"</span><span style="color:#E1E4E8">)[</span><span style="color:#9ECBFF">'status'</span><span style="color:#E1E4E8">]</span></span></span></span>
<span class="line"><span class="line-number">39</span><span class="line-content"><span class="line"><span style="color:#79B8FF">  puts</span><span style="color:#E1E4E8"> status</span></span></span></span>
<span class="line"><span class="line-number">40</span><span class="line-content"><span class="line"><span style="color:#F97583">end</span></span></span></span>
<span class="line"><span class="line-number">41</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">42</span><span class="line-content"><span class="line"><span style="color:#6A737D"># 3. Fetch the final result body (available for 1 hour)</span></span></span></span>
<span class="line"><span class="line-number">43</span><span class="line-content"><span class="line"><span style="color:#79B8FF">puts</span><span style="color:#B392F0"> get_json</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"https://api.segmind.com/v2/requests/</span><span style="color:#9ECBFF">#{request_id}</span><span style="color:#9ECBFF">"</span><span style="color:#E1E4E8">).</span><span style="color:#B392F0">to_json</span></span></span></span></code></pre>41:T160a,<pre class="shiki-light" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#6A737D"># pip install "segmind>=1.1.0"</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"><span style="color:#6A737D"># export SEGMIND_API_KEY="YOUR_API_KEY"</span></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#D73A49">import</span><span style="color:#24292E"> segmind</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#6A737D"># Sync (v1): one blocking call, returns an httpx.Response.</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#24292E">response </span><span style="color:#D73A49">=</span><span style="color:#24292E"> segmind.run_sync(</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#032F62">    "gpt-image-1.5"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#E36209">    prompt</span><span style="color:#D73A49">=</span><span style="color:#032F62">"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio "</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#E36209">    size</span><span style="color:#D73A49">=</span><span style="color:#032F62">"1536x1024"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#E36209">    quality</span><span style="color:#D73A49">=</span><span style="color:#032F62">"high"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#E36209">    moderation</span><span style="color:#D73A49">=</span><span style="color:#032F62">"auto"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#E36209">    background</span><span style="color:#D73A49">=</span><span style="color:#032F62">"opaque"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#E36209">    output_compression</span><span style="color:#D73A49">=</span><span style="color:#005CC5">100</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#E36209">    output_format</span><span style="color:#D73A49">=</span><span style="color:#032F62">"png"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#6A737D"># Media models return the file itself; a JSON body carries the result instead.</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#D73A49">if</span><span style="color:#24292E"> response.headers.get(</span><span style="color:#032F62">"content-type"</span><span style="color:#24292E">, </span><span style="color:#032F62">""</span><span style="color:#24292E">).startswith(</span><span style="color:#032F62">"application/json"</span><span style="color:#24292E">):</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#005CC5">    print</span><span style="color:#24292E">(response.json())</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#D73A49">else</span><span style="color:#24292E">:</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#D73A49">    with</span><span style="color:#005CC5"> open</span><span style="color:#24292E">(</span><span style="color:#032F62">"output.png"</span><span style="color:#24292E">, </span><span style="color:#032F62">"wb"</span><span style="color:#24292E">) </span><span style="color:#D73A49">as</span><span style="color:#24292E"> f:</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#24292E">        f.write(response.content)</span></span></span></span></code></pre>42:T1609,<pre class="shiki-dark" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#6A737D"># pip install "segmind>=1.1.0"</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"><span style="color:#6A737D"># export SEGMIND_API_KEY="YOUR_API_KEY"</span></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#F97583">import</span><span style="color:#E1E4E8"> segmind</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#6A737D"># Sync (v1): one blocking call, returns an httpx.Response.</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">response </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> segmind.run_sync(</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "gpt-image-1.5"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#FFAB70">    prompt</span><span style="color:#F97583">=</span><span style="color:#9ECBFF">"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio "</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#FFAB70">    size</span><span style="color:#F97583">=</span><span style="color:#9ECBFF">"1536x1024"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#FFAB70">    quality</span><span style="color:#F97583">=</span><span style="color:#9ECBFF">"high"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#FFAB70">    moderation</span><span style="color:#F97583">=</span><span style="color:#9ECBFF">"auto"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#FFAB70">    background</span><span style="color:#F97583">=</span><span style="color:#9ECBFF">"opaque"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#FFAB70">    output_compression</span><span style="color:#F97583">=</span><span style="color:#79B8FF">100</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#FFAB70">    output_format</span><span style="color:#F97583">=</span><span style="color:#9ECBFF">"png"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#6A737D"># Media models return the file itself; a JSON body carries the result instead.</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#F97583">if</span><span style="color:#E1E4E8"> response.headers.get(</span><span style="color:#9ECBFF">"content-type"</span><span style="color:#E1E4E8">, </span><span style="color:#9ECBFF">""</span><span style="color:#E1E4E8">).startswith(</span><span style="color:#9ECBFF">"application/json"</span><span style="color:#E1E4E8">):</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    print</span><span style="color:#E1E4E8">(response.json())</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#F97583">else</span><span style="color:#E1E4E8">:</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#F97583">    with</span><span style="color:#79B8FF"> open</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"output.png"</span><span style="color:#E1E4E8">, </span><span style="color:#9ECBFF">"wb"</span><span style="color:#E1E4E8">) </span><span style="color:#F97583">as</span><span style="color:#E1E4E8"> f:</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">        f.write(response.content)</span></span></span></span></code></pre>43:T21df,<pre class="shiki-light" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#D73A49">import</span><span style="color:#24292E"> requests</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"><span style="color:#D73A49">import</span><span style="color:#24292E"> json</span></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#24292E">url </span><span style="color:#D73A49">=</span><span style="color:#032F62"> "https://api.segmind.com/v1/gpt-image-1.5"</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#24292E">headers </span><span style="color:#D73A49">=</span><span style="color:#24292E"> {</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#032F62">    "x-api-key"</span><span style="color:#24292E">: </span><span style="color:#032F62">"YOUR_API_KEY"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#032F62">    "Content-Type"</span><span style="color:#24292E">: </span><span style="color:#032F62">"application/json"</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#24292E">}</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#24292E">data </span><span style="color:#D73A49">=</span><span style="color:#24292E"> {</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#032F62">    "prompt"</span><span style="color:#24292E">: </span><span style="color:#032F62">"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio "</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#032F62">    "size"</span><span style="color:#24292E">: </span><span style="color:#032F62">"1536x1024"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#032F62">    "quality"</span><span style="color:#24292E">: </span><span style="color:#032F62">"high"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#032F62">    "moderation"</span><span style="color:#24292E">: </span><span style="color:#032F62">"auto"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#032F62">    "background"</span><span style="color:#24292E">: </span><span style="color:#032F62">"opaque"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#032F62">    "output_compression"</span><span style="color:#24292E">: </span><span style="color:#005CC5">100</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#032F62">    "output_format"</span><span style="color:#24292E">: </span><span style="color:#032F62">"png"</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#24292E">}</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#24292E">response </span><span style="color:#D73A49">=</span><span style="color:#24292E"> requests.post(url, </span><span style="color:#E36209">headers</span><span style="color:#D73A49">=</span><span style="color:#24292E">headers, </span><span style="color:#E36209">json</span><span style="color:#D73A49">=</span><span style="color:#24292E">data)</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#D73A49">if</span><span style="color:#24292E"> response.status_code </span><span style="color:#D73A49">==</span><span style="color:#005CC5"> 200</span><span style="color:#24292E">:</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#6A737D">    # Media models return the file itself; a JSON body carries the result instead.</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#D73A49">    if</span><span style="color:#24292E"> response.headers.get(</span><span style="color:#032F62">"Content-Type"</span><span style="color:#24292E">, </span><span style="color:#032F62">""</span><span style="color:#24292E">).startswith(</span><span style="color:#032F62">"application/json"</span><span style="color:#24292E">):</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#005CC5">        print</span><span style="color:#24292E">(json.dumps(response.json(), </span><span style="color:#E36209">indent</span><span style="color:#D73A49">=</span><span style="color:#005CC5">2</span><span style="color:#24292E">))</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#D73A49">    else</span><span style="color:#24292E">:</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#D73A49">        with</span><span style="color:#005CC5"> open</span><span style="color:#24292E">(</span><span style="color:#032F62">"output.png"</span><span style="color:#24292E">, </span><span style="color:#032F62">"wb"</span><span style="color:#24292E">) </span><span style="color:#D73A49">as</span><span style="color:#24292E"> f:</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#24292E">            f.write(response.content)</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#005CC5">        print</span><span style="color:#24292E">(</span><span style="color:#032F62">"Saved output.png"</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#D73A49">else</span><span style="color:#24292E">:</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#005CC5">    print</span><span style="color:#24292E">(</span><span style="color:#D73A49">f</span><span style="color:#032F62">"Error: </span><span style="color:#005CC5">{</span><span style="color:#24292E">response.status_code</span><span style="color:#005CC5">}</span><span style="color:#032F62">"</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"><span style="color:#005CC5">    print</span><span style="color:#24292E">(response.text)</span></span></span></span></code></pre>44:T21de,<pre class="shiki-dark" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#F97583">import</span><span style="color:#E1E4E8"> requests</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"><span style="color:#F97583">import</span><span style="color:#E1E4E8"> json</span></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">url </span><span style="color:#F97583">=</span><span style="color:#9ECBFF"> "https://api.segmind.com/v1/gpt-image-1.5"</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">headers </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> {</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "x-api-key"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"YOUR_API_KEY"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "Content-Type"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"application/json"</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">}</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">data </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> {</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "prompt"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio "</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "size"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"1536x1024"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "quality"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"high"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "moderation"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"auto"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "background"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"opaque"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "output_compression"</span><span style="color:#E1E4E8">: </span><span style="color:#79B8FF">100</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "output_format"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"png"</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">}</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">response </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> requests.post(url, </span><span style="color:#FFAB70">headers</span><span style="color:#F97583">=</span><span style="color:#E1E4E8">headers, </span><span style="color:#FFAB70">json</span><span style="color:#F97583">=</span><span style="color:#E1E4E8">data)</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#F97583">if</span><span style="color:#E1E4E8"> response.status_code </span><span style="color:#F97583">==</span><span style="color:#79B8FF"> 200</span><span style="color:#E1E4E8">:</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#6A737D">    # Media models return the file itself; a JSON body carries the result instead.</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#F97583">    if</span><span style="color:#E1E4E8"> response.headers.get(</span><span style="color:#9ECBFF">"Content-Type"</span><span style="color:#E1E4E8">, </span><span style="color:#9ECBFF">""</span><span style="color:#E1E4E8">).startswith(</span><span style="color:#9ECBFF">"application/json"</span><span style="color:#E1E4E8">):</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#79B8FF">        print</span><span style="color:#E1E4E8">(json.dumps(response.json(), </span><span style="color:#FFAB70">indent</span><span style="color:#F97583">=</span><span style="color:#79B8FF">2</span><span style="color:#E1E4E8">))</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#F97583">    else</span><span style="color:#E1E4E8">:</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#F97583">        with</span><span style="color:#79B8FF"> open</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"output.png"</span><span style="color:#E1E4E8">, </span><span style="color:#9ECBFF">"wb"</span><span style="color:#E1E4E8">) </span><span style="color:#F97583">as</span><span style="color:#E1E4E8"> f:</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">            f.write(response.content)</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#79B8FF">        print</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Saved output.png"</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#F97583">else</span><span style="color:#E1E4E8">:</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    print</span><span style="color:#E1E4E8">(</span><span style="color:#F97583">f</span><span style="color:#9ECBFF">"Error: </span><span style="color:#79B8FF">{</span><span style="color:#E1E4E8">response.status_code</span><span style="color:#79B8FF">}</span><span style="color:#9ECBFF">"</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    print</span><span style="color:#E1E4E8">(response.text)</span></span></span></span></code></pre>45:Tb70,<pre class="shiki-light" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#6F42C1">curl</span><span style="color:#005CC5"> -X</span><span style="color:#032F62"> POST</span><span style="color:#032F62"> "https://api.segmind.com/v1/gpt-image-1.5"</span><span style="color:#005CC5"> \</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"><span style="color:#005CC5">  -H</span><span style="color:#032F62"> "x-api-key: YOUR_API_KEY"</span><span style="color:#005CC5"> \</span></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#005CC5">  -H</span><span style="color:#032F62"> "Content-Type: application/json"</span><span style="color:#005CC5"> \</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#005CC5">  -d</span><span style="color:#032F62"> '{</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#032F62">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#032F62">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#032F62">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#032F62">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#032F62">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#032F62">}'</span><span style="color:#005CC5"> \</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#005CC5">  -o</span><span style="color:#032F62"> output.png</span></span></span></span></code></pre>46:Tb6f,<pre class="shiki-dark" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#B392F0">curl</span><span style="color:#79B8FF"> -X</span><span style="color:#9ECBFF"> POST</span><span style="color:#9ECBFF"> "https://api.segmind.com/v1/gpt-image-1.5"</span><span style="color:#79B8FF"> \</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"><span style="color:#79B8FF">  -H</span><span style="color:#9ECBFF"> "x-api-key: YOUR_API_KEY"</span><span style="color:#79B8FF"> \</span></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#79B8FF">  -H</span><span style="color:#9ECBFF"> "Content-Type: application/json"</span><span style="color:#79B8FF"> \</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#79B8FF">  -d</span><span style="color:#9ECBFF"> '{</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">}'</span><span style="color:#79B8FF"> \</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#79B8FF">  -o</span><span style="color:#9ECBFF"> output.png</span></span></span></span></code></pre>47:T231b,<pre class="shiki-light" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#D73A49">import</span><span style="color:#24292E"> { writeFile } </span><span style="color:#D73A49">from</span><span style="color:#032F62"> 'node:fs/promises'</span><span style="color:#24292E">;</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#D73A49">const</span><span style="color:#005CC5"> response</span><span style="color:#D73A49"> =</span><span style="color:#D73A49"> await</span><span style="color:#6F42C1"> fetch</span><span style="color:#24292E">(</span><span style="color:#032F62">'https://api.segmind.com/v1/gpt-image-1.5'</span><span style="color:#24292E">, {</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#24292E">  method: </span><span style="color:#032F62">'POST'</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#24292E">  headers: {</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#032F62">    'x-api-key'</span><span style="color:#24292E">: </span><span style="color:#032F62">'YOUR_API_KEY'</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#032F62">    'Content-Type'</span><span style="color:#24292E">: </span><span style="color:#032F62">'application/json'</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#24292E">  },</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#24292E">  body: </span><span style="color:#005CC5">JSON</span><span style="color:#24292E">.</span><span style="color:#6F42C1">stringify</span><span style="color:#24292E">({</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#032F62">  "prompt"</span><span style="color:#24292E">: </span><span style="color:#032F62">"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio "</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#032F62">  "size"</span><span style="color:#24292E">: </span><span style="color:#032F62">"1536x1024"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#032F62">  "quality"</span><span style="color:#24292E">: </span><span style="color:#032F62">"high"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#032F62">  "moderation"</span><span style="color:#24292E">: </span><span style="color:#032F62">"auto"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#032F62">  "background"</span><span style="color:#24292E">: </span><span style="color:#032F62">"opaque"</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_compression"</span><span style="color:#24292E">: </span><span style="color:#005CC5">100</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_format"</span><span style="color:#24292E">: </span><span style="color:#032F62">"png"</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#24292E">}),</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#24292E">});</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#D73A49">if</span><span style="color:#24292E"> (response.ok) {</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#6A737D">  // Media models return the file itself; a JSON body carries the result instead.</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#D73A49">  if</span><span style="color:#24292E"> ((response.headers.</span><span style="color:#6F42C1">get</span><span style="color:#24292E">(</span><span style="color:#032F62">'content-type'</span><span style="color:#24292E">) </span><span style="color:#D73A49">||</span><span style="color:#032F62"> ''</span><span style="color:#24292E">).</span><span style="color:#6F42C1">startsWith</span><span style="color:#24292E">(</span><span style="color:#032F62">'application/json'</span><span style="color:#24292E">)) {</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#24292E">    console.</span><span style="color:#6F42C1">log</span><span style="color:#24292E">(</span><span style="color:#D73A49">await</span><span style="color:#24292E"> response.</span><span style="color:#6F42C1">json</span><span style="color:#24292E">());</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#24292E">  } </span><span style="color:#D73A49">else</span><span style="color:#24292E"> {</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#D73A49">    await</span><span style="color:#6F42C1"> writeFile</span><span style="color:#24292E">(</span><span style="color:#032F62">'output.png'</span><span style="color:#24292E">, Buffer.</span><span style="color:#6F42C1">from</span><span style="color:#24292E">(</span><span style="color:#D73A49">await</span><span style="color:#24292E"> response.</span><span style="color:#6F42C1">arrayBuffer</span><span style="color:#24292E">()));</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#24292E">    console.</span><span style="color:#6F42C1">log</span><span style="color:#24292E">(</span><span style="color:#032F62">'Saved output.png'</span><span style="color:#24292E">);</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#24292E">  }</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#24292E">} </span><span style="color:#D73A49">else</span><span style="color:#24292E"> {</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#24292E">  console.</span><span style="color:#6F42C1">error</span><span style="color:#24292E">(</span><span style="color:#032F62">'Error:'</span><span style="color:#24292E">, response.status);</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#24292E">  console.</span><span style="color:#6F42C1">error</span><span style="color:#24292E">(</span><span style="color:#D73A49">await</span><span style="color:#24292E"> response.</span><span style="color:#6F42C1">text</span><span style="color:#24292E">());</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#24292E">}</span></span></span></span></code></pre>48:T231a,<pre class="shiki-dark" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#F97583">import</span><span style="color:#E1E4E8"> { writeFile } </span><span style="color:#F97583">from</span><span style="color:#9ECBFF"> 'node:fs/promises'</span><span style="color:#E1E4E8">;</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#F97583">const</span><span style="color:#79B8FF"> response</span><span style="color:#F97583"> =</span><span style="color:#F97583"> await</span><span style="color:#B392F0"> fetch</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">'https://api.segmind.com/v1/gpt-image-1.5'</span><span style="color:#E1E4E8">, {</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  method: </span><span style="color:#9ECBFF">'POST'</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  headers: {</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    'x-api-key'</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">'YOUR_API_KEY'</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    'Content-Type'</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">'application/json'</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  },</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  body: </span><span style="color:#79B8FF">JSON</span><span style="color:#E1E4E8">.</span><span style="color:#B392F0">stringify</span><span style="color:#E1E4E8">({</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "prompt"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio "</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "size"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"1536x1024"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "quality"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"high"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "moderation"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"auto"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "background"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"opaque"</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_compression"</span><span style="color:#E1E4E8">: </span><span style="color:#79B8FF">100</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_format"</span><span style="color:#E1E4E8">: </span><span style="color:#9ECBFF">"png"</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">}),</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">});</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#F97583">if</span><span style="color:#E1E4E8"> (response.ok) {</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#6A737D">  // Media models return the file itself; a JSON body carries the result instead.</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#F97583">  if</span><span style="color:#E1E4E8"> ((response.headers.</span><span style="color:#B392F0">get</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">'content-type'</span><span style="color:#E1E4E8">) </span><span style="color:#F97583">||</span><span style="color:#9ECBFF"> ''</span><span style="color:#E1E4E8">).</span><span style="color:#B392F0">startsWith</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">'application/json'</span><span style="color:#E1E4E8">)) {</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    console.</span><span style="color:#B392F0">log</span><span style="color:#E1E4E8">(</span><span style="color:#F97583">await</span><span style="color:#E1E4E8"> response.</span><span style="color:#B392F0">json</span><span style="color:#E1E4E8">());</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  } </span><span style="color:#F97583">else</span><span style="color:#E1E4E8"> {</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#F97583">    await</span><span style="color:#B392F0"> writeFile</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">'output.png'</span><span style="color:#E1E4E8">, Buffer.</span><span style="color:#B392F0">from</span><span style="color:#E1E4E8">(</span><span style="color:#F97583">await</span><span style="color:#E1E4E8"> response.</span><span style="color:#B392F0">arrayBuffer</span><span style="color:#E1E4E8">()));</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    console.</span><span style="color:#B392F0">log</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">'Saved output.png'</span><span style="color:#E1E4E8">);</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  }</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">} </span><span style="color:#F97583">else</span><span style="color:#E1E4E8"> {</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  console.</span><span style="color:#B392F0">error</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">'Error:'</span><span style="color:#E1E4E8">, response.status);</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">  console.</span><span style="color:#B392F0">error</span><span style="color:#E1E4E8">(</span><span style="color:#F97583">await</span><span style="color:#E1E4E8"> response.</span><span style="color:#B392F0">text</span><span style="color:#E1E4E8">());</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">}</span></span></span></span></code></pre>49:T572,package main

import (
    "bytes"
    "fmt"
    "io"
    "net/http"
    "os"
    "strings"
)

func main() {
    url := "https://api.segmind.com/v1/gpt-image-1.5"

    data := []byte(`{
  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",
  "size": "1536x1024",
  "quality": "high",
  "moderation": "auto",
  "background": "opaque",
  "output_compression": 100,
  "output_format": "png"
}`)

    req, err := http.NewRequest("POST", url, bytes.NewBuffer(data))
    if err != nil {
        panic(err)
    }

    req.Header.Set("x-api-key", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := io.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    if resp.StatusCode != http.StatusOK {
        fmt.Printf("Error: %d\n%s\n", resp.StatusCode, body)
        return
    }

    // Media models return the file itself; a JSON body carries the result instead.
    if strings.HasPrefix(resp.Header.Get("Content-Type"), "application/json") {
        fmt.Println(string(body))
        return
    }

    if err := os.WriteFile("output.png", body, 0o644); err != nil {
        panic(err)
    }
    fmt.Println("Saved output.png")
}4a:T38c7,<pre class="shiki-light" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#D73A49">package</span><span style="color:#6F42C1"> main</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#D73A49">import</span><span style="color:#24292E"> (</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#032F62">    "</span><span style="color:#6F42C1">bytes</span><span style="color:#032F62">"</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#032F62">    "</span><span style="color:#6F42C1">fmt</span><span style="color:#032F62">"</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#032F62">    "</span><span style="color:#6F42C1">io</span><span style="color:#032F62">"</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#032F62">    "</span><span style="color:#6F42C1">net/http</span><span style="color:#032F62">"</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#032F62">    "</span><span style="color:#6F42C1">os</span><span style="color:#032F62">"</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#032F62">    "</span><span style="color:#6F42C1">strings</span><span style="color:#032F62">"</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#D73A49">func</span><span style="color:#6F42C1"> main</span><span style="color:#24292E">() {</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#24292E">    url </span><span style="color:#D73A49">:=</span><span style="color:#032F62"> "https://api.segmind.com/v1/gpt-image-1.5"</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#24292E">    data </span><span style="color:#D73A49">:=</span><span style="color:#24292E"> []</span><span style="color:#D73A49">byte</span><span style="color:#24292E">(</span><span style="color:#032F62">`{</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#032F62">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#032F62">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#032F62">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#032F62">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#032F62">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#032F62">}`</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#24292E">    req, err </span><span style="color:#D73A49">:=</span><span style="color:#24292E"> http.</span><span style="color:#6F42C1">NewRequest</span><span style="color:#24292E">(</span><span style="color:#032F62">"POST"</span><span style="color:#24292E">, url, bytes.</span><span style="color:#6F42C1">NewBuffer</span><span style="color:#24292E">(data))</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#D73A49">    if</span><span style="color:#24292E"> err </span><span style="color:#D73A49">!=</span><span style="color:#005CC5"> nil</span><span style="color:#24292E"> {</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#6F42C1">        panic</span><span style="color:#24292E">(err)</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#24292E">    }</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#24292E">    req.Header.</span><span style="color:#6F42C1">Set</span><span style="color:#24292E">(</span><span style="color:#032F62">"x-api-key"</span><span style="color:#24292E">, </span><span style="color:#032F62">"YOUR_API_KEY"</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#24292E">    req.Header.</span><span style="color:#6F42C1">Set</span><span style="color:#24292E">(</span><span style="color:#032F62">"Content-Type"</span><span style="color:#24292E">, </span><span style="color:#032F62">"application/json"</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"><span style="color:#24292E">    client </span><span style="color:#D73A49">:=</span><span style="color:#D73A49"> &#x26;</span><span style="color:#6F42C1">http</span><span style="color:#24292E">.</span><span style="color:#6F42C1">Client</span><span style="color:#24292E">{}</span></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#24292E">    resp, err </span><span style="color:#D73A49">:=</span><span style="color:#24292E"> client.</span><span style="color:#6F42C1">Do</span><span style="color:#24292E">(req)</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#D73A49">    if</span><span style="color:#24292E"> err </span><span style="color:#D73A49">!=</span><span style="color:#005CC5"> nil</span><span style="color:#24292E"> {</span></span></span></span>
<span class="line"><span class="line-number">36</span><span class="line-content"><span class="line"><span style="color:#6F42C1">        panic</span><span style="color:#24292E">(err)</span></span></span></span>
<span class="line"><span class="line-number">37</span><span class="line-content"><span class="line"><span style="color:#24292E">    }</span></span></span></span>
<span class="line"><span class="line-number">38</span><span class="line-content"><span class="line"><span style="color:#D73A49">    defer</span><span style="color:#24292E"> resp.Body.</span><span style="color:#6F42C1">Close</span><span style="color:#24292E">()</span></span></span></span>
<span class="line"><span class="line-number">39</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">40</span><span class="line-content"><span class="line"><span style="color:#24292E">    body, err </span><span style="color:#D73A49">:=</span><span style="color:#24292E"> io.</span><span style="color:#6F42C1">ReadAll</span><span style="color:#24292E">(resp.Body)</span></span></span></span>
<span class="line"><span class="line-number">41</span><span class="line-content"><span class="line"><span style="color:#D73A49">    if</span><span style="color:#24292E"> err </span><span style="color:#D73A49">!=</span><span style="color:#005CC5"> nil</span><span style="color:#24292E"> {</span></span></span></span>
<span class="line"><span class="line-number">42</span><span class="line-content"><span class="line"><span style="color:#6F42C1">        panic</span><span style="color:#24292E">(err)</span></span></span></span>
<span class="line"><span class="line-number">43</span><span class="line-content"><span class="line"><span style="color:#24292E">    }</span></span></span></span>
<span class="line"><span class="line-number">44</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">45</span><span class="line-content"><span class="line"><span style="color:#D73A49">    if</span><span style="color:#24292E"> resp.StatusCode </span><span style="color:#D73A49">!=</span><span style="color:#24292E"> http.StatusOK {</span></span></span></span>
<span class="line"><span class="line-number">46</span><span class="line-content"><span class="line"><span style="color:#24292E">        fmt.</span><span style="color:#6F42C1">Printf</span><span style="color:#24292E">(</span><span style="color:#032F62">"Error: </span><span style="color:#005CC5">%d\n%s\n</span><span style="color:#032F62">"</span><span style="color:#24292E">, resp.StatusCode, body)</span></span></span></span>
<span class="line"><span class="line-number">47</span><span class="line-content"><span class="line"><span style="color:#D73A49">        return</span></span></span></span>
<span class="line"><span class="line-number">48</span><span class="line-content"><span class="line"><span style="color:#24292E">    }</span></span></span></span>
<span class="line"><span class="line-number">49</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">50</span><span class="line-content"><span class="line"><span style="color:#6A737D">    // Media models return the file itself; a JSON body carries the result instead.</span></span></span></span>
<span class="line"><span class="line-number">51</span><span class="line-content"><span class="line"><span style="color:#D73A49">    if</span><span style="color:#24292E"> strings.</span><span style="color:#6F42C1">HasPrefix</span><span style="color:#24292E">(resp.Header.</span><span style="color:#6F42C1">Get</span><span style="color:#24292E">(</span><span style="color:#032F62">"Content-Type"</span><span style="color:#24292E">), </span><span style="color:#032F62">"application/json"</span><span style="color:#24292E">) {</span></span></span></span>
<span class="line"><span class="line-number">52</span><span class="line-content"><span class="line"><span style="color:#24292E">        fmt.</span><span style="color:#6F42C1">Println</span><span style="color:#24292E">(</span><span style="color:#D73A49">string</span><span style="color:#24292E">(body))</span></span></span></span>
<span class="line"><span class="line-number">53</span><span class="line-content"><span class="line"><span style="color:#D73A49">        return</span></span></span></span>
<span class="line"><span class="line-number">54</span><span class="line-content"><span class="line"><span style="color:#24292E">    }</span></span></span></span>
<span class="line"><span class="line-number">55</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">56</span><span class="line-content"><span class="line"><span style="color:#D73A49">    if</span><span style="color:#24292E"> err </span><span style="color:#D73A49">:=</span><span style="color:#24292E"> os.</span><span style="color:#6F42C1">WriteFile</span><span style="color:#24292E">(</span><span style="color:#032F62">"output.png"</span><span style="color:#24292E">, body, </span><span style="color:#D73A49">0o</span><span style="color:#005CC5">644</span><span style="color:#24292E">); err </span><span style="color:#D73A49">!=</span><span style="color:#005CC5"> nil</span><span style="color:#24292E"> {</span></span></span></span>
<span class="line"><span class="line-number">57</span><span class="line-content"><span class="line"><span style="color:#6F42C1">        panic</span><span style="color:#24292E">(err)</span></span></span></span>
<span class="line"><span class="line-number">58</span><span class="line-content"><span class="line"><span style="color:#24292E">    }</span></span></span></span>
<span class="line"><span class="line-number">59</span><span class="line-content"><span class="line"><span style="color:#24292E">    fmt.</span><span style="color:#6F42C1">Println</span><span style="color:#24292E">(</span><span style="color:#032F62">"Saved output.png"</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">60</span><span class="line-content"><span class="line"><span style="color:#24292E">}</span></span></span></span></code></pre>4b:T38c6,<pre class="shiki-dark" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#F97583">package</span><span style="color:#B392F0"> main</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#F97583">import</span><span style="color:#E1E4E8"> (</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "</span><span style="color:#B392F0">bytes</span><span style="color:#9ECBFF">"</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "</span><span style="color:#B392F0">fmt</span><span style="color:#9ECBFF">"</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "</span><span style="color:#B392F0">io</span><span style="color:#9ECBFF">"</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "</span><span style="color:#B392F0">net/http</span><span style="color:#9ECBFF">"</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "</span><span style="color:#B392F0">os</span><span style="color:#9ECBFF">"</span></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    "</span><span style="color:#B392F0">strings</span><span style="color:#9ECBFF">"</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#F97583">func</span><span style="color:#B392F0"> main</span><span style="color:#E1E4E8">() {</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    url </span><span style="color:#F97583">:=</span><span style="color:#9ECBFF"> "https://api.segmind.com/v1/gpt-image-1.5"</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    data </span><span style="color:#F97583">:=</span><span style="color:#E1E4E8"> []</span><span style="color:#F97583">byte</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">`{</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">}`</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    req, err </span><span style="color:#F97583">:=</span><span style="color:#E1E4E8"> http.</span><span style="color:#B392F0">NewRequest</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"POST"</span><span style="color:#E1E4E8">, url, bytes.</span><span style="color:#B392F0">NewBuffer</span><span style="color:#E1E4E8">(data))</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#F97583">    if</span><span style="color:#E1E4E8"> err </span><span style="color:#F97583">!=</span><span style="color:#79B8FF"> nil</span><span style="color:#E1E4E8"> {</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#B392F0">        panic</span><span style="color:#E1E4E8">(err)</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    }</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    req.Header.</span><span style="color:#B392F0">Set</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"x-api-key"</span><span style="color:#E1E4E8">, </span><span style="color:#9ECBFF">"YOUR_API_KEY"</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    req.Header.</span><span style="color:#B392F0">Set</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Content-Type"</span><span style="color:#E1E4E8">, </span><span style="color:#9ECBFF">"application/json"</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    client </span><span style="color:#F97583">:=</span><span style="color:#F97583"> &#x26;</span><span style="color:#B392F0">http</span><span style="color:#E1E4E8">.</span><span style="color:#B392F0">Client</span><span style="color:#E1E4E8">{}</span></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    resp, err </span><span style="color:#F97583">:=</span><span style="color:#E1E4E8"> client.</span><span style="color:#B392F0">Do</span><span style="color:#E1E4E8">(req)</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#F97583">    if</span><span style="color:#E1E4E8"> err </span><span style="color:#F97583">!=</span><span style="color:#79B8FF"> nil</span><span style="color:#E1E4E8"> {</span></span></span></span>
<span class="line"><span class="line-number">36</span><span class="line-content"><span class="line"><span style="color:#B392F0">        panic</span><span style="color:#E1E4E8">(err)</span></span></span></span>
<span class="line"><span class="line-number">37</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    }</span></span></span></span>
<span class="line"><span class="line-number">38</span><span class="line-content"><span class="line"><span style="color:#F97583">    defer</span><span style="color:#E1E4E8"> resp.Body.</span><span style="color:#B392F0">Close</span><span style="color:#E1E4E8">()</span></span></span></span>
<span class="line"><span class="line-number">39</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">40</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    body, err </span><span style="color:#F97583">:=</span><span style="color:#E1E4E8"> io.</span><span style="color:#B392F0">ReadAll</span><span style="color:#E1E4E8">(resp.Body)</span></span></span></span>
<span class="line"><span class="line-number">41</span><span class="line-content"><span class="line"><span style="color:#F97583">    if</span><span style="color:#E1E4E8"> err </span><span style="color:#F97583">!=</span><span style="color:#79B8FF"> nil</span><span style="color:#E1E4E8"> {</span></span></span></span>
<span class="line"><span class="line-number">42</span><span class="line-content"><span class="line"><span style="color:#B392F0">        panic</span><span style="color:#E1E4E8">(err)</span></span></span></span>
<span class="line"><span class="line-number">43</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    }</span></span></span></span>
<span class="line"><span class="line-number">44</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">45</span><span class="line-content"><span class="line"><span style="color:#F97583">    if</span><span style="color:#E1E4E8"> resp.StatusCode </span><span style="color:#F97583">!=</span><span style="color:#E1E4E8"> http.StatusOK {</span></span></span></span>
<span class="line"><span class="line-number">46</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">        fmt.</span><span style="color:#B392F0">Printf</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Error: </span><span style="color:#79B8FF">%d\n%s\n</span><span style="color:#9ECBFF">"</span><span style="color:#E1E4E8">, resp.StatusCode, body)</span></span></span></span>
<span class="line"><span class="line-number">47</span><span class="line-content"><span class="line"><span style="color:#F97583">        return</span></span></span></span>
<span class="line"><span class="line-number">48</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    }</span></span></span></span>
<span class="line"><span class="line-number">49</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">50</span><span class="line-content"><span class="line"><span style="color:#6A737D">    // Media models return the file itself; a JSON body carries the result instead.</span></span></span></span>
<span class="line"><span class="line-number">51</span><span class="line-content"><span class="line"><span style="color:#F97583">    if</span><span style="color:#E1E4E8"> strings.</span><span style="color:#B392F0">HasPrefix</span><span style="color:#E1E4E8">(resp.Header.</span><span style="color:#B392F0">Get</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Content-Type"</span><span style="color:#E1E4E8">), </span><span style="color:#9ECBFF">"application/json"</span><span style="color:#E1E4E8">) {</span></span></span></span>
<span class="line"><span class="line-number">52</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">        fmt.</span><span style="color:#B392F0">Println</span><span style="color:#E1E4E8">(</span><span style="color:#F97583">string</span><span style="color:#E1E4E8">(body))</span></span></span></span>
<span class="line"><span class="line-number">53</span><span class="line-content"><span class="line"><span style="color:#F97583">        return</span></span></span></span>
<span class="line"><span class="line-number">54</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    }</span></span></span></span>
<span class="line"><span class="line-number">55</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">56</span><span class="line-content"><span class="line"><span style="color:#F97583">    if</span><span style="color:#E1E4E8"> err </span><span style="color:#F97583">:=</span><span style="color:#E1E4E8"> os.</span><span style="color:#B392F0">WriteFile</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"output.png"</span><span style="color:#E1E4E8">, body, </span><span style="color:#F97583">0o</span><span style="color:#79B8FF">644</span><span style="color:#E1E4E8">); err </span><span style="color:#F97583">!=</span><span style="color:#79B8FF"> nil</span><span style="color:#E1E4E8"> {</span></span></span></span>
<span class="line"><span class="line-number">57</span><span class="line-content"><span class="line"><span style="color:#B392F0">        panic</span><span style="color:#E1E4E8">(err)</span></span></span></span>
<span class="line"><span class="line-number">58</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    }</span></span></span></span>
<span class="line"><span class="line-number">59</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">    fmt.</span><span style="color:#B392F0">Println</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">"Saved output.png"</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">60</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">}</span></span></span></span></code></pre>4c:T4d6,<?php

$url = "https://api.segmind.com/v1/gpt-image-1.5";
$headers = [
    'x-api-key: YOUR_API_KEY',
    'Content-Type: application/json',
];

$data = '{
  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",
  "size": "1536x1024",
  "quality": "high",
  "moderation": "auto",
  "background": "opaque",
  "output_compression": 100,
  "output_format": "png"
}';

$curl = curl_init();
curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $data,
    CURLOPT_HTTPHEADER => $headers,
]);

$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
$contentType = (string) curl_getinfo($curl, CURLINFO_CONTENT_TYPE);
curl_close($curl);

if ($httpCode === 200 && str_starts_with($contentType, 'application/json')) {
    // Media models return the file itself; a JSON body carries the result instead.
    echo json_encode(json_decode($response, true), JSON_PRETTY_PRINT);
} elseif ($httpCode === 200) {
    file_put_contents('output.png', $response);
    echo "Saved output.png\n";
} else {
    echo "Error: $httpCode\n";
    echo $response;
}

?>4d:T2a15,<pre class="shiki-light" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#D73A49">&#x3C;?</span><span style="color:#005CC5">php</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#24292E">$url </span><span style="color:#D73A49">=</span><span style="color:#032F62"> "https://api.segmind.com/v1/gpt-image-1.5"</span><span style="color:#24292E">;</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#24292E">$headers </span><span style="color:#D73A49">=</span><span style="color:#24292E"> [</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#032F62">    'x-api-key: YOUR_API_KEY'</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#032F62">    'Content-Type: application/json'</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#24292E">];</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#24292E">$data </span><span style="color:#D73A49">=</span><span style="color:#032F62"> '{</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#032F62">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#032F62">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#032F62">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#032F62">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#032F62">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#032F62">}'</span><span style="color:#24292E">;</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#24292E">$curl </span><span style="color:#D73A49">=</span><span style="color:#005CC5"> curl_init</span><span style="color:#24292E">();</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#005CC5">curl_setopt_array</span><span style="color:#24292E">($curl, [</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#005CC5">    CURLOPT_URL</span><span style="color:#D73A49"> =></span><span style="color:#24292E"> $url,</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#005CC5">    CURLOPT_RETURNTRANSFER</span><span style="color:#D73A49"> =></span><span style="color:#005CC5"> true</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#005CC5">    CURLOPT_POST</span><span style="color:#D73A49"> =></span><span style="color:#005CC5"> true</span><span style="color:#24292E">,</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#005CC5">    CURLOPT_POSTFIELDS</span><span style="color:#D73A49"> =></span><span style="color:#24292E"> $data,</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#005CC5">    CURLOPT_HTTPHEADER</span><span style="color:#D73A49"> =></span><span style="color:#24292E"> $headers,</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#24292E">]);</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#24292E">$response </span><span style="color:#D73A49">=</span><span style="color:#005CC5"> curl_exec</span><span style="color:#24292E">($curl);</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#24292E">$httpCode </span><span style="color:#D73A49">=</span><span style="color:#005CC5"> curl_getinfo</span><span style="color:#24292E">($curl, </span><span style="color:#005CC5">CURLINFO_HTTP_CODE</span><span style="color:#24292E">);</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#24292E">$contentType </span><span style="color:#D73A49">=</span><span style="color:#24292E"> (</span><span style="color:#D73A49">string</span><span style="color:#24292E">) </span><span style="color:#005CC5">curl_getinfo</span><span style="color:#24292E">($curl, </span><span style="color:#005CC5">CURLINFO_CONTENT_TYPE</span><span style="color:#24292E">);</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#005CC5">curl_close</span><span style="color:#24292E">($curl);</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"><span style="color:#D73A49">if</span><span style="color:#24292E"> ($httpCode </span><span style="color:#D73A49">===</span><span style="color:#005CC5"> 200</span><span style="color:#D73A49"> &#x26;&#x26;</span><span style="color:#005CC5"> str_starts_with</span><span style="color:#24292E">($contentType, </span><span style="color:#032F62">'application/json'</span><span style="color:#24292E">)) {</span></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#6A737D">    // Media models return the file itself; a JSON body carries the result instead.</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#005CC5">    echo</span><span style="color:#005CC5"> json_encode</span><span style="color:#24292E">(</span><span style="color:#005CC5">json_decode</span><span style="color:#24292E">($response, </span><span style="color:#005CC5">true</span><span style="color:#24292E">), </span><span style="color:#005CC5">JSON_PRETTY_PRINT</span><span style="color:#24292E">);</span></span></span></span>
<span class="line"><span class="line-number">36</span><span class="line-content"><span class="line"><span style="color:#24292E">} </span><span style="color:#D73A49">elseif</span><span style="color:#24292E"> ($httpCode </span><span style="color:#D73A49">===</span><span style="color:#005CC5"> 200</span><span style="color:#24292E">) {</span></span></span></span>
<span class="line"><span class="line-number">37</span><span class="line-content"><span class="line"><span style="color:#005CC5">    file_put_contents</span><span style="color:#24292E">(</span><span style="color:#032F62">'output.png'</span><span style="color:#24292E">, $response);</span></span></span></span>
<span class="line"><span class="line-number">38</span><span class="line-content"><span class="line"><span style="color:#005CC5">    echo</span><span style="color:#032F62"> "Saved output.png</span><span style="color:#005CC5">\n</span><span style="color:#032F62">"</span><span style="color:#24292E">;</span></span></span></span>
<span class="line"><span class="line-number">39</span><span class="line-content"><span class="line"><span style="color:#24292E">} </span><span style="color:#D73A49">else</span><span style="color:#24292E"> {</span></span></span></span>
<span class="line"><span class="line-number">40</span><span class="line-content"><span class="line"><span style="color:#005CC5">    echo</span><span style="color:#032F62"> "Error: </span><span style="color:#24292E">$httpCode</span><span style="color:#005CC5">\n</span><span style="color:#032F62">"</span><span style="color:#24292E">;</span></span></span></span>
<span class="line"><span class="line-number">41</span><span class="line-content"><span class="line"><span style="color:#005CC5">    echo</span><span style="color:#24292E"> $response;</span></span></span></span>
<span class="line"><span class="line-number">42</span><span class="line-content"><span class="line"><span style="color:#24292E">}</span></span></span></span>
<span class="line"><span class="line-number">43</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">44</span><span class="line-content"><span class="line"><span style="color:#D73A49">?></span></span></span></span></code></pre>4e:T2a14,<pre class="shiki-dark" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#F97583">&#x3C;?</span><span style="color:#79B8FF">php</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">$url </span><span style="color:#F97583">=</span><span style="color:#9ECBFF"> "https://api.segmind.com/v1/gpt-image-1.5"</span><span style="color:#E1E4E8">;</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">$headers </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> [</span></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    'x-api-key: YOUR_API_KEY'</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">    'Content-Type: application/json'</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">];</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">$data </span><span style="color:#F97583">=</span><span style="color:#9ECBFF"> '{</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">}'</span><span style="color:#E1E4E8">;</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">$curl </span><span style="color:#F97583">=</span><span style="color:#79B8FF"> curl_init</span><span style="color:#E1E4E8">();</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#79B8FF">curl_setopt_array</span><span style="color:#E1E4E8">($curl, [</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    CURLOPT_URL</span><span style="color:#F97583"> =></span><span style="color:#E1E4E8"> $url,</span></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    CURLOPT_RETURNTRANSFER</span><span style="color:#F97583"> =></span><span style="color:#79B8FF"> true</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    CURLOPT_POST</span><span style="color:#F97583"> =></span><span style="color:#79B8FF"> true</span><span style="color:#E1E4E8">,</span></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    CURLOPT_POSTFIELDS</span><span style="color:#F97583"> =></span><span style="color:#E1E4E8"> $data,</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    CURLOPT_HTTPHEADER</span><span style="color:#F97583"> =></span><span style="color:#E1E4E8"> $headers,</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">]);</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">$response </span><span style="color:#F97583">=</span><span style="color:#79B8FF"> curl_exec</span><span style="color:#E1E4E8">($curl);</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">$httpCode </span><span style="color:#F97583">=</span><span style="color:#79B8FF"> curl_getinfo</span><span style="color:#E1E4E8">($curl, </span><span style="color:#79B8FF">CURLINFO_HTTP_CODE</span><span style="color:#E1E4E8">);</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">$contentType </span><span style="color:#F97583">=</span><span style="color:#E1E4E8"> (</span><span style="color:#F97583">string</span><span style="color:#E1E4E8">) </span><span style="color:#79B8FF">curl_getinfo</span><span style="color:#E1E4E8">($curl, </span><span style="color:#79B8FF">CURLINFO_CONTENT_TYPE</span><span style="color:#E1E4E8">);</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#79B8FF">curl_close</span><span style="color:#E1E4E8">($curl);</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"><span style="color:#F97583">if</span><span style="color:#E1E4E8"> ($httpCode </span><span style="color:#F97583">===</span><span style="color:#79B8FF"> 200</span><span style="color:#F97583"> &#x26;&#x26;</span><span style="color:#79B8FF"> str_starts_with</span><span style="color:#E1E4E8">($contentType, </span><span style="color:#9ECBFF">'application/json'</span><span style="color:#E1E4E8">)) {</span></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#6A737D">    // Media models return the file itself; a JSON body carries the result instead.</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    echo</span><span style="color:#79B8FF"> json_encode</span><span style="color:#E1E4E8">(</span><span style="color:#79B8FF">json_decode</span><span style="color:#E1E4E8">($response, </span><span style="color:#79B8FF">true</span><span style="color:#E1E4E8">), </span><span style="color:#79B8FF">JSON_PRETTY_PRINT</span><span style="color:#E1E4E8">);</span></span></span></span>
<span class="line"><span class="line-number">36</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">} </span><span style="color:#F97583">elseif</span><span style="color:#E1E4E8"> ($httpCode </span><span style="color:#F97583">===</span><span style="color:#79B8FF"> 200</span><span style="color:#E1E4E8">) {</span></span></span></span>
<span class="line"><span class="line-number">37</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    file_put_contents</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">'output.png'</span><span style="color:#E1E4E8">, $response);</span></span></span></span>
<span class="line"><span class="line-number">38</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    echo</span><span style="color:#9ECBFF"> "Saved output.png</span><span style="color:#79B8FF">\n</span><span style="color:#9ECBFF">"</span><span style="color:#E1E4E8">;</span></span></span></span>
<span class="line"><span class="line-number">39</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">} </span><span style="color:#F97583">else</span><span style="color:#E1E4E8"> {</span></span></span></span>
<span class="line"><span class="line-number">40</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    echo</span><span style="color:#9ECBFF"> "Error: </span><span style="color:#E1E4E8">$httpCode</span><span style="color:#79B8FF">\n</span><span style="color:#9ECBFF">"</span><span style="color:#E1E4E8">;</span></span></span></span>
<span class="line"><span class="line-number">41</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    echo</span><span style="color:#E1E4E8"> $response;</span></span></span></span>
<span class="line"><span class="line-number">42</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">}</span></span></span></span>
<span class="line"><span class="line-number">43</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">44</span><span class="line-content"><span class="line"><span style="color:#F97583">?></span></span></span></span></code></pre>4f:T2478,<pre class="shiki-light" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#D73A49">require</span><span style="color:#032F62"> 'net/http'</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"><span style="color:#D73A49">require</span><span style="color:#032F62"> 'json'</span></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#D73A49">require</span><span style="color:#032F62"> 'uri'</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#E36209">uri</span><span style="color:#D73A49"> =</span><span style="color:#005CC5"> URI</span><span style="color:#24292E">(</span><span style="color:#032F62">'https://api.segmind.com/v1/gpt-image-1.5'</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#E36209">http</span><span style="color:#D73A49"> =</span><span style="color:#005CC5"> Net</span><span style="color:#24292E">::</span><span style="color:#005CC5">HTTP</span><span style="color:#24292E">.</span><span style="color:#D73A49">new</span><span style="color:#24292E">(uri.</span><span style="color:#6F42C1">host</span><span style="color:#24292E">, uri.</span><span style="color:#6F42C1">port</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#24292E">http.</span><span style="color:#6F42C1">use_ssl</span><span style="color:#D73A49"> =</span><span style="color:#005CC5"> true</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#E36209">request</span><span style="color:#D73A49"> =</span><span style="color:#005CC5"> Net</span><span style="color:#24292E">::</span><span style="color:#005CC5">HTTP</span><span style="color:#24292E">::</span><span style="color:#005CC5">Post</span><span style="color:#24292E">.</span><span style="color:#D73A49">new</span><span style="color:#24292E">(uri)</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#24292E">request[</span><span style="color:#032F62">'x-api-key'</span><span style="color:#24292E">] </span><span style="color:#D73A49">=</span><span style="color:#032F62"> 'YOUR_API_KEY'</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#24292E">request[</span><span style="color:#032F62">'Content-Type'</span><span style="color:#24292E">] </span><span style="color:#D73A49">=</span><span style="color:#032F62"> 'application/json'</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#24292E">request.</span><span style="color:#6F42C1">body</span><span style="color:#D73A49"> =</span><span style="color:#032F62"> '{</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#032F62">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#032F62">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#032F62">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#032F62">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#032F62">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#032F62">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#032F62">}'</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#E36209">response</span><span style="color:#D73A49"> =</span><span style="color:#24292E"> http.</span><span style="color:#6F42C1">request</span><span style="color:#24292E">(request)</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#D73A49">if</span><span style="color:#24292E"> response.</span><span style="color:#6F42C1">code</span><span style="color:#D73A49"> ==</span><span style="color:#032F62"> '200'</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#6A737D">  # Media models return the file itself; a JSON body carries the result instead.</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#D73A49">  if</span><span style="color:#24292E"> response[</span><span style="color:#032F62">'content-type'</span><span style="color:#24292E">].</span><span style="color:#6F42C1">to_s</span><span style="color:#24292E">.</span><span style="color:#6F42C1">start_with?</span><span style="color:#24292E">(</span><span style="color:#032F62">'application/json'</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#005CC5">    puts</span><span style="color:#005CC5"> JSON</span><span style="color:#24292E">.</span><span style="color:#6F42C1">pretty_generate</span><span style="color:#24292E">(</span><span style="color:#005CC5">JSON</span><span style="color:#24292E">.</span><span style="color:#6F42C1">parse</span><span style="color:#24292E">(response.</span><span style="color:#6F42C1">body</span><span style="color:#24292E">))</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#D73A49">  else</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#005CC5">    File</span><span style="color:#24292E">.</span><span style="color:#6F42C1">binwrite</span><span style="color:#24292E">(</span><span style="color:#032F62">'output.png'</span><span style="color:#24292E">, response.</span><span style="color:#6F42C1">body</span><span style="color:#24292E">)</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#005CC5">    puts</span><span style="color:#032F62"> 'Saved output.png'</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#D73A49">  end</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"><span style="color:#D73A49">else</span></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"><span style="color:#005CC5">  puts</span><span style="color:#032F62"> "Error: </span><span style="color:#032F62">#{response.</span><span style="color:#6F42C1">code</span><span style="color:#032F62">}</span><span style="color:#032F62">"</span></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#005CC5">  puts</span><span style="color:#24292E"> response.</span><span style="color:#6F42C1">body</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#D73A49">end</span></span></span></span></code></pre>50:T2477,<pre class="shiki-dark" style="" tabindex="0"><code><span class="line"><span class="line-number"> 1</span><span class="line-content"><span class="line"><span style="color:#F97583">require</span><span style="color:#9ECBFF"> 'net/http'</span></span></span></span>
<span class="line"><span class="line-number"> 2</span><span class="line-content"><span class="line"><span style="color:#F97583">require</span><span style="color:#9ECBFF"> 'json'</span></span></span></span>
<span class="line"><span class="line-number"> 3</span><span class="line-content"><span class="line"><span style="color:#F97583">require</span><span style="color:#9ECBFF"> 'uri'</span></span></span></span>
<span class="line"><span class="line-number"> 4</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 5</span><span class="line-content"><span class="line"><span style="color:#FFAB70">uri</span><span style="color:#F97583"> =</span><span style="color:#79B8FF"> URI</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">'https://api.segmind.com/v1/gpt-image-1.5'</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number"> 6</span><span class="line-content"><span class="line"><span style="color:#FFAB70">http</span><span style="color:#F97583"> =</span><span style="color:#79B8FF"> Net</span><span style="color:#E1E4E8">::</span><span style="color:#79B8FF">HTTP</span><span style="color:#E1E4E8">.</span><span style="color:#F97583">new</span><span style="color:#E1E4E8">(uri.</span><span style="color:#B392F0">host</span><span style="color:#E1E4E8">, uri.</span><span style="color:#B392F0">port</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number"> 7</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">http.</span><span style="color:#B392F0">use_ssl</span><span style="color:#F97583"> =</span><span style="color:#79B8FF"> true</span></span></span></span>
<span class="line"><span class="line-number"> 8</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number"> 9</span><span class="line-content"><span class="line"><span style="color:#FFAB70">request</span><span style="color:#F97583"> =</span><span style="color:#79B8FF"> Net</span><span style="color:#E1E4E8">::</span><span style="color:#79B8FF">HTTP</span><span style="color:#E1E4E8">::</span><span style="color:#79B8FF">Post</span><span style="color:#E1E4E8">.</span><span style="color:#F97583">new</span><span style="color:#E1E4E8">(uri)</span></span></span></span>
<span class="line"><span class="line-number">10</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">request[</span><span style="color:#9ECBFF">'x-api-key'</span><span style="color:#E1E4E8">] </span><span style="color:#F97583">=</span><span style="color:#9ECBFF"> 'YOUR_API_KEY'</span></span></span></span>
<span class="line"><span class="line-number">11</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">request[</span><span style="color:#9ECBFF">'Content-Type'</span><span style="color:#E1E4E8">] </span><span style="color:#F97583">=</span><span style="color:#9ECBFF"> 'application/json'</span></span></span></span>
<span class="line"><span class="line-number">12</span><span class="line-content"><span class="line"><span style="color:#E1E4E8">request.</span><span style="color:#B392F0">body</span><span style="color:#F97583"> =</span><span style="color:#9ECBFF"> '{</span></span></span></span>
<span class="line"><span class="line-number">13</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "prompt": "Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio ",</span></span></span></span>
<span class="line"><span class="line-number">14</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "size": "1536x1024",</span></span></span></span>
<span class="line"><span class="line-number">15</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "quality": "high",</span></span></span></span>
<span class="line"><span class="line-number">16</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "moderation": "auto",</span></span></span></span>
<span class="line"><span class="line-number">17</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "background": "opaque",</span></span></span></span>
<span class="line"><span class="line-number">18</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_compression": 100,</span></span></span></span>
<span class="line"><span class="line-number">19</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">  "output_format": "png"</span></span></span></span>
<span class="line"><span class="line-number">20</span><span class="line-content"><span class="line"><span style="color:#9ECBFF">}'</span></span></span></span>
<span class="line"><span class="line-number">21</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">22</span><span class="line-content"><span class="line"><span style="color:#FFAB70">response</span><span style="color:#F97583"> =</span><span style="color:#E1E4E8"> http.</span><span style="color:#B392F0">request</span><span style="color:#E1E4E8">(request)</span></span></span></span>
<span class="line"><span class="line-number">23</span><span class="line-content"><span class="line"></span></span></span>
<span class="line"><span class="line-number">24</span><span class="line-content"><span class="line"><span style="color:#F97583">if</span><span style="color:#E1E4E8"> response.</span><span style="color:#B392F0">code</span><span style="color:#F97583"> ==</span><span style="color:#9ECBFF"> '200'</span></span></span></span>
<span class="line"><span class="line-number">25</span><span class="line-content"><span class="line"><span style="color:#6A737D">  # Media models return the file itself; a JSON body carries the result instead.</span></span></span></span>
<span class="line"><span class="line-number">26</span><span class="line-content"><span class="line"><span style="color:#F97583">  if</span><span style="color:#E1E4E8"> response[</span><span style="color:#9ECBFF">'content-type'</span><span style="color:#E1E4E8">].</span><span style="color:#B392F0">to_s</span><span style="color:#E1E4E8">.</span><span style="color:#B392F0">start_with?</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">'application/json'</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">27</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    puts</span><span style="color:#79B8FF"> JSON</span><span style="color:#E1E4E8">.</span><span style="color:#B392F0">pretty_generate</span><span style="color:#E1E4E8">(</span><span style="color:#79B8FF">JSON</span><span style="color:#E1E4E8">.</span><span style="color:#B392F0">parse</span><span style="color:#E1E4E8">(response.</span><span style="color:#B392F0">body</span><span style="color:#E1E4E8">))</span></span></span></span>
<span class="line"><span class="line-number">28</span><span class="line-content"><span class="line"><span style="color:#F97583">  else</span></span></span></span>
<span class="line"><span class="line-number">29</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    File</span><span style="color:#E1E4E8">.</span><span style="color:#B392F0">binwrite</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">'output.png'</span><span style="color:#E1E4E8">, response.</span><span style="color:#B392F0">body</span><span style="color:#E1E4E8">)</span></span></span></span>
<span class="line"><span class="line-number">30</span><span class="line-content"><span class="line"><span style="color:#79B8FF">    puts</span><span style="color:#9ECBFF"> 'Saved output.png'</span></span></span></span>
<span class="line"><span class="line-number">31</span><span class="line-content"><span class="line"><span style="color:#F97583">  end</span></span></span></span>
<span class="line"><span class="line-number">32</span><span class="line-content"><span class="line"><span style="color:#F97583">else</span></span></span></span>
<span class="line"><span class="line-number">33</span><span class="line-content"><span class="line"><span style="color:#79B8FF">  puts</span><span style="color:#9ECBFF"> "Error: </span><span style="color:#9ECBFF">#{response.</span><span style="color:#B392F0">code</span><span style="color:#9ECBFF">}</span><span style="color:#9ECBFF">"</span></span></span></span>
<span class="line"><span class="line-number">34</span><span class="line-content"><span class="line"><span style="color:#79B8FF">  puts</span><span style="color:#E1E4E8"> response.</span><span style="color:#B392F0">body</span></span></span></span>
<span class="line"><span class="line-number">35</span><span class="line-content"><span class="line"><span style="color:#F97583">end</span></span></span></span></code></pre>29:["$","div",null,{"className":"space-y-6 md:space-y-8","children":[["$","div",null,{"className":"flex flex-col lg:grid lg:grid-cols-2 gap-6 lg:gap-8","children":[["$","div",null,{"className":"order-1 lg:order-1","children":["$","$L2f",null,{"groups":[{"mode":"async","label":"Async","mechanism":"POST /v2/gpt-image-1.5 Â· submit + poll","examples":[{"language":"python-sdk","label":"Python (SDK)","code":"$30","highlightedLight":"$31","highlightedDark":"$32"},{"language":"curl","label":"cURL","code":"# 1. Submit to the v2 async endpoint -> returns a request_id\nREQUEST_ID=$(curl -s -X POST \"https://api.segmind.com/v2/gpt-image-1.5\" \\\n  -H \"x-api-key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"prompt\": \"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio \",\n  \"size\": \"1536x1024\",\n  \"quality\": \"high\",\n  \"moderation\": \"auto\",\n  \"background\": \"opaque\",\n  \"output_compression\": 100,\n  \"output_format\": \"png\"\n}' | jq -r .request_id)\n\n# 2. Poll status until \"COMPLETED\" (FAILED is served as HTTP 422)\ncurl -s \"https://api.segmind.com/v2/requests/$REQUEST_ID/status\" \\\n  -H \"x-api-key: YOUR_API_KEY\"\n\n# 3. Fetch the final result body (available for 1 hour)\ncurl -s \"https://api.segmind.com/v2/requests/$REQUEST_ID\" \\\n  -H \"x-api-key: YOUR_API_KEY\"","highlightedLight":"$33","highlightedDark":"$34"},{"language":"javascript","label":"JavaScript","code":"$35","highlightedLight":"$36","highlightedDark":"$37"},{"language":"go","label":"Go","code":"$38","highlightedLight":"$39","highlightedDark":"$3a"},{"language":"php","label":"PHP","code":"$3b","highlightedLight":"$3c","highlightedDark":"$3d"},{"language":"ruby","label":"Ruby","code":"$3e","highlightedLight":"$3f","highlightedDark":"$40"}]},{"mode":"sync","label":"Sync","mechanism":"POST /v1/gpt-image-1.5 Â· single blocking call","examples":[{"language":"python-sdk","label":"Python (SDK)","code":"# pip install \"segmind>=1.1.0\"\n# export SEGMIND_API_KEY=\"YOUR_API_KEY\"\nimport segmind\n\n# Sync (v1): one blocking call, returns an httpx.Response.\nresponse = segmind.run_sync(\n    \"gpt-image-1.5\",\n    prompt=\"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio \",\n    size=\"1536x1024\",\n    quality=\"high\",\n    moderation=\"auto\",\n    background=\"opaque\",\n    output_compression=100,\n    output_format=\"png\",\n)\n\n# Media models return the file itself; a JSON body carries the result instead.\nif response.headers.get(\"content-type\", \"\").startswith(\"application/json\"):\n    print(response.json())\nelse:\n    with open(\"output.png\", \"wb\") as f:\n        f.write(response.content)","highlightedLight":"$41","highlightedDark":"$42"},{"language":"python","label":"Python (requests)","code":"import requests\nimport json\n\nurl = \"https://api.segmind.com/v1/gpt-image-1.5\"\nheaders = {\n    \"x-api-key\": \"YOUR_API_KEY\",\n    \"Content-Type\": \"application/json\"\n}\n\ndata = {\n    \"prompt\": \"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio \",\n    \"size\": \"1536x1024\",\n    \"quality\": \"high\",\n    \"moderation\": \"auto\",\n    \"background\": \"opaque\",\n    \"output_compression\": 100,\n    \"output_format\": \"png\"\n}\n\nresponse = requests.post(url, headers=headers, json=data)\n\nif response.status_code == 200:\n    # Media models return the file itself; a JSON body carries the result instead.\n    if response.headers.get(\"Content-Type\", \"\").startswith(\"application/json\"):\n        print(json.dumps(response.json(), indent=2))\n    else:\n        with open(\"output.png\", \"wb\") as f:\n            f.write(response.content)\n        print(\"Saved output.png\")\nelse:\n    print(f\"Error: {response.status_code}\")\n    print(response.text)","highlightedLight":"$43","highlightedDark":"$44"},{"language":"curl","label":"cURL","code":"curl -X POST \"https://api.segmind.com/v1/gpt-image-1.5\" \\\n  -H \"x-api-key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"prompt\": \"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio \",\n  \"size\": \"1536x1024\",\n  \"quality\": \"high\",\n  \"moderation\": \"auto\",\n  \"background\": \"opaque\",\n  \"output_compression\": 100,\n  \"output_format\": \"png\"\n}' \\\n  -o output.png","highlightedLight":"$45","highlightedDark":"$46"},{"language":"javascript","label":"JavaScript","code":"import { writeFile } from 'node:fs/promises';\n\nconst response = await fetch('https://api.segmind.com/v1/gpt-image-1.5', {\n  method: 'POST',\n  headers: {\n    'x-api-key': 'YOUR_API_KEY',\n    'Content-Type': 'application/json',\n  },\n  body: JSON.stringify({\n  \"prompt\": \"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio \",\n  \"size\": \"1536x1024\",\n  \"quality\": \"high\",\n  \"moderation\": \"auto\",\n  \"background\": \"opaque\",\n  \"output_compression\": 100,\n  \"output_format\": \"png\"\n}),\n});\n\nif (response.ok) {\n  // Media models return the file itself; a JSON body carries the result instead.\n  if ((response.headers.get('content-type') || '').startsWith('application/json')) {\n    console.log(await response.json());\n  } else {\n    await writeFile('output.png', Buffer.from(await response.arrayBuffer()));\n    console.log('Saved output.png');\n  }\n} else {\n  console.error('Error:', response.status);\n  console.error(await response.text());\n}","highlightedLight":"$47","highlightedDark":"$48"},{"language":"go","label":"Go","code":"$49","highlightedLight":"$4a","highlightedDark":"$4b"},{"language":"php","label":"PHP","code":"$4c","highlightedLight":"$4d","highlightedDark":"$4e"},{"language":"ruby","label":"Ruby","code":"require 'net/http'\nrequire 'json'\nrequire 'uri'\n\nuri = URI('https://api.segmind.com/v1/gpt-image-1.5')\nhttp = Net::HTTP.new(uri.host, uri.port)\nhttp.use_ssl = true\n\nrequest = Net::HTTP::Post.new(uri)\nrequest['x-api-key'] = 'YOUR_API_KEY'\nrequest['Content-Type'] = 'application/json'\nrequest.body = '{\n  \"prompt\": \"Create a clean-looking website in Apple style for Nike by putting related elements with powerful design in a 4:5 aspect ratio \",\n  \"size\": \"1536x1024\",\n  \"quality\": \"high\",\n  \"moderation\": \"auto\",\n  \"background\": \"opaque\",\n  \"output_compression\": 100,\n  \"output_format\": \"png\"\n}'\n\nresponse = http.request(request)\n\nif response.code == '200'\n  # Media models return the file itself; a JSON body carries the result instead.\n  if response['content-type'].to_s.start_with?('application/json')\n    puts JSON.pretty_generate(JSON.parse(response.body))\n  else\n    File.binwrite('output.png', response.body)\n    puts 'Saved output.png'\n  end\nelse\n  puts \"Error: #{response.code}\"\n  puts response.body\nend","highlightedLight":"$4f","highlightedDark":"$50"}]}]}]}],"$L51"]}],"$L52","$L53"]}]
54:I[24824,["6693","static/chunks/fba4ba2d-460e04194f22506f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","3009","static/chunks/6a7d804d-a5cc510ceffe206f.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","7505","static/chunks/c02d83f4-5637599209ef9447.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","9509","static/chunks/9509-6125acd3006111c1.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","4378","static/chunks/4378-3f82908971052aa9.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","6397","static/chunks/6397-b7ccd1edf8aedf12.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1742","static/chunks/1742-0ea812562873537a.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","1172","static/chunks/1172-89020d82938322e4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","6140","static/chunks/6140-b94b4e43e1bb103d.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x","8012","static/chunks/app/models/%5Broute%5D/api/page-117c8b87bdd6a7b4.js?dpl=dpl_CPYCfxesaX7RKfJUQZpH2JDib41x"],"ParameterDisplay"]
51:["$","div",null,{"className":"order-2 lg:order-2","children":["$","div",null,{"ref":"$undefined","className":"rounded-lg transition-all duration-200 text-foreground text-base p-4 md:p-6 bg-surface border border-border shadow-sm h-fit","children":["$","div",null,{"className":"space-y-4 sm:space-y-6","children":[["$","div",null,{"children":[["$","h3",null,{"className":"text-sm font-medium text-muted-foreground mb-2","children":"API Endpoint"}],["$","div",null,{"className":"bg-muted/30 border border-border px-2.5 py-2 rounded-md flex items-center gap-2","children":[["$","span",null,{"className":"text-xs font-medium text-muted-foreground bg-background px-2 py-0.5 rounded border border-border flex-shrink-0","children":"POST"}],["$","code",null,{"className":"text-xs font-mono text-foreground break-all overflow-x-auto","children":["https://api.segmind.com/v1/","gpt-image-1.5"]}]]}]]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-lg font-medium text-foreground mb-4","children":"Parameters"}],["$","div",null,{"className":"space-y-3","children":[["$","$L54","prompt",{"param":{"name":"prompt","type":"string","description":"Crafts the image content. Try 'A serene sunset over a bustling cityscape.' for vibrant scenes.","required":true}}],["$","$L54","background",{"param":{"name":"background","type":"string","description":"Choose background style. 'Opaque' for full-color backgrounds; 'Transparent' for no background.","required":false,"enum":["transparent","opaque"],"enumLabels":["transparent","opaque"],"default":"opaque","oneOf":"$1f:props:modelDetails:parameters_schema:properties:background:oneOf"}}],["$","$L54","moderation",{"param":{"name":"moderation","type":"string","description":"Sets moderation strictness. Use 'low' for relaxed restrictions.","required":false,"enum":["low","auto"],"enumLabels":["low","auto"],"default":"auto","oneOf":"$1f:props:modelDetails:parameters_schema:properties:moderation:oneOf"}}],["$","$L54","output_compression",{"param":{"name":"output_compression","type":"integer","description":"Sets output compression level. '100' for best quality; lower values for smaller file sizes.","required":false,"default":100}}],["$","$L54","output_format",{"param":{"name":"output_format","type":"string","description":"Chooses output image format. 'PNG' for high quality, 'JPEG' for smaller file sizes.","required":false,"enum":["png","jpeg","webp"],"enumLabels":["png","jpeg","webp"],"default":"png","oneOf":"$1f:props:modelDetails:parameters_schema:properties:output_format:oneOf"}}],["$","$L54","quality",{"param":{"name":"quality","type":"string","description":"Adjusts visual quality. 'High' for detailed, rich images; 'Medium' for average use.","required":false,"enum":["low","medium","high","auto"],"enumLabels":["low","medium","high","auto"],"default":"high","oneOf":"$1f:props:modelDetails:parameters_schema:properties:quality:oneOf"}}],["$","$L54","size",{"param":{"name":"size","type":"string","description":"Selects image resolution. Use '1536x1024' for wide images and '1024x1024' for quick generation.","required":false,"enum":["1024x1024","1536x1024","1024x1536","auto"],"enumLabels":["1024x1024","1536x1024","1024x1536","auto"],"default":"1536x1024","oneOf":"$1f:props:modelDetails:parameters_schema:properties:size:oneOf"}}]]}]]}],["$","div",null,{"className":"bg-emerald-500/5 border border-emerald-500/20 p-4 rounded-lg","children":[["$","h4",null,{"className":"text-sm font-medium text-emerald-700 dark:text-emerald-400 mb-2","children":"Response Type"}],["$","p",null,{"className":"text-sm text-emerald-600 dark:text-emerald-500 leading-relaxed","children":["Returns: ",["$","span",null,{"className":"font-semibold","children":"Text/JSON"}]]}]]}]]}]}]}]
52:["$","div",null,{"ref":"$undefined","className":"rounded-lg transition-all duration-200 text-foreground shadow-sm text-base p-6 bg-surface border border-border","children":[["$","h3",null,{"className":"text-lg font-medium text-foreground mb-2","children":"Asynchronous requests (v2)"}],["$","p",null,{"className":"text-sm text-muted-foreground mb-4","children":["Use ",["$","span",null,{"className":"font-medium text-foreground","children":"Async"}]," for video, long-running (>~60s), or high-concurrency workloads; ",["$","span",null,{"className":"font-medium text-foreground","children":"Sync"}]," ","is simplest for fast image & LLM calls. Async submits a"," ",["$","span",null,{"className":"font-medium text-foreground","children":"request"}]," and you poll it to completion."]}],["$","ol",null,{"className":"space-y-2 mb-5","children":[["$","li","1",{"className":"flex items-start gap-3","children":[["$","span",null,{"className":"text-xs font-mono bg-muted text-muted-foreground px-2 py-1 rounded flex-shrink-0","children":"1"}],["$","div",null,{"className":"min-w-0","children":[["$","code",null,{"className":"text-xs font-mono text-foreground break-all","children":"POST /v2/gpt-image-1.5"}],["$","p",null,{"className":"text-xs text-muted-foreground mt-0.5","children":[["$","span",null,{"className":"font-medium","children":"Submit"}]," â€” ","returns request_id, status_url, response_url"]}]]}]]}],["$","li","2",{"className":"flex items-start gap-3","children":[["$","span",null,{"className":"text-xs font-mono bg-muted text-muted-foreground px-2 py-1 rounded flex-shrink-0","children":"2"}],["$","div",null,{"className":"min-w-0","children":[["$","code",null,{"className":"text-xs font-mono text-foreground break-all","children":"GET /v2/requests/{id}/status"}],["$","p",null,{"className":"text-xs text-muted-foreground mt-0.5","children":[["$","span",null,{"className":"font-medium","children":"Poll"}]," â€” ","until COMPLETED or FAILED"]}]]}]]}],["$","li","3",{"className":"flex items-start gap-3","children":[["$","span",null,{"className":"text-xs font-mono bg-muted text-muted-foreground px-2 py-1 rounded flex-shrink-0","children":"3"}],["$","div",null,{"className":"min-w-0","children":[["$","code",null,{"className":"text-xs font-mono text-foreground break-all","children":"GET /v2/requests/{id}"}],["$","p",null,{"className":"text-xs text-muted-foreground mt-0.5","children":[["$","span",null,{"className":"font-medium","children":"Result"}]," â€” ","final response body"]}]]}]]}]]}],["$","h4",null,{"className":"text-sm font-medium text-foreground mb-2","children":"Status states"}],["$","div",null,{"className":"grid sm:grid-cols-2 gap-2 mb-5","children":[["$","div","QUEUED",{"className":"flex items-center gap-2 bg-muted/30 border border-border px-3 py-2 rounded-lg","children":[["$","span",null,{"className":"text-xs font-mono font-semibold text-muted-foreground","children":"QUEUED"}],["$","span",null,{"className":"text-xs text-muted-foreground","children":["â€” ","Accepted, waiting for a worker"]}]]}],["$","div","PROCESSING",{"className":"flex items-center gap-2 bg-muted/30 border border-border px-3 py-2 rounded-lg","children":[["$","span",null,{"className":"text-xs font-mono font-semibold text-blue-600 dark:text-blue-400","children":"PROCESSING"}],["$","span",null,{"className":"text-xs text-muted-foreground","children":["â€” ","Running on a worker"]}]]}],["$","div","COMPLETED",{"className":"flex items-center gap-2 bg-muted/30 border border-border px-3 py-2 rounded-lg","children":[["$","span",null,{"className":"text-xs font-mono font-semibold text-emerald-600 dark:text-emerald-400","children":"COMPLETED"}],["$","span",null,{"className":"text-xs text-muted-foreground","children":["â€” ","Done â€” result body is ready"]}]]}],["$","div","FAILED",{"className":"flex items-center gap-2 bg-muted/30 border border-border px-3 py-2 rounded-lg","children":[["$","span",null,{"className":"text-xs font-mono font-semibold text-red-600 dark:text-red-400","children":"FAILED"}],["$","span",null,{"className":"text-xs text-muted-foreground","children":["â€” ","Errored (incl. content/RAI blocks)"]}]]}]]}],"$L55"]}]
53:["$","div",null,{"ref":"$undefined","className":"rounded-lg transition-all duration-200 text-foreground shadow-sm text-base p-6 bg-surface border border-border","children":[["$","h3",null,{"className":"text-lg font-medium text-foreground mb-4","children":"Common Error Codes"}],["$","p",null,{"className":"text-sm text-muted-foreground mb-4","children":"The API returns standard HTTP status codes. Detailed error messages are provided in the response body."}],["$","div",null,{"className":"grid sm:grid-cols-2 gap-3","children":[["$","div","400",{"className":"flex items-start gap-3 bg-muted/30 border border-border p-3 rounded-lg","children":[["$","span",null,{"className":"text-xs font-mono bg-red-500/10 text-red-600 dark:text-red-400 px-2 py-1 rounded flex-shrink-0","children":"400"}],["$","div",null,{"className":"min-w-0","children":[["$","h4",null,{"className":"text-sm font-medium text-foreground","children":"Bad Request"}],["$","p",null,{"className":"text-xs text-muted-foreground mt-0.5","children":"Invalid parameters or request format"}]]}]]}],["$","div","401",{"className":"flex items-start gap-3 bg-muted/30 border border-border p-3 rounded-lg","children":[["$","span",null,{"className":"text-xs font-mono bg-red-500/10 text-red-600 dark:text-red-400 px-2 py-1 rounded flex-shrink-0","children":"401"}],["$","div",null,{"className":"min-w-0","children":[["$","h4",null,{"className":"text-sm font-medium text-foreground","children":"Unauthorized"}],["$","p",null,{"className":"text-xs text-muted-foreground mt-0.5","children":"Missing or invalid API key"}]]}]]}],["$","div","403",{"className":"flex items-start gap-3 bg-muted/30 border border-border p-3 rounded-lg","children":[["$","span",null,{"className":"text-xs font-mono bg-red-500/10 text-red-600 dark:text-red-400 px-2 py-1 rounded flex-shrink-0","children":"403"}],["$","div",null,{"className":"min-w-0","children":[["$","h4",null,{"className":"text-sm font-medium text-foreground","children":"Forbidden"}],["$","p",null,{"className":"text-xs text-muted-foreground mt-0.5","children":"Insufficient permissions"}]]}]]}],["$","div","404",{"className":"flex items-start gap-3 bg-muted/30 border border-border p-3 rounded-lg","children":[["$","span",null,{"className":"text-xs font-mono bg-red-500/10 text-red-600 dark:text-red-400 px-2 py-1 rounded flex-shrink-0","children":"404"}],["$","div",null,{"className":"min-w-0","children":[["$","h4",null,{"className":"text-sm font-medium text-foreground","children":"Not Found"}],["$","p",null,{"className":"text-xs text-muted-foreground mt-0.5","children":"Model or endpoint not found"}]]}]]}],["$","div","406",{"className":"flex items-start gap-3 bg-muted/30 border border-border p-3 rounded-lg","children":[["$","span",null,{"className":"text-xs font-mono bg-red-500/10 text-red-600 dark:text-red-400 px-2 py-1 rounded flex-shrink-0","children":"406"}],["$","div",null,{"className":"min-w-0","children":[["$","h4",null,{"className":"text-sm font-medium text-foreground","children":"Insufficient Credits"}],["$","p",null,{"className":"text-xs text-muted-foreground mt-0.5","children":"Not enough credits to process request"}]]}]]}],["$","div","429",{"className":"flex items-start gap-3 bg-muted/30 border border-border p-3 rounded-lg","children":[["$","span",null,{"className":"text-xs font-mono bg-red-500/10 text-red-600 dark:text-red-400 px-2 py-1 rounded flex-shrink-0","children":"429"}],["$","div",null,{"className":"min-w-0","children":[["$","h4",null,{"className":"text-sm font-medium text-foreground","children":"Rate Limited"}],["$","p",null,{"className":"text-xs text-muted-foreground mt-0.5","children":"Too many requests"}]]}]]}],["$","div","500",{"className":"flex items-start gap-3 bg-muted/30 border border-border p-3 rounded-lg","children":[["$","span",null,{"className":"text-xs font-mono bg-red-500/10 text-red-600 dark:text-red-400 px-2 py-1 rounded flex-shrink-0","children":"500"}],["$","div",null,{"className":"min-w-0","children":[["$","h4",null,{"className":"text-sm font-medium text-foreground","children":"Server Error"}],"$L56"]}]]}],"$L57","$L58"]}]]}]
55:["$","ul",null,{"className":"space-y-1.5 text-sm text-muted-foreground list-disc pl-5","children":[["$","li",null,{"children":["A ",["$","span",null,{"className":"font-mono text-foreground","children":"FAILED"}]," request is served as HTTP"," ",["$","span",null,{"className":"font-mono text-foreground","children":"422"}]," â€” the body still carries the"," ",["$","span",null,{"className":"font-mono text-foreground","children":"error"}]," detail."]}],["$","li",null,{"children":["An unknown or expired ",["$","span",null,{"className":"font-mono text-foreground","children":"request_id"}]," returns HTTP"," ",["$","span",null,{"className":"font-mono text-foreground","children":"404"}],"."]}],["$","li",null,{"children":["Results are retained for ",["$","span",null,{"className":"font-medium text-foreground","children":"1 hour"}],", then expire."]}],["$","li",null,{"children":["Content / RAI blocks surface as ",["$","span",null,{"className":"font-mono text-foreground","children":"FAILED"}],", not a separate state."]}],["$","li",null,{"children":["Track completion by ",["$","span",null,{"className":"font-medium text-foreground","children":"polling"}]," the status endpoint."]}]]}]
56:["$","p",null,{"className":"text-xs text-muted-foreground mt-0.5","children":"Internal server error"}]
57:["$","div","502",{"className":"flex items-start gap-3 bg-muted/30 border border-border p-3 rounded-lg","children":[["$","span",null,{"className":"text-xs font-mono bg-red-500/10 text-red-600 dark:text-red-400 px-2 py-1 rounded flex-shrink-0","children":"502"}],["$","div",null,{"className":"min-w-0","children":[["$","h4",null,{"className":"text-sm font-medium text-foreground","children":"Bad Gateway"}],["$","p",null,{"className":"text-xs text-muted-foreground mt-0.5","children":"Service temporarily unavailable"}]]}]]}]
58:["$","div","504",{"className":"flex items-start gap-3 bg-muted/30 border border-border p-3 rounded-lg","children":[["$","span",null,{"className":"text-xs font-mono bg-red-500/10 text-red-600 dark:text-red-400 px-2 py-1 rounded flex-shrink-0","children":"504"}],["$","div",null,{"className":"min-w-0","children":[["$","h4",null,{"className":"text-sm font-medium text-foreground","children":"Timeout"}],["$","p",null,{"className":"text-xs text-muted-foreground mt-0.5","children":"Request timed out"}]]}]]}]
