| 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) |
|
|