---
slug: "video-to-cooklang"
source_type: "readme"
source_url: "https://cdn.jsdelivr.net/gh/keiththompson/video-to-cooklang@main/README.md"
repo: "https://github.com/keiththompson/video-to-cooklang"
source_file: "README.md"
branch: "main"
---
# video-to-cooklang

A Claude Code plugin that converts recipe videos from TikTok, Instagram, YouTube, and other platforms into [Cooklang](https://cooklang.org/) format.

## Installation

### For Testing (This Session Only)

```bash
claude --plugin-dir ~/code/video-to-cooklang
```

### Permanent Installation

Add to your `~/.claude/settings.json`:

```json
{
  "pluginDirs": ["~/code/video-to-cooklang"]
}
```

Or copy directly to your Claude commands folder:

```bash
cp ~/code/video-to-cooklang/commands/* ~/.claude/commands/
cp -r ~/code/video-to-cooklang/skills/* ~/.claude/skills/
cp ~/code/video-to-cooklang/config.json ~/.claude/
```

## Usage

```
/video-recipe https://www.tiktok.com/@creator/video/123456789
/video-recipe https://www.instagram.com/reel/ABC123/
/video-recipe https://www.youtube.com/watch?v=xyz
```

The plugin will:

1. Download the video (using yt-dlp, which supports 1000+ sites)
2. Extract frames and transcribe audio narration (using whisper)
3. Convert to Cooklang format with proper `@Ingredient`, `#Equipment`, and `~timer` syntax
4. Infer the meal category (Breakfast, Lunch, or Dinner)
5. Save recipe and best frame image to your Cooklang folder

## Dependencies

Install required tools (macOS):

```bash
brew install yt-dlp ffmpeg openai-whisper
```

| Tool | Purpose |
|------|---------|
| yt-dlp | Download videos (supports TikTok, Instagram, YouTube, etc.) |
| ffmpeg | Extract frames and audio |
| openai-whisper | Transcribe audio narration |

## Configuration

Edit `config.json` to set your Cooklang recipes directory:

```json
{
  "cooklang_directory": "/path/to/your/cooklang/recipes"
}
```

**Common locations:**

| Platform | Typical Path |
|----------|--------------|
| macOS (iCloud) | `~/Library/Mobile Documents/iCloud~org~cooklang~cooklangapp/Documents` |
| macOS (local) | `~/Documents/Recipes` |
| Linux | `~/recipes` |
| Windows | `C:\Users\YourName\Documents\Recipes` |

The directory should contain meal-type subfolders (Breakfast, Lunch, Dinner, etc.).

## Example Output

```cook
---
source: https://www.tiktok.com/@creator/video/123456789
servings: 2
---

Heat @Olive Oil{2%tbsp} in a large #Skillet{} over medium-high heat.

Add @Garlic{4%cloves}(minced) and cook for ~{30%seconds} until fragrant.

Add @Prawns{450%g} and cook for ~{2%minutes} per side until pink.

Season with @Salt{} and @Pepper{} to taste.

Garnish with fresh @Parsley{}(chopped).
```

## Fallback Options

If video download or transcription fails:

- Provide screenshots of key moments
- Describe the recipe in your message

The plugin will **not** web search for the recipe - it only extracts from the specific video you provide.

## What is Cooklang?

[Cooklang](https://cooklang.org/) is a markup language for recipes that enables:

- Automatic shopping list generation
- Recipe scaling
- Structured ingredient tracking
- Cross-platform recipe apps

## Related

- [Cooklang Documentation](https://cooklang.org/docs/)
- [Cooklang CLI](https://cooklang.org/cli/)
- [Cooklang App](https://cooklang.org/app/)

## License

MIT
