Spaces:
Running
Running
Upload civitai_to_hf.py
Browse files- civitai_to_hf.py +8 -3
civitai_to_hf.py
CHANGED
@@ -251,7 +251,8 @@ CIVITAI_BASEMODEL = ["Aura Flow", "CogVideoX", "Flux.1 D", "Flux.1 S", "HiDream"
|
|
251 |
"SDXL 1.0 LCM", "SDXL Distilled", "SDXL Hyper", "SDXL Lightning", "SDXL Turbo", "SVD", "SVD XT", "Stable Cascade",
|
252 |
"Wan Video", "VPRED"]
|
253 |
#CIVITAI_SORT = ["Highest Rated", "Most Downloaded", "Newest"]
|
254 |
-
|
|
|
255 |
CIVITAI_PERIOD = ["AllTime", "Year", "Month", "Week", "Day"]
|
256 |
|
257 |
|
@@ -262,7 +263,7 @@ def search_on_civitai(query: str, types: list[str], allow_model: list[str] = [],
|
|
262 |
headers = {'User-Agent': user_agent, 'content-type': 'application/json'}
|
263 |
if api_key: headers['Authorization'] = f'Bearer {{{api_key}}}'
|
264 |
base_url = 'https://civitai.com/api/v1/models'
|
265 |
-
params = {'sort': sort, 'period': period, 'limit': int(limit), 'nsfw': 'true'}
|
266 |
if len(types) != 0: params["types"] = types
|
267 |
if query: params["query"] = query
|
268 |
if tag: params["tag"] = tag
|
@@ -327,11 +328,15 @@ def search_on_civitai(query: str, types: list[str], allow_model: list[str] = [],
|
|
327 |
for f in model['files']:
|
328 |
i = item.copy()
|
329 |
i['dl_url'] = f['downloadUrl']
|
|
|
330 |
if len(filetype) != 0 and f['type'] not in set(filetype): continue
|
331 |
items.append(i)
|
332 |
else:
|
333 |
item['dl_url'] = model['downloadUrl']
|
334 |
items.append(item)
|
|
|
|
|
|
|
335 |
return items if len(items) > 0 else None
|
336 |
|
337 |
|
@@ -349,7 +354,7 @@ def search_civitai(query, types, base_model=[], sort=CIVITAI_SORT[0], period=CIV
|
|
349 |
gallery = []
|
350 |
for item in items:
|
351 |
base_model_name = "Pony🐴" if item['base_model'] == "Pony" else item['base_model']
|
352 |
-
name = f"{item['name']} (for {base_model_name} / By: {item['creator']})"
|
353 |
value = item['dl_url']
|
354 |
choices.append((name, value))
|
355 |
gallery.append((item['img_url'], name))
|
|
|
251 |
"SDXL 1.0 LCM", "SDXL Distilled", "SDXL Hyper", "SDXL Lightning", "SDXL Turbo", "SVD", "SVD XT", "Stable Cascade",
|
252 |
"Wan Video", "VPRED"]
|
253 |
#CIVITAI_SORT = ["Highest Rated", "Most Downloaded", "Newest"]
|
254 |
+
CIVITAI_SORT_EXT = ["Size", "Size (from smallest)"]
|
255 |
+
CIVITAI_SORT = ["Highest Rated", "Most Downloaded", "Most Liked", "Most Discussed", "Most Collected", "Most Buzz", "Newest"] + CIVITAI_SORT_EXT
|
256 |
CIVITAI_PERIOD = ["AllTime", "Year", "Month", "Week", "Day"]
|
257 |
|
258 |
|
|
|
263 |
headers = {'User-Agent': user_agent, 'content-type': 'application/json'}
|
264 |
if api_key: headers['Authorization'] = f'Bearer {{{api_key}}}'
|
265 |
base_url = 'https://civitai.com/api/v1/models'
|
266 |
+
params = {'sort': CIVITAI_SORT[0] if sort in CIVITAI_SORT_EXT else sort, 'period': period, 'limit': int(limit), 'nsfw': 'true'}
|
267 |
if len(types) != 0: params["types"] = types
|
268 |
if query: params["query"] = query
|
269 |
if tag: params["tag"] = tag
|
|
|
328 |
for f in model['files']:
|
329 |
i = item.copy()
|
330 |
i['dl_url'] = f['downloadUrl']
|
331 |
+
i['size_kb'] = f['sizeKB']
|
332 |
if len(filetype) != 0 and f['type'] not in set(filetype): continue
|
333 |
items.append(i)
|
334 |
else:
|
335 |
item['dl_url'] = model['downloadUrl']
|
336 |
items.append(item)
|
337 |
+
if sort in CIVITAI_SORT_EXT:
|
338 |
+
if sort == "Size": items = sorted(items, key=lambda x: x.get('size_kb', 0.), reverse=True)
|
339 |
+
elif sort == "Size (from smallest)": items = sorted(items, key=lambda x: x.get('size_kb', 0.))
|
340 |
return items if len(items) > 0 else None
|
341 |
|
342 |
|
|
|
354 |
gallery = []
|
355 |
for item in items:
|
356 |
base_model_name = "Pony🐴" if item['base_model'] == "Pony" else item['base_model']
|
357 |
+
name = f"{item['name']} (for {base_model_name} / By: {item['creator']}) ({round(item['size_kb'] / 1000., 2)}MB)" if "size_kb" in item.keys() else f"{item['name']} (for {base_model_name} / By: {item['creator']})"
|
358 |
value = item['dl_url']
|
359 |
choices.append((name, value))
|
360 |
gallery.append((item['img_url'], name))
|