| import httpx | |
| class TogetherImageAPI: | |
| headers = { | |
| 'sec-ch-ua-platform': '"macOS"', | |
| 'Authorization': 'Bearer 869f5ecd80fc6482ccb99f37179cb2c162879925224ae9d91caffc35d9b534b3', | |
| 'Referer': 'https://api.together.ai/playground/image/black-forest-labs/FLUX.1-dev', | |
| 'sec-ch-ua': '"Google Chrome";v="135", "Not-A.Brand";v="8", "Chromium";v="135"', | |
| 'sec-ch-ua-mobile': '?0', | |
| 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36', | |
| 'Accept': 'application/json, text/plain, */*', | |
| 'Content-Type': 'application/json', | |
| } | |
| def __init__(self): | |
| self.name = "TogetherImageAPI" | |
| self.url = "https://api.together.ai/inferences" | |
| def get_model_list(self): | |
| models = [ | |
| "black-forest-labs/FLUX.1-dev", | |
| ] | |
| return models | |
| async def generate(self, json_data): | |
| print(json_data) | |
| model = json_data['modelId'] | |
| prompt = json_data['prompt'] | |
| negative_prompt = json_data.get('negative_prompt', '') | |
| width = json_data.get('width', 1024) | |
| height = json_data.get('height', 768) | |
| steps = json_data.get('steps', 28) | |
| data = { | |
| 'model': model, | |
| 'prompt': prompt, | |
| 'negative_prompt': negative_prompt, | |
| 'width': width, | |
| 'height': height, | |
| 'steps': steps, | |
| 'n': 1, | |
| 'response_format': 'b64_json', | |
| 'stop': [], | |
| } | |
| async with httpx.AsyncClient() as client: | |
| response = await client.post("https://api.together.ai/inference", json=json_data) | |
| if response.status_code == 200: | |
| return response.json() | |
| else: | |
| raise Exception(f"Error: {response.status_code} - {response.text}") | |