---
name: api.kakerapetit.dev
description: api.kakerapetit.dev provides three utility endpoints: perceptual image duplicate detection, lexical text similarity scoring, and iCalendar event file generation. Each skill is stateless and operates on inputs provided at call time, with no persistent storage or retrieval capabilities.
host: api.kakerapetit.dev
---

# api.kakerapetit.dev

This host is a small collection of general-purpose utility tools aimed at agents that need lightweight, deterministic operations on images, text, or calendar data. It covers perceptual hashing for image deduplication, token-overlap metrics for text comparison, and standards-compliant ICS file generation. It does not offer semantic understanding, database lookups, or any stateful operations.

## When to use this host

Use this host when an agent needs to: (1) detect visually near-identical images by URL using perceptual hashing, (2) score lexical overlap between two text strings, or (3) generate a one-off iCalendar event file. Do not use this host for semantic image classification or object recognition — use a vision model or image embedding API instead. Do not use it for semantic text similarity based on meaning rather than token overlap — use a sentence-embedding or vector similarity API instead. Do not use it for reading, querying, or managing existing calendar events — use a calendar integration API (e.g., Google Calendar API) instead. This host is not suitable for recurring event series, local file inputs, or any workflow requiring persistent state.

## Capabilities

### Content Deduplication

Detects near-duplicate content across images and text using hash-based and token-overlap methods, enabling deduplication pipelines for media libraries or document stores.

- **`check-duplicate-image`** — Compares two image URLs using perceptual hashing (pHash + dHash) and returns hash distances plus a boolean verdict on whether the images are likely duplicates.
- **`compute-text-similarity`** — Computes four lexical similarity scores (Jaccard, Dice, cosine TF, overlap) between two input text strings.

### Calendar Event Generation

Produces standards-compliant iCalendar (.ics) payloads from structured event details, suitable for email attachments or calendar app imports.

- **`generate-calendar-ics`** — Generates a valid iCalendar (.ics) event payload from structured event details including title, start/end times, timezone, location, and attendees, returning the ICS content and event UID.

## Workflows

### Text-and-Image Deduplication Check

*Use when an agent needs to determine whether two content items (each with both a descriptive text field and an associated image URL) are duplicates, combining both signal types for a stronger verdict.*

1. **`check-duplicate-image`** — Compare the two items' image URLs using perceptual hashing to get a visual similarity verdict.
2. **`compute-text-similarity`** — Compare the two items' text descriptions using lexical metrics to get a textual similarity score, then combine both results to make a final deduplication decision.

## Skill reference

### `check-duplicate-image`

**Duplicate Image Checker** — Compares two image URLs using perceptual hashing (pHash + dHash) and returns hash distances plus a boolean verdict on whether the images are likely duplicates.

*Use when:* Use when an agent needs to determine whether two images are identical or near-identical by URL, such as deduplicating image libraries, detecting reposted content, or verifying image uniqueness before storage.

*Not for:* Do not use for semantic image similarity (e.g., 'does this image show a dog?'); use an image classification or embedding API instead. Not suitable for comparing local files — both images must be publicly accessible URLs.

**Inputs:**

- `image_url_a` (string, required) — Publicly accessible URL of the first image to compare.
- `image_url_b` (string, required) — Publicly accessible URL of the second image to compare.

**Returns:** Returns phash_distance, dhash_distance, a normalized similarity score, a same_image_likely boolean verdict, and the method/model used for comparison.

**Example:** `{"image_url_a": "https://picsum.photos/id/237/320/240", "image_url_b": "https://picsum.photos/id/237/240/180"}`

---

### `generate-calendar-ics`

**Calendar ICS Generator** — Generates a valid iCalendar (.ics) event payload from structured event details including title, start/end times, timezone, location, and attendees, returning the ICS content and event UID.

*Use when:* Use when an agent needs to produce a standards-compliant .ics calendar event file that can be attached to emails, imported into calendar apps, or shared with attendees — given a known event title, time range, and optional attendee list.

*Not for:* Do not use for querying or reading existing calendar events; this endpoint only generates new ICS payloads. Not suitable for recurring event series or calendar subscription feeds.

**Inputs:**

- `title` (string, required) — The event title, mapped to the SUMMARY field in the VEVENT block.
- `start` (string, required) — ISO 8601 datetime string for the event start time, including UTC offset.
- `end` (string, required) — ISO 8601 datetime string for the event end time, including UTC offset.
- `timezone` (string, required) — IANA timezone name used to interpret and convert the start/end times.
- `location` (string) — Event location string or URL, mapped to the LOCATION field in the VEVENT block.
- `attendees` (array) — List of attendee email addresses; each is added as an ATTENDEE line with RSVP=TRUE and PARTSTAT=NEEDS-ACTION.

**Returns:** Returns an ics string containing a complete VCALENDAR/VEVENT block with DTSTART, DTEND, SUMMARY, LOCATION, and ATTENDEE entries, plus a uid string matching the event's UID field.

**Example:** `{"title": "Quarterly planning sync", "start": "2026-07-15T10:00:00-07:00", "end": "2026-07-15T10:45:00-07:00", "timezone": "America/Los_Angeles", "location": "https://meet.example.com/qps", "attendees": ["alice@example.com", "bob@example.com"]}`

---

### `compute-text-similarity`

**Text Similarity Metrics** — Computes four lexical similarity scores (Jaccard, Dice, cosine TF, overlap) between two input text strings.

*Use when:* Use when an agent needs to quantify how similar two text strings are, such as detecting near-duplicate content, ranking candidate matches, or validating paraphrase quality.

*Not for:* Do not use for semantic/embedding-based similarity; this API computes token-overlap metrics only and will not capture meaning-level similarity between dissimilar wordings.

**Inputs:**

- `text_a` (string, required) — The first text string to compare.
- `text_b` (string, required) — The second text string to compare against text_a.

**Returns:** Returns a JSON object with four numeric similarity scores: jaccard, dice, cosine_tf, and overlap, each in the range 0–1.

**Example:** `{"text_a": "The quick brown fox jumps over the lazy dog.", "text_b": "A quick brown fox jumped over a lazy dog."}`

---
