smgc commited on
Commit
7aed529
1 Parent(s): e51aa14

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -5
app.py CHANGED
@@ -2,13 +2,14 @@ from flask import Flask, request, jsonify, Response
2
  import requests
3
  import json
4
  import time
 
5
 
6
  app = Flask(__name__)
7
 
8
  @app.route('/')
9
  def index():
10
  return "text-to-image with siliconflow", 200
11
-
12
  @app.route('/ai/v1/chat/completions', methods=['POST'])
13
  def handle_request():
14
  try:
@@ -22,7 +23,6 @@ def handle_request():
22
 
23
  prompt = messages[-1]['content']
24
  new_url = f'https://api.siliconflow.cn/v1/{model}/text-to-image'
25
-
26
  new_request_body = {
27
  "prompt": prompt,
28
  "image_size": "1024x1024",
@@ -31,16 +31,29 @@ def handle_request():
31
  "guidance_scale": 1
32
  }
33
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  headers = {
35
  'accept': 'application/json',
36
  'content-type': 'application/json',
37
- 'Authorization': request.headers.get('Authorization')
38
  }
39
 
40
  response = requests.post(new_url, headers=headers, json=new_request_body)
41
  response_body = response.json()
42
-
43
  image_url = response_body['images'][0]['url']
 
44
  unique_id = int(time.time() * 1000)
45
  current_timestamp = unique_id // 1000
46
 
@@ -87,7 +100,6 @@ def handle_request():
87
  }
88
  data_string = json.dumps(response_payload)
89
  return Response(f"{data_string}\n\n", content_type='text/event-stream')
90
-
91
  except Exception as e:
92
  return jsonify({"error": f"Internal Server Error: {str(e)}"}), 500
93
 
 
2
  import requests
3
  import json
4
  import time
5
+ import random
6
 
7
  app = Flask(__name__)
8
 
9
  @app.route('/')
10
  def index():
11
  return "text-to-image with siliconflow", 200
12
+
13
  @app.route('/ai/v1/chat/completions', methods=['POST'])
14
  def handle_request():
15
  try:
 
23
 
24
  prompt = messages[-1]['content']
25
  new_url = f'https://api.siliconflow.cn/v1/{model}/text-to-image'
 
26
  new_request_body = {
27
  "prompt": prompt,
28
  "image_size": "1024x1024",
 
31
  "guidance_scale": 1
32
  }
33
 
34
+ # Get the Authorization header
35
+ auth_header = request.headers.get('Authorization', '')
36
+
37
+ # Split the tokens and randomly select one
38
+ tokens = auth_header.split(',')
39
+ if tokens:
40
+ # Remove 'Bearer ' prefix if present
41
+ tokens = [token.strip().replace('Bearer ', '') for token in tokens]
42
+ selected_token = random.choice(tokens)
43
+ auth_header = f'Bearer {selected_token}'
44
+ else:
45
+ auth_header = ''
46
+
47
  headers = {
48
  'accept': 'application/json',
49
  'content-type': 'application/json',
50
+ 'Authorization': auth_header
51
  }
52
 
53
  response = requests.post(new_url, headers=headers, json=new_request_body)
54
  response_body = response.json()
 
55
  image_url = response_body['images'][0]['url']
56
+
57
  unique_id = int(time.time() * 1000)
58
  current_timestamp = unique_id // 1000
59
 
 
100
  }
101
  data_string = json.dumps(response_payload)
102
  return Response(f"{data_string}\n\n", content_type='text/event-stream')
 
103
  except Exception as e:
104
  return jsonify({"error": f"Internal Server Error: {str(e)}"}), 500
105