summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g4f/Provider/needs_auth/OpenaiChat.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/g4f/Provider/needs_auth/OpenaiChat.py b/g4f/Provider/needs_auth/OpenaiChat.py
index f40ae961..9321c24a 100644
--- a/g4f/Provider/needs_auth/OpenaiChat.py
+++ b/g4f/Provider/needs_auth/OpenaiChat.py
@@ -406,7 +406,12 @@ class OpenaiChat(AsyncGeneratorProvider, ProviderModelMixin):
cls._update_request_args(session)
await raise_for_status(response)
requirements = await response.json()
- need_arkose = requirements.get("arkose", {}).get("required")
+ text_data = json.loads(requirements.get("text", "{}"))
+ need_arkose = text_data.get("turnstile", {}).get("required", False)
+ if need_arkose:
+ arkose_token = text_data.get("turnstile", {}).get("dx")
+ else:
+ need_arkose = requirements.get("arkose", {}).get("required", False)
chat_token = requirements["token"]
if need_arkose and arkose_token is None: