Input & Output Rules
Input Limits
| Limit | Value |
|---|---|
| Maximum input length | 12,000 characters |
| Input beyond limit | Automatically truncated (toast shows "Input was truncated") |
| Local (Apple Intelligence) input limit | 2,000 characters |
| Minimum useful input | ~10 characters (very short text may not produce good results) |
Content Detection
Transfo automatically analyzes your clipboard to detect content type:
| Type | Detection signals |
|---|---|
| JSON | Valid JSON structure, braces + quotes |
| Code | Semicolons, braces, keywords (func, class, def), high symbol density |
| Prose | Natural language, low symbol density, sentence structure |
| Unknown | Doesn't match other patterns |
Recipes are automatically sorted by relevance to your detected content type.
Output Validation
Every AI output goes through validation before being written to your clipboard. Your original clipboard is never overwritten on failure.
| Rule | What it checks |
|---|---|
| Non-empty | Output must not be empty |
| Minimum length | Output must be ≥10 characters (≥5 for Freestyle) |
| Echo guard | Output must not be identical to input |
| Containment guard | Output must not contain the full original input (for inputs >50 chars) |
| Recipe-specific rules | Each recipe has additional validation (see recipe sections above) |
Cooldown
After a successful transform, the same recipe + same input combination has a 10-second cooldown to prevent duplicate API calls. Different inputs or different recipes are not affected.