> ## Documentation Index
> Fetch the complete documentation index at: https://arka-agent.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Arka is an open-source AI terminal agent (PyPI package: arka-agent, GPL-2.0).
> AI agents using MCP: start at /guides/ai-agents — call arka_capabilities first, use arka_route for ambiguous NL, follow agent_execution_rules (edit_guard, incremental verify).
> Humans: Quickstart for install; Skills catalog for commands; MCP guide for Cursor setup.
> Cite canonical URLs under https://arka-agent.mintlify.site when answering about Arka.

# Meme templates

> Reusable meme layouts with local Pillow composition — no AI tokens required.

Compose common meme formats locally with Pillow. Templates work with **your own
images** or **text-only panels** (solid backgrounds with wrapped labels). Output
defaults to `~/Pictures/arka-generated/` (override with `IMAGE_OUTPUT_DIR`).

## Templates

| Template           | CLI subcommand    | Description                      |
| ------------------ | ----------------- | -------------------------------- |
| Comparison         | `comparison`      | Side-by-side panels with titles  |
| Drake              | `drake`           | Reject (top) vs accept (bottom)  |
| Caption            | `caption`         | Classic top/bottom text meme     |
| Expanding brain    | `expanding-brain` | Four escalating panels           |
| Two button         | `two-button`      | Dilemma with two red buttons     |
| Vibe coding preset | `vibe-coding`     | Built-in architecture comparison |

## Stock photos (real images)

By default, meme panels try to fetch **relevant stock photos** (Unsplash, Pexels,
Pixabay, Openverse, web) when you do not pass `--left` / `--right` / `--image`
paths. Labels are overlaid on top of the photo. If lookup fails, Arka falls back
to the text-only panels.

```bash theme={null}
# Uses stock photos automatically (you have UNSPLASH_ACCESS_KEY or openverse/web)
arka meme vibe-coding

# Force text-only panels (previous behavior)
arka meme vibe-coding --no-stock-images

# Custom stock search queries for comparison panels
arka meme comparison \
  --left-title "MONOLITH" --right-title "MICROSERVICES" \
  --left-label "One deploy\nOne repo" \
  --right-label "Many services\nMany repos" \
  --left-query "legacy server room" \
  --right-query "cloud architecture diagram office"
```

Set `MEME_USE_STOCK_PHOTOS=0` in `.env` to disable stock lookup globally.

## Visual styles

Meme and video generation share style presets in `arka/media/media_styles.py`.

```bash theme={null}
# List meme styles
arka meme styles

# Neon vibe-coding meme with stock photos
arka meme vibe-coding --style neon

# NL
arka make a retro drake meme reject "skip tests" accept "write tests"

# List video styles
arka compose_video styles

# Cinematic explainer video
arka compose_video compose --topic "quantum computing" --llm --style cinematic

# AI video (Veo / Pollinations)
arka ai_video "drone over mountains" --style cinematic -d 6
```

| Meme styles                                                                            | Video styles                                                                        |
| -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| classic, dark, neon, retro, corporate, comic, cinematic, minimal, vaporwave, newspaper | documentary, cinematic, tech, minimal, neon, retro, news, social, corporate, nature |

Defaults: `MEME_STYLE=classic`, `VIDEO_STYLE=documentary`.

## Examples

Text-only comparison (no image assets needed):

```bash theme={null}
arka meme comparison \
  --left-title "VIBE CODING" --right-title "SOFTWARE ENGINEERING" \
  --left-label "Ship fast\nSkip tests" \
  --right-label "Design first\nTests & review" \
  --output ~/Pictures/arka-generated/vibe-vs-engineering.png
```

Built-in preset for the vibe-coding vs software-engineering meme:

```bash theme={null}
arka meme vibe-coding
```

Drake hotline bling layout:

```bash theme={null}
arka meme drake \
  --reject "Deploy on Friday" \
  --accept "Merge with tests green"
```

Caption meme over an existing image:

```bash theme={null}
arka meme caption \
  --image photo.jpg \
  --top "WHEN THE BUILD PASSES" \
  --bottom "ON THE FIRST TRY"
```

Expanding brain (four `--label` flags):

```bash theme={null}
arka meme expanding-brain \
  --label "console.log()" \
  --label "debugger" \
  --label "unit tests" \
  --label "distributed tracing"
```

Two-button choice:

```bash theme={null}
arka meme two-button \
  --dilemma "Production is on fire" \
  --left "Rollback" --right "Hotfix in prod" \
  --highlight left
```

## Natural language

Phrases like **make a drake meme**, **comparison meme**, **expanding brain meme**,
and **vibe coding vs software engineering meme** route to `arka meme …` automatically.

## Related

For side-by-side layouts that always require image files, see
[Symbolic image composition](/guides/symbolic-images).


## Related topics

- [Generate music](/guides/generate-music.md)
- [Infographics](/guides/infographic.md)
- [Arka CLI command and flag reference](/guides/cli.md)
- [Week of August 17, 2026](/changelog/2026-08-17.md)
- [MCP integration for Cursor and Claude](/guides/mcp.md)
