This commit is contained in:
2025-09-04 08:49:37 +08:00
parent 1e359e8923
commit a0b2df76f4
5 changed files with 68 additions and 13 deletions

View File

@@ -23,7 +23,7 @@ class LibLibUtil:
timestamp = str(int(time.time() * 1000))
signature_nonce = str(uuid.uuid4())
content = '&'.join((uri, timestamp, signature_nonce))
digest = hmac.new(self.secret_key.encode(), content.encode(), sha1).digest()
sign = base64.urlsafe_b64encode(digest).rstrip(b'=').decode()
return sign, timestamp, signature_nonce
@@ -33,17 +33,17 @@ class LibLibUtil:
try:
sign, timestamp, signature_nonce = self.make_sign(uri)
url = f'{self.base_url}{uri}?AccessKey={self.access_key}&Signature={sign}&Timestamp={timestamp}&SignatureNonce={signature_nonce}'
headers = {'Content-Type': 'application/json'}
response = requests.post(url, json=payload, headers=headers, timeout=self.timeout)
response.raise_for_status()
response_data = response.json()
if response_data.get('code') == 0:
return response_data.get('data')
else:
print(f"API错误: {response_data.get('msg')}")
#print(response_data)
# print(response_data)
return None
except requests.exceptions.RequestException as e:
print(f"请求异常: {str(e)}")
@@ -56,7 +56,7 @@ class LibLibUtil:
"""获取模型版本信息"""
uri = "/api/model/version/get"
payload = {"versionUuid": version_uuid}
model_info = self.post_request(uri, payload)
if model_info:
return {
@@ -114,11 +114,11 @@ class LibLibUtil:
return status_data
time.sleep(interval)
print(f"生图任务超时({max_wait_time}秒)")
return None
def download_and_upload_to_obs(slef,image_url, generate_uuid):
def download_and_upload_to_obs(slef, image_url, generate_uuid):
"""下载图片并上传到OBS"""
try:
# 1. 清理URL去除可能的引号和空格
@@ -167,7 +167,7 @@ class LibLibUtil:
"""
try:
print(f"开始监控生成任务 {generate_uuid},每{interval}秒检查一次...")
# 轮询等待生成完成
status_data = self.wait_for_generation_completion(generate_uuid, interval)
print(f"生图状态: {json.dumps(status_data, ensure_ascii=False, indent=2)}")
@@ -189,3 +189,36 @@ class LibLibUtil:
except Exception as e:
print(f"处理生成任务时发生异常: {str(e)}")
return None
# 采样方法字典 - 包含28种采样方法及其枚举值和推荐度
SAMPLING_METHODS = {
"Euler a": 0,
"Euler": 1,
"LMS": 2,
"Heun": 3,
"DPM2": 4,
"DPM2 a": 5,
"DPM++ 2S a": 6,
"DPM++ 2M": 7,
"DPM++ SDE": 8,
"DPM fast": 9,
"DPM adaptive": 10,
"LMS Karras": 11,
"DPM2 Karras": 12,
"DPM2 a Karras": 13,
"DPM++ 2S a Karras": 14,
"DPM++ 2M Karras": 15,
"DPM++ SDE Karras": 16,
"DDIM": 17,
"PLMS": 18,
"UNIPC": 19,
"DPM++ 2M SDE Karras": 20,
"DPM++ 2M SDE EXPONENTIAL": 21,
"DPM++ 2M SDE Heun Karras": 24,
"DPM++ 2M SDE Heun Exponential": 25,
"DPM++ 3M SDE Karras": 27,
"DPM++ 3M SDE Exponential": 28,
"Restart": 29,
"LCM": 30
}