| | from fastapi import FastAPI |
| | from pydantic import BaseModel |
| | from g4f.client import Client |
| | import uvicorn |
| |
|
| | |
| | app = FastAPI() |
| |
|
| | |
| | class MessageRequest(BaseModel): |
| | model: str |
| | messages: list |
| | web_search: bool |
| |
|
| | |
| | class ImageRequest(BaseModel): |
| | model: str |
| | prompt: str |
| | response_format: str |
| |
|
| | @app.post("/chat") |
| | async def chat(request: MessageRequest): |
| | |
| | client = Client() |
| | |
| | |
| | response = client.chat.completions.create( |
| | model=request.model, |
| | messages=request.messages, |
| | web_search=request.web_search |
| | ) |
| | |
| | |
| | return {"response": response} |
| |
|
| | @app.post("/generate-image") |
| | async def generate_image(request: ImageRequest): |
| | |
| | client = Client() |
| | |
| | |
| | response = client.images.generate( |
| | model=request.model, |
| | prompt=request.prompt, |
| | response_format=request.response_format |
| | ) |
| | |
| | |
| | image_url = response |
| | print(f"Generated image URL: {image_url}") |
| | |
| | |
| | return {"image_url": image_url} |
| |
|
| | |
| | if __name__ == "__main__": |
| | uvicorn.run(app, host="0.0.0.0", port=7860) |
| |
|