Spaces:
Paused
Paused
| from fastapi import FastAPI, HTTPException | |
| from pydantic import BaseModel | |
| import uvicorn | |
| from metaai_api import MetaAI | |
| app = FastAPI(title="Silent Tech Meta Video Generator") | |
| # Your Exact Cookies | |
| META_COOKIES = { | |
| "datr": "Wv2jaWio7_2h3E0yZB5fbz3s", | |
| "dpr": "3", | |
| "ecto_1_sess": "e58541eb-55fd-4367-b630-853bf41e7a17.v1%3AAdHoLa7Vo-ZY5ezFMfr7_hitC5upsHNSEjEYsayZNUo0nKpTJSOlcNcCu9-BWterAZBeapJ-V9Vb4dlcHNHoGFgHvdJgA_OKomecN6VPJfUTH06OciWEHRc4YyAXnHIXfVVWw7Wg9qr2ULdSgFz9H9LNJL5YOX4nVyxjXTqiiBb-38E78QU6py5EafxSqBq1wSrRF3gQWALxF9RLMSPUALiZ9UmsWsvo6vP_xm0Pn9hp8IiYoAcleZozzwlePWaW0mwTTOc5H_UQ0xwqvb0ntBulIeDP8lt7raYOzG7buhWH1rnkfM12ntcU7DwsljjxBVKn7U4B3cDd8w6II-gwFpwndPgQS_jaPkAyDkfS8FMJH6r2X3hoFEuhWG6jLGsz3mtlxuA0X8J3_Z5NIsBKQ3NOwa5NjMSePkk0OkIwBsajX8MylhpqSkqhFqlj801_bn-ew7BnUI2bBOhojD9i28SQwFgWoWvuEaiKSH3z2A4RN3P_mzD0poAP7czXDQA%3AHQBFsl4Dw3bWUvc4%3A7XYmm8AF1efOtD6bQTI90A.Od_wAJscdmt3QR1D_v0INxAw5VPwMTQQSKxL9Rk_xoI", | |
| "rd_challenge": "Q_6hBQMc98dAqeBJVgVSShGkptT5sw8jm-GX08RULgqOBAwvOuquZJXo69k9un17x1s-EDkHPtPePFTIadnpmqwNhYe-gggaMLCkU5zE", | |
| "wd": "360x728", | |
| "abra_sess": "dummy_value" | |
| } | |
| # 🟢 THE FIX: A reliable public proxy to bypass Meta IP blocking | |
| # We use a standard US proxy so Meta doesn't realize it's a Hugging Face server. | |
| PROXY_DICT = { | |
| "http": "http://18.212.164.214:80", | |
| "https": "http://18.212.164.214:80" | |
| } | |
| class VideoRequest(BaseModel): | |
| prompt: str | |
| def generate_meta_video(req: VideoRequest): | |
| if not req.prompt: | |
| raise HTTPException(status_code=400, detail="Prompt is required") | |
| try: | |
| # 🟢 Pass the proxy to MetaAI so it connects securely | |
| ai = MetaAI(cookies=META_COOKIES, proxy=PROXY_DICT) | |
| result = ai.generate_video_new(req.prompt) | |
| if result and isinstance(result, dict) and result.get("success") and result.get("video_urls"): | |
| return {"success": True, "video_urls": result["video_urls"]} | |
| else: | |
| return {"success": False, "error": result.get("error", "Meta AI refused to generate this prompt.")} | |
| except Exception as e: | |
| print(f"Meta AI Error: {str(e)}") | |
| raise HTTPException(status_code=500, detail=str(e)) | |
| def home(): | |
| return {"status": "Silent Tech Meta Video Generator is Online"} | |
| if __name__ == "__main__": | |
| uvicorn.run(app, host="0.0.0.0", port=7860) |