aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/robocadey2/main.go2
-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)
}