zwitschi 712c556032 feat: enhance model caching and output modalities handling
- Updated `refresh_models_cache` to include output modalities in the models cache.
- Added `get_model_output_modalities` function to retrieve output modalities for a specific model.
- Modified tests to cover new functionality for output modalities.
- Updated OpenRouter video generation functions to support audio generation and improved error handling.
- Enhanced dashboard to display generated images and videos.
- Refactored frontend templates to accommodate new data structures for generated content.
- Adjusted tests to validate changes in model handling and dashboard rendering.

Co-authored-by: Copilot <copilot@github.com>
2026-04-29 15:20:48 +02:00

AI

A multi-modal AI web application. Users can choose between different AI models for text generation, text-to-image, text-to-video, and image-to-video generation, powered by openrouter.ai.

Components

Component Technology Description
Backend FastAPI + uvicorn REST API for auth, user management, and AI generation
Database DuckDB Lightweight embedded storage for users and session data
Frontend Flask + Jinja2 Server-rendered UI served at https://ai.allucanget.biz

Getting Started

Prerequisites

Setup

# Clone the repo
git clone https://git.allucanget.biz/allucanget/ai.allucanget.biz.git
cd ai.allucanget.biz

# Create and activate virtual environment
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/macOS
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Copy and fill in environment variables
cp .env.example .env

Running the backend

cd backend
uvicorn app.main:app --reload --port 12015

Running the frontend

cd frontend
flask --app app.main run --port 12016

Running tests

pytest

Default admin user

On first startup a default admin account is created:

Field Value
Email ai@allucanget.biz
Password admin123
Role admin

Override via environment variables ADMIN_EMAIL and ADMIN_PASSWORD before first run.

Deployment

Deployed on Coolify using Nixpacks. See docs/deployment/coolify.md for full instructions.

Project Structure

backend/          FastAPI backend
  app/
    routers/      API route handlers
    services/     Business logic
    models/       Pydantic models
  tests/
frontend/         Flask frontend
  app/
    templates/    Jinja2 HTML templates
    static/       CSS, JS, images
  tests/
data/             DuckDB database files (gitignored)
docs/             Architecture documentation

Documentation

For the full architecture documentation see docs/ARCHITECTURE.md, which links to all 12 arc42 sections.

S
Description
No description provided
Readme 603 KiB
Languages
Python 70.2%
HTML 21.4%
CSS 5.7%
JavaScript 2.4%
Dockerfile 0.3%