|
import requests |
|
import json |
|
import os |
|
import time |
|
from concurrent.futures import ThreadPoolExecutor |
|
import uuid |
|
|
|
|
|
url = "https://api-inference.huggingface.co/models/segmind/SSD-1B" |
|
|
|
headers = { |
|
"content-type": "application/json", |
|
"sec-ch-ua": '"Chromium";v="119", "Opera";v="105", "OperaMobile";v="79", ";Not A Brand";v="99"', |
|
"sec-ch-ua-mobile": "?1", |
|
"user-agent": "Mozilla/5.0 (Linux; Android 11; M2004J19C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.6045.193 Mobile Safari/537.36 OPR/79.2.4195.76518", |
|
"x-use-cache": "false", |
|
"sec-ch-ua-platform": '"Android"', |
|
"accept": "*/*", |
|
"origin": "https://huggingface.co", |
|
"sec-fetch-site": "same-site", |
|
"sec-fetch-mode": "cors", |
|
"sec-fetch-dest": "empty", |
|
"referer": "https://huggingface.co/", |
|
"accept-encoding": "gzip, deflate, br", |
|
"accept-language": "en-US,en;q=0.9", |
|
|
|
} |
|
|
|
data = { |
|
"inputs": "red dog" |
|
} |
|
Folder_Image = 'image' |
|
|
|
def download_image(attempt): |
|
for retry in range(1, max_retries + 1): |
|
response = requests.post(url, headers=headers, data=json.dumps(data)) |
|
|
|
if response.status_code == 200: |
|
|
|
image_filename = f"{Folder_Image}/image_{attempt}_{uuid.uuid4().hex[:8]}.png" |
|
|
|
|
|
os.makedirs(Folder_Image, exist_ok=True) |
|
|
|
with open(image_filename, "wb") as image_file: |
|
image_file.write(response.content) |
|
|
|
print(f"Image {attempt} saved successfully as {image_filename}.") |
|
break |
|
elif response.status_code == 503: |
|
print(response.text) |
|
print(f"Model is still loading. Retry {retry}/{max_retries}. Waiting {retry_delay} seconds.") |
|
time.sleep(retry_delay) |
|
else: |
|
print(response.text) |
|
print(f"Error: Failed to retrieve image {attempt}. Status code: {response.status_code}") |
|
break |
|
|
|
|
|
max_retries = 5 |
|
|
|
|
|
retry_delay = 60 |
|
|
|
|
|
num_images = 20 |
|
|
|
with ThreadPoolExecutor(max_workers=num_images) as executor: |
|
|
|
executor.map(download_image, range(1, num_images + 1)) |
|
|