gitdeem commited on
Commit
1a7c951
·
verified ·
1 Parent(s): b6a0aaa

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -2
app.py CHANGED
@@ -26,6 +26,29 @@ def refresh_access_token(refresh_token):
26
 
27
  return None
28
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  class RedirectHandler(http.server.SimpleHTTPRequestHandler):
30
  def do_GET(self):
31
  refresh_tokens = get_refresh_tokens()
@@ -36,8 +59,7 @@ class RedirectHandler(http.server.SimpleHTTPRequestHandler):
36
  refresh_token = random.choice(refresh_tokens)
37
  access_token = refresh_access_token(refresh_token)
38
  if access_token:
39
- #target_url = get_livekit_url(access_token)
40
- target_url = f"https://meet.livekit.io/custom?liveKitUrl=wss://webrtc.oaifree.com/rtc?access_token={access_token}&auto_subscribe=1&sdk=js&version=2.5.4&protocol=15"
41
  self.send_response(302)
42
  self.send_header('Location', target_url)
43
  self.end_headers()
 
26
 
27
  return None
28
 
29
+ def get_livekit_url(access_token):
30
+ headers = {
31
+ "content-type": "application/json",
32
+ "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
33
+ "authorization": f"Bearer {access_token}",
34
+ }
35
+
36
+ res = requests.post("https://chatgpt.com/voice/get_token", headers=headers, cookies={'__cf_bm': ''}, json={
37
+ "voice": "cove",
38
+ "voice_mode": "standard",
39
+ "parent_message_id": str(uuid.uuid4()),
40
+ "model_slug": "auto",
41
+ "voice_training_allowed": False,
42
+ "enable_message_streaming": False,
43
+ "language": "zh",
44
+ "video_training_allowed": False,
45
+ "voice_session_id": str(uuid.uuid4())
46
+ }).json()
47
+
48
+ livekit_url = "https://meet.livekit.io"
49
+ url = f"{livekit_url}/custom?liveKitUrl={res['url']}&token={res['token']}#{res['e2ee_key']}"
50
+ return url
51
+
52
  class RedirectHandler(http.server.SimpleHTTPRequestHandler):
53
  def do_GET(self):
54
  refresh_tokens = get_refresh_tokens()
 
59
  refresh_token = random.choice(refresh_tokens)
60
  access_token = refresh_access_token(refresh_token)
61
  if access_token:
62
+ target_url = get_livekit_url(access_token)
 
63
  self.send_response(302)
64
  self.send_header('Location', target_url)
65
  self.end_headers()