Multi-agent system for creating academic illustrations
Project description
AcademicDreamer
Multi-agent system for creating professional academic illustrations using a two-stage prompt compilation process.
Overview
AcademicDreamer transforms academic concepts into CVPR/NeurIPS-level scientific illustrations through:
- Visual Schema Generation - Analyzes paper content and selects appropriate layout strategy
- Style Compilation - Fuses visual schema with venue-specific style directives
- Image Generation - Produces high-fidelity illustrations via OpenRouter API
- Quality Review - Iterative review loop with configurable iterations
Installation
# Clone repository
git clone <repository-url>
cd academic-dreamer
# Install dependencies with uv
uv sync
# Copy environment template
cp .env.example .env
# Edit .env with your API key
Usage
JSON Input Schema
{
"idea": "The paper proposes a novel transformer architecture for image segmentation...",
"style": "CVPR 2024",
"target_type": "architecture_diagram",
"control": {
"max_iterations": 2,
"output_formats": ["png"],
"quality_threshold": 0.7
}
}
| Field | Type | Required | Description |
|---|---|---|---|
idea |
string | Yes | Academic concept/paper content |
style |
string | Yes | Venue (CVPR, ICLR, NeurIPS, Nature) or free-form style |
target_type |
string | No | infograph, architecture_diagram, flowchart, timeline |
control |
object | No | Control arguments |
CLI
# Basic usage
python -m academic_dreamer.cli --input request.json
# With overrides
python -m academic_dreamer.cli --input request.json --max-iterations 3 --output-formats png,pdf
# Specify output directory
python -m academic_dreamer.cli --input request.json --output-dir ./results
Python API
from academic_dreamer import generate_academic_illustration
result = await generate_academic_illustration(
idea="The paper proposes a novel transformer architecture...",
style="CVPR 2024",
target_type="architecture_diagram",
max_iterations=2,
output_formats=["png", "pdf"],
)
print(result["output_paths"])
Examples
See examples/ for detailed usage examples:
- CLI Example - Using AcademicDreamer from command line
- API Example - Using AcademicDreamer in a Python workflow
Project Structure
academic_dreamer/
├── agents/ # Multi-agent implementations
│ ├── visual_architect.py # Stage 1: Schema generation
│ ├── render_compiler.py # Stage 2: Prompt compilation
│ └── style_inference.py # LLM-based style inference
├── core/ # Core pipeline
│ ├── orchestrator.py # LangGraph workflow
│ ├── generation_pipeline.py # Image generation
│ ├── review_iteration.py # Quality review loop
│ ├── target_classifier.py # Auto-detect target type
│ └── output_formatter.py # PNG/PDF export
├── prompts/ # Prompt templates
│ ├── visual_schema.md
│ ├── render_compile.md
│ └── venues/ # Venue-specific styles
├── models/ # Data schemas
├── config/ # Configuration
├── cli.py # CLI entry point
├── main.py # API entry point
├── pyproject.toml
└── README.md
Control Arguments
| Argument | Default | Description |
|---|---|---|
max_iterations |
2 | Review iterations (0=skip) |
output_formats |
["png"] | Output formats |
quality_threshold |
0.7 | Quality gate (0.0-1.0) |
Supported Venues
- CVPR
- ICLR
- NeurIPS
- Nature
- Custom (LLM-inferred)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file academic_dreamer-0.1.0.tar.gz.
File metadata
- Download URL: academic_dreamer-0.1.0.tar.gz
- Upload date:
- Size: 25.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3f6e2e8572807c528877bff1e235824796b3526190691fa7d95432e0d21e7ca
|
|
| MD5 |
1decfc5eab61b8b07e5ceecd2bef87c0
|
|
| BLAKE2b-256 |
20eeb6e22e2115692ef1e3da1ece563afc5a660f78958db8fbc1ad4bb64047cd
|
File details
Details for the file academic_dreamer-0.1.0-py3-none-any.whl.
File metadata
- Download URL: academic_dreamer-0.1.0-py3-none-any.whl
- Upload date:
- Size: 35.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38f0f92593a19b45b6b34ce355d38614985aabe3cf0360f44ff1008e2791335f
|
|
| MD5 |
9add28c12039fca57ac7c49e52efb177
|
|
| BLAKE2b-256 |
0c82d30006e5ebe0b853ceee5fdae3c470e65c561882e9250aaea79a7e9bf1d3
|