@@ -60,6 +60,7 @@ def __init__(
6060 browserbase_api_key : str | None = None ,
6161 browserbase_project_id : str | None = None ,
6262 model_api_key : str | None = None ,
63+ model_base_url : str | None = None ,
6364 server : Literal ["remote" , "local" ] = "remote" ,
6465 _local_stagehand_binary_path : str | os .PathLike [str ] | None = None ,
6566 local_host : str = "127.0.0.1" ,
@@ -121,6 +122,10 @@ def __init__(
121122 )
122123 self .model_api_key = model_api_key
123124
125+ if model_base_url is None :
126+ model_base_url = os .environ .get ("MODEL_BASE_URL" )
127+ self .model_base_url = model_base_url
128+
124129 self ._sea_server : SeaServerManager | None = None
125130 if server == "local" :
126131 # We'll switch `base_url` to the started server before the first request.
@@ -195,7 +200,7 @@ def qs(self) -> Querystring:
195200 @property
196201 @override
197202 def auth_headers (self ) -> dict [str , str ]:
198- return {** self ._bb_api_key_auth , ** self ._bb_project_id_auth , ** self ._llm_model_api_key_auth }
203+ return {** self ._bb_api_key_auth , ** self ._bb_project_id_auth , ** self ._llm_model_api_key_auth , ** self . _llm_model_base_url_header }
199204
200205 @property
201206 def _bb_api_key_auth (self ) -> dict [str , str ]:
@@ -212,6 +217,11 @@ def _llm_model_api_key_auth(self) -> dict[str, str]:
212217 model_api_key = self .model_api_key
213218 return {"x-model-api-key" : model_api_key }
214219
220+ @property
221+ def _llm_model_base_url_header (self ) -> dict [str , str ]:
222+ model_base_url = self .model_base_url
223+ return {"x-model-base-url" : model_base_url } if model_base_url else {}
224+
215225 @property
216226 @override
217227 def default_headers (self ) -> dict [str , str | Omit ]:
@@ -348,6 +358,7 @@ def __init__(
348358 browserbase_api_key : str | None = None ,
349359 browserbase_project_id : str | None = None ,
350360 model_api_key : str | None = None ,
361+ model_base_url : str | None = None ,
351362 server : Literal ["remote" , "local" ] = "remote" ,
352363 _local_stagehand_binary_path : str | os .PathLike [str ] | None = None ,
353364 local_host : str = "127.0.0.1" ,
@@ -409,6 +420,10 @@ def __init__(
409420 )
410421 self .model_api_key = model_api_key
411422
423+ if model_base_url is None :
424+ model_base_url = os .environ .get ("MODEL_BASE_URL" )
425+ self .model_base_url = model_base_url
426+
412427 self ._sea_server : SeaServerManager | None = None
413428 if server == "local" :
414429 if base_url is None :
@@ -482,7 +497,7 @@ def qs(self) -> Querystring:
482497 @property
483498 @override
484499 def auth_headers (self ) -> dict [str , str ]:
485- return {** self ._bb_api_key_auth , ** self ._bb_project_id_auth , ** self ._llm_model_api_key_auth }
500+ return {** self ._bb_api_key_auth , ** self ._bb_project_id_auth , ** self ._llm_model_api_key_auth , ** self . _llm_model_base_url_header }
486501
487502 @property
488503 def _bb_api_key_auth (self ) -> dict [str , str ]:
@@ -499,6 +514,11 @@ def _llm_model_api_key_auth(self) -> dict[str, str]:
499514 model_api_key = self .model_api_key
500515 return {"x-model-api-key" : model_api_key }
501516
517+ @property
518+ def _llm_model_base_url_header (self ) -> dict [str , str ]:
519+ model_base_url = self .model_base_url
520+ return {"x-model-base-url" : model_base_url } if model_base_url else {}
521+
502522 @property
503523 @override
504524 def default_headers (self ) -> dict [str , str | Omit ]:
0 commit comments