Standalone web-app (Streamlit) to generate an Odoo-18-inspired logo in both:
- SVG (vector, transparent background)
- PNG (transparent background, rasterized from SVG)
- Upload images (png/jpg/webp) or documents (pdf/docx/txt)
- Uses OpenAI Vision to extract keywords + mapping
- Uses your prompt to generate a strict SVG (sanitized for safety)
- Rasterizes SVG to transparent PNG
- Downloads SVG/PNG
- Python + Streamlit
- OpenAI API
- PDF -> image (first page) via
pymupdf - DOCX -> text via
python-docx - SVG -> PNG via
cairosvg
cd logo_generator_app
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# set env
cp .env.example .envEdit .env (at least):
OPENAI_API_KEYOPENAI_MODEL(optional, default used by app)
streamlit run app.py --server.port 8501Open the printed URL (usually http://localhost:8501).
- For PDFs, the app renders only the first page for vision.
- For DOCX/TXT, the app does text extraction (no vision) and still uses the same flow.
- If the model outputs invalid SVG, the app will raise an error (current version validates strictly).