all: more gemini key plumbing
diff --git a/llm/conversation/convo_test.go b/llm/conversation/convo_test.go
index 3fb1750..af8a904 100644
--- a/llm/conversation/convo_test.go
+++ b/llm/conversation/convo_test.go
@@ -23,7 +23,7 @@
 		return nil
 	})
 
-	apiKey := cmp.Or(os.Getenv("OUTER_SKETCH_ANTHROPIC_API_KEY"), os.Getenv("ANTHROPIC_API_KEY"))
+	apiKey := cmp.Or(os.Getenv("OUTER_SKETCH_MODEL_API_KEY"), os.Getenv("ANTHROPIC_API_KEY"))
 	srv := &ant.Service{
 		APIKey: apiKey,
 		HTTPC:  rr.Client(),
diff --git a/llm/gem/gem.go b/llm/gem/gem.go
index 4327123..fa9f3b6 100644
--- a/llm/gem/gem.go
+++ b/llm/gem/gem.go
@@ -25,6 +25,7 @@
 // Fields should not be altered concurrently with calling any method on Service.
 type Service struct {
 	HTTPC     *http.Client // defaults to http.DefaultClient if nil
+	URL       string       // Gemini API URL, uses the gemini package default if empty
 	APIKey    string       // must be non-empty
 	Model     string       // defaults to DefaultModel if empty
 	MaxTokens int          // defaults to DefaultMaxTokens if zero
@@ -486,9 +487,10 @@
 
 	// Create a Gemini model instance
 	model := gemini.Model{
-		Model:  "models/" + cmp.Or(s.Model, DefaultModel),
-		APIKey: s.APIKey,
-		HTTPC:  cmp.Or(s.HTTPC, http.DefaultClient),
+		Model:    "models/" + cmp.Or(s.Model, DefaultModel),
+		Endpoint: s.URL,
+		APIKey:   s.APIKey,
+		HTTPC:    cmp.Or(s.HTTPC, http.DefaultClient),
 	}
 
 	// Send the request to Gemini with retry logic