Skip to content

cooklang/cooklang-import

Repository files navigation

cooklang-import

A tool to import recipes into Cooklang format using AI-powered conversion.

Features

  • Multi-provider AI support: OpenAI, Anthropic Claude, Azure OpenAI, Google Gemini, and Ollama
  • Automatic fallback: Seamlessly switch between providers on failure
  • Smart extraction: JSON-LD, MicroData, HTML class extractors, and LLM fallback
  • Multiple input types: URLs, plain text, and images (via OCR)
  • Local AI support: Run completely offline with Ollama

See architecture.md for system design.

Installation

CLI

git clone https://github.com/cooklang/cooklang-import
cd cooklang-import
cargo install --path .

Rust Library

[dependencies]
cooklang-import = "0.8.6"

See docs/api-rust.md for library usage.

Mobile SDKs

Quick Start

Set your API key:

export OPENAI_API_KEY="your-api-key-here"

The tool works immediately with OpenAI's GPT-4.1-mini model.

Usage

URL to Cooklang

cooklang-import https://www.bbcgoodfood.com/recipes/next-level-tikka-masala

URL to Recipe (Extract Only)

cooklang-import https://www.bbcgoodfood.com/recipes/next-level-tikka-masala --extract-only

Text to Cooklang

cooklang-import --text "Take 2 eggs and 1 cup of flour. Mix and bake at 350°F for 30 minutes."

Image to Cooklang

Requires GOOGLE_API_KEY for OCR.

cooklang-import --image /path/to/recipe-photo.jpg

Options

cooklang-import --help                           # Full usage info
cooklang-import <url> --provider anthropic       # Use specific provider
cooklang-import <url> --timeout 60               # Custom timeout (seconds)

Configuration

Basic (config.toml)

cp config.toml.example config.toml
default_provider = "openai"

[providers.openai]
enabled = true
model = "gpt-4.1-mini"

[providers.anthropic]
enabled = true
model = "claude-sonnet-4.5"

[fallback]
enabled = true
order = ["openai", "anthropic"]

See docs/providers.md for all provider options.

Configuration Priority

  1. Environment variables (e.g., OPENAI_API_KEY)
  2. config.toml file
  3. Default values

Documentation

Document Description
architecture.md System design and project structure
docs/providers.md AI provider configuration
docs/api-rust.md Rust library API
docs/sdk-ios.md iOS/Swift SDK
docs/sdk-android.md Android/Kotlin SDK
docs/troubleshooting.md Common issues and solutions

Development

cargo test                              # Run tests
RUST_LOG=debug cooklang-import <url>    # Debug logging

About

A command line tool to import recipes into Cooklang format

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 10