from contextlib import asynccontextmanager from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from app.controllers.ConvertController import router from app.database import engine, Base @asynccontextmanager async def lifespan(app: FastAPI): async with engine.begin() as conn: await conn.run_sync(Base.metadata.create_all) yield app = FastAPI( title="Unlimited-OCR API", version="1.0.0", description="OCR service powered by Baidu Unlimited-OCR vision model via OpenAI-compatible API.", lifespan=lifespan, ) app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_methods=["*"], allow_headers=["*"], ) app.include_router(router)