diff options
| -rw-r--r-- | cmd/robocadey2/main.go | 2 | ||||
| -rw-r--r-- | web/stablediffusion/doc.go (renamed from internal/stablediffusion/doc.go) | 0 | ||||
| -rw-r--r-- | web/stablediffusion/stablediffusion.go (renamed from internal/stablediffusion/stablediffusion.go) | 16 |
3 files changed, 12 insertions, 6 deletions
diff --git a/cmd/robocadey2/main.go b/cmd/robocadey2/main.go index 07f9bbb..cb1d841 100644 --- a/cmd/robocadey2/main.go +++ b/cmd/robocadey2/main.go @@ -24,8 +24,8 @@ import ( "within.website/ln/ex" "within.website/ln/opname" "within.website/x/internal" - "within.website/x/internal/stablediffusion" "within.website/x/web/mastodon" + "within.website/x/web/stablediffusion" ) var ( diff --git a/internal/stablediffusion/doc.go b/web/stablediffusion/doc.go index 9bbd3a3..9bbd3a3 100644 --- a/internal/stablediffusion/doc.go +++ b/web/stablediffusion/doc.go diff --git a/internal/stablediffusion/stablediffusion.go b/web/stablediffusion/stablediffusion.go index 3ef2bae..a41f315 100644 --- a/internal/stablediffusion/stablediffusion.go +++ b/web/stablediffusion/stablediffusion.go @@ -8,16 +8,17 @@ import ( "fmt" "net/http" "net/url" + "sync" "within.website/x/web" ) var ( - sdServerURL = flag.String("stablediffusion-server-url", "http://logos:7860", "URL for the Stable Diffusion API") + sdServerURL = flag.String("within.website/x/web/stablediffusion-server-url", "http://logos:7860", "URL for the Stable Diffusion API used with the default client") ) -func buildURL(path string) (*url.URL, error) { - u, err := url.Parse(*sdServerURL) +func buildURL(base, path string) (*url.URL, error) { + u, err := url.Parse(base) if err != nil { return nil, err } @@ -87,18 +88,23 @@ var ( Default *Client = &Client{ HTTP: http.DefaultClient, } + lock sync.Mutex ) func Generate(ctx context.Context, inp SimpleImageRequest) (*ImageResponse, error) { + lock.Lock() + Default.APIServer = *sdServerURL + lock.Unlock() return Default.Generate(ctx, inp) } type Client struct { - HTTP *http.Client + HTTP *http.Client + APIServer string } func (c *Client) Generate(ctx context.Context, inp SimpleImageRequest) (*ImageResponse, error) { - u, err := buildURL("/sdapi/v1/txt2img") + u, err := buildURL(c.APIServer, "/sdapi/v1/txt2img") if err != nil { return nil, fmt.Errorf("error building URL: %w", err) } |
