# FreeDailyPro Tools (remote · api.freedailypro.com)

200+ MCP tools: PDF, PowerPoint, text, calculators, media, publishing. Nothing stored.

- Trust score: 72/100 (medium)
- Change this week: +2
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `api.freedailypro.com`: 72/100 (this document), [markdown](https://verifymcp.io/servers/com-freedailypro-tools/api.md), [page](https://verifymcp.io/servers/com-freedailypro-tools/api)

## Channel facts

- Endpoint: `https://api.freedailypro.com/mcp`
- Transports: `streamable-http`
- Auth: `required (not validated)`
- Version: `1.4.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 53/100
  - AI-judged instruction clarity (fair).
  - Context-footprint check failed: tool/resource definitions use about 30173 tokens (~132/item across 227 items; 227 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 43/100
  - Stability check failed: schema churn in the 13 days we've observed: 0 tool removals, 1 breaking changes, 0 auth/transport breaks, 49 additions.
- **Tool Coverage**: 85/100
  - 99% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 59% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "pdf_merge" implies "merge" and declares readOnlyHint instead, contradicting what its own name says it does.
  - An AI judge read all 227 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the FreeDailyPro Tools MCP server?

FreeDailyPro Tools is a hosted endpoint at https://api.freedailypro.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-freedailypro-tools 'https://api.freedailypro.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-freedailypro-tools": {
      "url": "https://api.freedailypro.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-freedailypro-tools": {
      "type": "http",
      "url": "https://api.freedailypro.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-freedailypro-tools]
url = "https://api.freedailypro.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-freedailypro-tools": {
      "type": "remote",
      "url": "https://api.freedailypro.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-freedailypro-tools --url 'https://api.freedailypro.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-freedailypro-tools:
    url: "https://api.freedailypro.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-freedailypro-tools": {
      "Transport": "http",
      "Url": "https://api.freedailypro.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-freedailypro-tools -t streamable-http -u 'https://api.freedailypro.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-freedailypro-tools": {
      "type": "http",
      "url": "https://api.freedailypro.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 72, +1)

- [cosmetic] “business_bill_of_sale_draft” added an optional parameter “condition”
- [cosmetic] “business_bill_of_sale_draft” added an optional parameter “governingLaw”
- [cosmetic] “business_bill_of_sale_draft” added an optional parameter “identifier”
- [cosmetic] “business_bill_of_sale_draft” added an optional parameter “odometer”
- [cosmetic] “business_bill_of_sale_draft” added an optional parameter “paymentMethod”
- [cosmetic] “business_bill_of_sale_draft” added an optional parameter “warranty”
- [cosmetic] “business_eviction_notice_draft” added an optional parameter “allowCure”
- [cosmetic] “business_eviction_notice_draft” added an optional parameter “amountOwed”
- [cosmetic] “business_eviction_notice_draft” added an optional parameter “governingLaw”
- [cosmetic] “business_eviction_notice_draft” added an optional parameter “reason”
- [cosmetic] “business_eviction_notice_draft” added an optional parameter “violation”
- [cosmetic] “business_lease_draft” added an optional parameter “governingLaw”
- [cosmetic] “business_lease_draft” added an optional parameter “holdoverNoticeDays”
- [cosmetic] “business_lease_draft” added an optional parameter “lateFee”
- [cosmetic] “business_lease_draft” added an optional parameter “lateFeeAfterDays”
- [cosmetic] “business_lease_draft” added an optional parameter “pets”
- [cosmetic] “business_lease_draft” added an optional parameter “rentDueDay”
- [cosmetic] “business_lease_draft” added an optional parameter “securityDeposit”
- [cosmetic] “business_lease_draft” added an optional parameter “smoking”
- [cosmetic] “business_lease_draft” added an optional parameter “utilities”
- [cosmetic] “business_nda_draft” added an optional parameter “date”
- [cosmetic] “business_nda_draft” added an optional parameter “governingLaw”
- [cosmetic] “business_poa_draft” added an optional parameter “durable”
- [cosmetic] “business_poa_draft” added an optional parameter “effective”
- [cosmetic] “business_poa_draft” added an optional parameter “governingLaw”
- [cosmetic] “business_poa_draft” added an optional parameter “limits”
- [cosmetic] “business_poa_draft” added an optional parameter “successorAgent”
- [cosmetic] “business_product_margin” added an optional parameter “fixedCosts”
- [cosmetic] “business_product_margin” added an optional parameter “quantity”
- [cosmetic] “business_product_margin” added an optional parameter “targetMarginPct”
- [cosmetic] “business_promissory_note_draft” added an optional parameter “collateral”
- [cosmetic] “business_promissory_note_draft” added an optional parameter “date”
- [cosmetic] “business_promissory_note_draft” added an optional parameter “governingLaw”
- [cosmetic] “business_promissory_note_draft” added an optional parameter “installmentTerms”
- [cosmetic] “business_promissory_note_draft” added an optional parameter “interestRatePct”
- [cosmetic] “business_promissory_note_draft” added an optional parameter “lateFee”
- [cosmetic] “business_promissory_note_draft” added an optional parameter “repayment”
- [cosmetic] “find_and_replace” added an optional parameter “wholeWord”
- [cosmetic] “business_eviction_notice_draft” reworded the description of “days”
- [cosmetic] “business_lease_draft” reworded the description of “rent”
- [cosmetic] “business_nda_draft” reworded the description of “purpose”
- [cosmetic] “business_nda_draft” reworded the description of “termYears”
- [cosmetic] “business_poa_draft” reworded the description of “powers”
- [cosmetic] “business_product_margin” reworded the description of “cost”
- [cosmetic] “business_product_margin” reworded the description of “price”
- [cosmetic] “ecommerce_etsy_listing_check” reworded the description of “title”
- [cosmetic] “publishing_isbn” reworded the description of “isbn”
- [cosmetic] “publishing_kdp_description” reworded the description of “html”
- [cosmetic] “publishing_kdp_description” reworded the description of “text”
- [cosmetic] “publishing_onix” reworded the description of “availability”
- [cosmetic] “publishing_onix” reworded the description of “language”
- [cosmetic] “publishing_onix” reworded the description of “title”
- [cosmetic] “publishing_print_royalty” reworded the description of “fixedCharge”
- [cosmetic] “publishing_print_royalty” reworded the description of “listPrice”
- [cosmetic] “publishing_print_royalty” reworded the description of “perPageCharge”
- [cosmetic] “publishing_print_royalty” reworded the description of “targetRoyalty”
- [cosmetic] “publishing_print_royalty” reworded the description of “upfrontCost”
- [cosmetic] “publishing_spine_width” reworded the description of “bleedIn”
- [cosmetic] “publishing_spine_width” reworded the description of “dpi”
- [cosmetic] “publishing_spine_width” reworded the description of “platform”
- [cosmetic] “publishing_spine_width” reworded the description of “spineAllowanceIn”
- [cosmetic] “publishing_spine_width” reworded the description of “thicknessIn”

### 2026-11-02 (score 71, 0)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

- [security] Tool “converters_exchange_rates” rewrote its description, which is the text the model reads
- [security] Tool “diff_text” rewrote its description, which is the text the model reads
- [security] Tool “image_crop” rewrote its description, which is the text the model reads
- [security] Tool “image_flip” rewrote its description, which is the text the model reads
- [security] Tool “image_resize” rewrote its description, which is the text the model reads
- [security] Tool “image_rotate” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 106 → 128
- [functional improvement] Tool coverage: 50% → 58%
- [cosmetic] “business_bank_statement_to_csv” added an optional parameter “categorize”
- [cosmetic] “business_bank_statement_to_csv” added an optional parameter “categoryRules”
- [cosmetic] “business_bank_statement_to_csv” added an optional parameter “fileBase64”
- [cosmetic] “business_bank_statement_to_csv” added an optional parameter “includeText”
- [cosmetic] “business_cover_letter” added an optional parameter “includeDocx”
- [cosmetic] “business_expenses” added an optional parameter “mergeCategories”
- [cosmetic] “business_invoice_totals” added an optional parameter “businessName”
- [cosmetic] “business_invoice_totals” added an optional parameter “clientName”
- [cosmetic] “business_invoice_totals” added an optional parameter “currencySymbol”
- [cosmetic] “business_invoice_totals” added an optional parameter “dueDate”
- [cosmetic] “business_invoice_totals” added an optional parameter “includeDocx”
- [cosmetic] “business_invoice_totals” added an optional parameter “invoiceDate”
- [cosmetic] “business_invoice_totals” added an optional parameter “invoiceNumber”
- [cosmetic] “business_invoice_totals” added an optional parameter “notes”
- [cosmetic] “business_invoice_totals” added an optional parameter “terms”
- [cosmetic] “business_marketplace_fee” added an optional parameter “adCost”
- [cosmetic] “business_marketplace_fee” added an optional parameter “compare”
- [cosmetic] “business_marketplace_fee” added an optional parameter “cost”
- [cosmetic] “business_marketplace_fee” added an optional parameter “feeOnShipping”
- [cosmetic] “business_marketplace_fee” added an optional parameter “fulfilment”
- [cosmetic] “business_marketplace_fee” added an optional parameter “offsiteAdsPct”
- [cosmetic] “business_marketplace_fee” added an optional parameter “ordersPerMonth”
- [cosmetic] “business_marketplace_fee” added an optional parameter “paymentFixed”
- [cosmetic] “business_marketplace_fee” added an optional parameter “paymentPct”
- [cosmetic] “business_marketplace_fee” added an optional parameter “returnPct”
- [cosmetic] “business_marketplace_fee” added an optional parameter “returnPostage”
- [cosmetic] “business_marketplace_fee” added an optional parameter “shippingCharged”
- [cosmetic] “business_marketplace_fee” added an optional parameter “shippingCost”
- [cosmetic] “business_marketplace_fee” added an optional parameter “unsellablePct”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “benefits”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “companyTagline”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “contingencies”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “durationNumber”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “durationUnit”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “employmentType”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “equipment”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “includeDocx”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “learningPoints”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “managerName”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “managerTitle”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “mentorName”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “noticeDays”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “paidInternship”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “positionType”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “responseDeadline”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “salaryPeriod”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “signerName”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “signerTitle”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “state”
- [cosmetic] “business_offer_letter_draft” added an optional parameter “termination”
- [cosmetic] “business_resume_outline” added an optional parameter “contact”
- [cosmetic] “business_resume_outline” added an optional parameter “education”
- [cosmetic] “business_resume_outline” added an optional parameter “includeDocx”
- [cosmetic] “calculate_sales_tax” added an optional parameter “discountPct”
- [cosmetic] “calculate_sales_tax” added an optional parameter “items”
- [cosmetic] “calculate_sales_tax” added an optional parameter “shipping”
- [cosmetic] “calculate_sales_tax” added an optional parameter “shippingTaxable”
- [cosmetic] “calculate_sales_tax” added an optional parameter “zip”
- [cosmetic] “converters_exchange_rates” added an optional parameter “source”
- [cosmetic] “converters_self_employment_tax” added an optional parameter “asOf”
- [cosmetic] “converters_self_employment_tax” added an optional parameter “cumulativeProfit”
- [cosmetic] “converters_self_employment_tax” added an optional parameter “method”
- [cosmetic] “converters_self_employment_tax” added an optional parameter “paymentsMade”
- [cosmetic] “converters_self_employment_tax” added an optional parameter “priorYearStateTax”
- [cosmetic] “converters_self_employment_tax” added an optional parameter “ytdWithholding”
- [cosmetic] “converters_state_tax” added an optional parameter “locality”
- [cosmetic] “converters_state_tax” added an optional parameter “localityRole”
- [cosmetic] “image_crop” added an optional parameter “backgroundColor”
- [cosmetic] “image_crop” added an optional parameter “quality”
- [cosmetic] “image_crop” added an optional parameter “stripMetadata”
- [cosmetic] “image_crop” added an optional parameter “unit”
- [cosmetic] “image_flip” added an optional parameter “backgroundColor”
- [cosmetic] “image_flip” added an optional parameter “quality”
- [cosmetic] “image_flip” added an optional parameter “stripMetadata”
- [cosmetic] “image_resize” added an optional parameter “animated”
- [cosmetic] “image_resize” added an optional parameter “backgroundColor”
- [cosmetic] “image_resize” added an optional parameter “fit”
- [cosmetic] “image_resize” added an optional parameter “quality”
- [cosmetic] “image_resize” added an optional parameter “stripMetadata”
- [cosmetic] “image_resize” added an optional parameter “withoutEnlargement”
- [cosmetic] “image_rotate” added an optional parameter “backgroundColor”
- [cosmetic] “image_rotate” added an optional parameter “quality”
- [cosmetic] “image_rotate” added an optional parameter “stripMetadata”
- [cosmetic] “business_bank_statement_to_csv” reworded the description of “text”
- [cosmetic] “business_cover_letter” reworded the description of “contact”
- [cosmetic] “business_cover_letter” reworded the description of “date”
- [cosmetic] “business_cover_letter” reworded the description of “found”
- [cosmetic] “business_cover_letter” reworded the description of “manager”
- [cosmetic] “business_cover_letter” reworded the description of “why”
- [cosmetic] “business_cover_letter” reworded the description of “years”
- [cosmetic] “business_expenses” reworded the description of “items”
- [cosmetic] “business_marketplace_fee” reworded the description of “feePct”
- [cosmetic] “business_offer_letter_draft” reworded the description of “candidate”
- [cosmetic] “business_offer_letter_draft” reworded the description of “company”
- [cosmetic] “business_offer_letter_draft” reworded the description of “salary”
- [cosmetic] “business_offer_letter_draft” reworded the description of “startDate”
- [cosmetic] “business_offer_letter_draft” reworded the description of “title”
- [cosmetic] “business_resume_outline” reworded the description of “experience”
- [cosmetic] “business_resume_outline” reworded the description of “name”
- [cosmetic] “business_resume_outline” reworded the description of “summary”
- [cosmetic] “business_resume_outline” reworded the description of “title”
- [cosmetic] “calculate_sales_tax” reworded the description of “amount”
- [cosmetic] “calculate_sales_tax” reworded the description of “taxPercent”
- [cosmetic] “converters_exchange_rates” reworded the description of “date”
- [cosmetic] “converters_exchange_rates” reworded the description of “from”
- [cosmetic] “converters_exchange_rates” reworded the description of “listCurrencies”
- [cosmetic] “converters_job_experience” reworded the description of “otherJobs”
- [cosmetic] “converters_self_employment_tax” reworded the description of “priorYearTax”
- [cosmetic] “diff_text” reworded the description of “textA”
- [cosmetic] “diff_text” reworded the description of “textB”
- [cosmetic] “image_crop” reworded the description of “format”
- [cosmetic] “image_flip” reworded the description of “format”
- [cosmetic] “image_resize” reworded the description of “format”
- [cosmetic] “image_rotate” reworded the description of “format”
- [cosmetic] “text_ascii_art” reworded the description of “font”
- [cosmetic] “text_ascii_art” reworded the description of “text”
- [cosmetic] “text_citation” reworded the description of “authors”
- [cosmetic] “text_citation” reworded the description of “siteOrPublisher”
- [cosmetic] “text_citation” reworded the description of “style”
- [cosmetic] “text_citation” reworded the description of “title”
- [cosmetic] “business_bank_statement_to_csv” made “text” optional
- [cosmetic] “business_marketplace_fee” made “feePct” optional
- [cosmetic] “business_offer_letter_draft” made “salary” optional
- [cosmetic] “calculate_sales_tax” made “amount” optional
- [cosmetic] “image_crop” made “x” optional
- [cosmetic] “image_crop” made “y” optional
- [cosmetic] “image_resize” made “height” optional
- [cosmetic] “image_resize” made “width” optional
- [cosmetic] “text_citation” made “authors” optional

### 2026-11-01 (score 71, −1)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

### 2026-10-31 (score 72, +1)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

### 2026-10-30 (score 71, +1)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

### 2026-10-29 (score 70, +2)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

### 2026-10-28 (score 68, +1)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

### 2026-10-26 (score 67, +1)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

## MCP tools (227)

### `word_count` (~48 tokens)

Word counter — counts words, characters, sentences, paragraphs and reading time

Input parameters:

- `text` (string, required): Text to analyze
- `wordsPerMinute` (number): Reading speed (default 200)

### `case_convert` (~49 tokens)

Case converter — upper, lower, title, sentence, camel, pascal, snake, kebab, constant, alternating, inverse

Input parameters:

- `case` (string, required)
- `text` (string, required)

### `generate_slug` (~55 tokens)

Slug generator — SEO-friendly URL slug

Input parameters:

- `lowercase` (boolean)
- `maxLength` (number)
- `removeStopWords` (boolean)
- `separator` (string)
- `text` (string, required)

### `generate_password` (~51 tokens)

Password generator — cryptographically secure password

Input parameters:

- `length` (number)
- `lowercase` (boolean)
- `numbers` (boolean)
- `symbols` (boolean)
- `uppercase` (boolean)

### `generate_lorem` (~38 tokens)

Lorem ipsum generator

Input parameters:

- `paragraphs` (number)
- `startWithLorem` (boolean)
- `wordsPerParagraph` (number)

### `reverse_text` (~33 tokens)

Text reverser — reverse characters, words or lines

Input parameters:

- `mode` (string)
- `text` (string, required)

### `sort_text` (~55 tokens)

Text sorter — sort lines or words, optional unique

Input parameters:

- `caseSensitive` (boolean)
- `mode` (string)
- `order` (string)
- `text` (string, required)
- `unique` (boolean)

### `generate_hash` (~40 tokens)

Hash generator — md5, sha1, sha256, sha384, sha512

Input parameters:

- `algorithm` (string)
- `text` (string, required)

### `generate_uuid` (~25 tokens)

Uuid generator — v4, optional bulk

Input parameters:

- `count` (number)

### `base64` (~30 tokens)

Base64 tool — encode or decode

Input parameters:

- `action` (string, required)
- `text` (string, required)

### `format_json` (~31 tokens)

Json formatter — validate, pretty-print or minify

Input parameters:

- `indent`
- `text` (string, required)

### `test_regex` (~32 tokens)

Regex tester

Input parameters:

- `flags` (string)
- `pattern` (string, required)
- `text` (string, required)

### `url_encode_decode` (~33 tokens)

Url encoder

Input parameters:

- `action` (string, required)
- `component` (boolean)
- `text` (string, required)

### `convert_timestamp` (~20 tokens)

Timestamp converter

Input parameters:

- `input` (string|number, required)

### `percentage` (~31 tokens)

Percentage calculator

Input parameters:

- `a` (number, required)
- `b` (number, required)
- `operation` (string, required)

### `calculate_tip` (~33 tokens)

Tip calculator

Input parameters:

- `bill` (number, required)
- `people` (number)
- `tipPercent` (number, required)

### `calculate_bmi` (~34 tokens)

Bmi calculator

Input parameters:

- `height` (number, required)
- `unit` (string)
- `weight` (number, required)

### `convert_length` (~34 tokens)

Unit converter (length)

Input parameters:

- `from` (string, required)
- `to` (string, required)
- `value` (number, required)

### `convert_weight` (~34 tokens)

Unit converter (weight)

Input parameters:

- `from` (string, required)
- `to` (string, required)
- `value` (number, required)

### `convert_temperature` (~34 tokens)

Unit converter (temperature)

Input parameters:

- `from` (string, required)
- `to` (string, required)
- `value` (number, required)

### `calculate_loan` (~142 tokens)

Loan calculator — EMI / amortizing loan, with an optional first payment date that dates the schedule preview and gives the payoff date

Input parameters:

- `annualRatePercent` (number, required)
- `firstPaymentDate` (string): Optional date the first payment is due, as YYYY-MM-DD. Adds a date to every schedulePreview row and returns firstPaymentDate, lastPaymentDate and payoffDate for the whole loan. It only labels the sch…
- `previewMonths` (number)
- `principal` (number, required)
- `years` (number, required)

### `calculate_compound_interest` (~87 tokens)

Compound interest calculator

Input parameters:

- `annualRatePercent` (number, required)
- `frequency` (string)
- `principal` (number, required)
- `startDate` (string): Optional start date, as YYYY-MM-DD. Adds startDate and maturityDate (the date the future value is reached). It only labels the timeline; the amounts do not change.
- `years` (number, required)

### `calculate_discount` (~35 tokens)

Discount calculator

Input parameters:

- `discountPercent` (number)
- `originalPrice` (number, required)
- `salePrice` (number)

### `calculate_simple_interest` (~79 tokens)

Simple interest calculator

Input parameters:

- `annualRatePercent` (number, required)
- `principal` (number, required)
- `startDate` (string): Optional start date, as YYYY-MM-DD. Adds startDate and maturityDate (the date the total amount is reached). It only labels the timeline; the amounts do not change.
- `years` (number, required)

### `calculate_sales_tax` (~363 tokens)

Sales tax calculator with US state base-rate lookup (local rates excluded) — add or extract tax

Input parameters:

- `amount` (number): Amount to tax (or the tax-inclusive amount in extract mode). Required unless items is sent.
- `discountPct` (number): With items: percentage discount on every line.
- `items` (array): Several items (mode add only). Response adds 'cart' with taxable and exempt subtotals, tax, total, steps and lines.
- `mode` (string)
- `shipping` (number): With items: shipping charged.
- `shippingTaxable` (boolean): With items: true adds shipping to the taxable amount. Default false (rules differ by state, so you choose).
- `state` (string): US state (two-letter code such as TX, or the full name; DC included). Looks up the STATE base sales tax rate only (Tax Foundation, 1 July 2026). Local city, county and district rates are not included.
- `taxPercent` (number): Tax rate in percent. Required unless state or an exact zip is sent. Takes priority over state.
- `zip` (string): US ZIP code (5 digits or ZIP+4). Used to find the STATE. The rate is filled in only where it is exact: 0% for DE, NH and OR, or the state rate for states with no local add-on in the Tax Foundation mi…

### `calculate_age` (~35 tokens)

Age calculator — years/months/days between dates

Input parameters:

- `endDate` (string)
- `startDate` (string, required)

### `diff_text` (~76 tokens)

Diff checker — line-oriented text diff. Same result as POST /v1/security/diff and /v1/text/diff: lines of type equal, add or remove with line numbers, plus added, removed, equal and changes counts.

Input parameters:

- `textA` (string, required): Original text.
- `textB` (string, required): Changed text.

### `estimate_password_strength` (~19 tokens)

Password strength

Input parameters:

- `password` (string, required)

### `generate_random_numbers` (~41 tokens)

Random number generator

Input parameters:

- `count` (number)
- `max` (number)
- `min` (number)
- `unique` (boolean)

### `extract_emails` (~19 tokens)

Email extractor

Input parameters:

- `text` (string, required)

### `extract_urls` (~18 tokens)

Url extractor

Input parameters:

- `text` (string, required)

### `find_and_replace` (~65 tokens)

Find replace

Input parameters:

- `caseSensitive` (boolean)
- `find` (string, required)
- `replace` (string, required)
- `replaceAll` (boolean)
- `text` (string, required)
- `useRegex` (boolean)
- `wholeWord` (boolean)

### `calculate_water_intake` (~30 tokens)

Water intake calculator

Input parameters:

- `activityLevel` (string)
- `weightKg` (number, required)

### `calculate_ideal_weight` (~29 tokens)

Ideal weight calculator

Input parameters:

- `heightCm` (number, required)
- `sex` (string, required)

### `calculate_gpa` (~27 tokens)

Gpa calculator

Input parameters:

- `courses` (array, required)
- `scale` (string)

### `lookup_http_status` (~20 tokens)

Http status reference

Input parameters:

- `code` (integer)

### `analyze_readability` (~29 tokens)

Reading level checker — Flesch-Kincaid style metrics

Input parameters:

- `text` (string, required)

### `html_entities` (~26 tokens)

Html entity converter

Input parameters:

- `action` (string, required)
- `text` (string, required)

### `binary_ascii` (~33 tokens)

Binary ascii converter

Input parameters:

- `action` (string, required)
- `separator` (string)
- `text` (string, required)

### `describe_cron` (~27 tokens)

Cron builder — describe a 5-field cron expression

Input parameters:

- `expression` (string, required)

### `decode_jwt` (~28 tokens)

Jwt decoder — header + payload only, no signature verification

Input parameters:

- `token` (string, required)

### `markdown_to_html` (~23 tokens)

Markdown html converter — basic subset

Input parameters:

- `markdown` (string, required)

### `calculate_bmr` (~63 tokens)

Bmr calorie calculator — Mifflin-St Jeor + TDEE

Input parameters:

- `activity` (string)
- `ageYears` (number, required)
- `heightCm` (number, required)
- `sex` (string, required)
- `weightKg` (number, required)

### `calculate_pregnancy_due_date` (~40 tokens)

Pregnancy due date calculator — Naegele rule

Input parameters:

- `lastMenstrualPeriod` (string, required)
- `referenceDate` (string)

### `calculate_sip` (~103 tokens)

Sip calculator — systematic investment plan future value

Input parameters:

- `annualRatePercent` (number, required)
- `monthlyInvestment` (number, required)
- `startDate` (string): Optional date of the first monthly contribution, as YYYY-MM-DD. Adds firstContributionDate, lastContributionDate and maturityDate. It only labels the plan; the amounts do not change. A day of 29 to 3…
- `years` (number, required)

### `parse_user_agent` (~51 tokens)

User agent parser

Input parameters:

- `clientHints` (string): Optional: pasted Sec-CH-UA request headers; adds a 'clientHints' object (for example Windows 11)
- `ua` (string, required)

### `minify_code` (~33 tokens)

Css js minifier — whitespace and comment strip

Input parameters:

- `code` (string, required)
- `type` (string, required)

### `apply_timezone_offset` (~34 tokens)

Timezone converter — apply fixed offset to UTC

Input parameters:

- `offset` (string, required)
- `utcIso` (string, required)

### `estimate_body_fat` (~58 tokens)

Body fat calculator — US Navy style estimate

Input parameters:

- `heightCm` (number, required)
- `hipCm` (number)
- `neckCm` (number, required)
- `sex` (string, required)
- `waistCm` (number, required)

### `scale_recipe` (~36 tokens)

Recipe scaler

Input parameters:

- `ingredients` (array, required)
- `originalServings` (number, required)
- `targetServings` (number, required)

### `fancy_text` (~54 tokens)

Fancy font generator — unicode styles

Input parameters:

- `intensity` (integer): Zalgo only: 1 (light) to 3 (heavy), default 2
- `style` (string, required)
- `text` (string, required)

### `invisible_text` (~50 tokens)

Invisible text generator — encode/decode/strip/generate zero-width

Input parameters:

- `carrier` (string)
- `length` (number)
- `mode` (string, required)
- `text` (string)

### `generate_meta_tags` (~69 tokens)

Meta tag generator — Open Graph + Twitter

Input parameters:

- `description` (string, required)
- `image` (string)
- `siteName` (string)
- `title` (string, required)
- `twitterCard` (string)
- `type` (string)
- `url` (string)

### `keyword_density` (~33 tokens)

Keyword density

Input parameters:

- `caseSensitive` (boolean)
- `keyword` (string, required)
- `text` (string, required)

### `hashtags` (~43 tokens)

Hashtag generator — extract or generate

Input parameters:

- `action` (string, required)
- `keywords` (array)
- `max` (number)
- `text` (string)

### `schema_jsonld` (~35 tokens)

Schema generator — Article, FAQ, Organization JSON-LD

Input parameters:

- `data` (object, required)
- `type` (string, required)

### `color_convert` (~120 tokens)

Color converter — hex/rgb/hsl plus hsv, cmyk, lab (D50) and oklch

Input parameters:

- `b` (number): Blue, 0-255
- `clamp` (boolean): Clamp r, g, b to 0-255 and report each change in 'clamped', instead of an error
- `g` (number): Green, 0-255
- `hex` (string)
- `r` (number): Red, 0-255 (with clamp true, values outside are clamped)

### `contrast_ratio` (~31 tokens)

Contrast checker — WCAG AA/AAA

Input parameters:

- `background` (string, required)
- `foreground` (string, required)

### `pdf_parse_fillable_form` (~69 tokens)

Parse a PDF's fillable form fields — lists every fillable field's name, type (text, checkbox, dropdown, radio, optionlist), current value and options so you know what to fill

Input parameters:

- `fileBase64` (string, required): The PDF file, base64-encoded

### `pdf_fill_form` (~221 tokens)

Fill a PDF form's fields — sets text, checkbox, dropdown, radio and option-list values and returns the filled PDF as base64 in the first text item, optionally flattened so it can no longer be edited. Only the fields you name are changed; every other field keeps its value. To clear a field send null (or an empty string). The second text item is a JSON report: fieldsSet, fieldsNotSet (name and reason) and fieldsUntouched

Input parameters:

- `checked` (object): Field name -> checked state, for checkbox fields (only the named checkboxes change)
- `fileBase64` (string, required): The PDF file, base64-encoded
- `flatten` (boolean): If true, bakes the values in and removes the ability to edit them further
- `values` (object): Field name -> value. Text/dropdown/radio: a string; option list: a string or an array of strings; checkbox: true/false. null or an empty string clears the field. Fields not named here are left untouc…

### `pdf_redact` (~175 tokens)

Permanently redact areas of a PDF. Boxes are fractions (0 to 1) of the page as displayed, measured from the top-left corner, pages numbered from 0. Text characters, picture pixels, vector art and annotations under a box are removed from the file itself and an opaque black bar is drawn; everything outside the boxes stays real, selectable text in its original fonts. A page that cannot be edited exactly (for example a curved drawing partly under a box) is turned into a picture with the boxes painted black instead. Pages without boxes are not touched

Input parameters:

- `boxes` (object, required): Page index (as a string key, 0-based) -> array of boxes to redact, each in fractional page coordinates (0-1)
- `fileBase64` (string, required): The PDF file, base64-encoded

### `convert_currency` (~46 tokens)

Currency converter — converts between currencies using a periodic rate snapshot (not a live feed)

Input parameters:

- `amount` (number, required)
- `from` (string, required)
- `to` (string, required)

### `generate_robots_sitemap` (~32 tokens)

Robots.txt and sitemap.xml generator

Input parameters:

- `domain` (string, required)
- `pages` (array, required)

### `check_grammar` (~45 tokens)

Grammar checker — lightweight, rule-based checks (not an LLM), catches common misspellings, spacing, capitalization, and repeated-word issues

Input parameters:

- `text` (string, required)

### `generate_captions` (~43 tokens)

Social caption generator — template-based, not an LLM

Input parameters:

- `platform` (string, required)
- `tone` (string)
- `topic` (string, required)

### `paraphrase_text` (~51 tokens)

Paraphraser — rule-based phrase and word substitution plus simple clause moves, not an LLM; strength low, medium or high

Input parameters:

- `strength` (string)
- `text` (string, required)

### `pdf_merge` (~39 tokens)

Merge multiple PDFs into one

Input parameters:

- `filesBase64` (array, required): The PDF files, base64-encoded, in the order they should be merged

### `pdf_split` (~103 tokens)

Split a PDF into multiple files by page range, or combine specific ranges into one reordered file

Input parameters:

- `combineIntoOne` (boolean): If true, combines all specified ranges into a single reordered PDF instead of one file per group
- `fileBase64` (string, required)
- `ranges` (string, required): Semicolon-separated groups, each a comma-separated list of pages/ranges, e.g. '1-3,5;7-9' for two output files

### `pdf_rotate` (~70 tokens)

Rotate PDF pages — 90-degree steps only (0, 90, 180, 270)

Input parameters:

- `fileBase64` (string, required)
- `rotations` (object, required): 1-indexed page number (as a string key) -> rotation in degrees, must each be a multiple of 90

### `pdf_add_page_numbers` (~106 tokens)

Add page numbers to a PDF

Input parameters:

- `fileBase64` (string, required)
- `fontSize` (number)
- `format` (string)
- `pageRange` (string): Comma-separated pages/ranges to number, e.g. '1,3-5' -- if omitted, numbers every page
- `position` (string, required)
- `prefix` (string)
- `skipFirstPage` (boolean)
- `startAt` (number)

### `pdf_watermark` (~158 tokens)

Add a text watermark to a PDF

Input parameters:

- `color` (string): Text colour, 6-digit hex. Default 808080
- `fileBase64` (string, required)
- `fontSize` (number): Points, 6 to 400. Default: sized automatically to fill the page
- `layer` (string): above (default) draws over the page; behind draws under the page's own content so text stays dark (a full-page scan or solid background hides it)
- `opacity` (number): 0.05 to 1. Default 0.4
- `position` (string)
- `rotationDegrees` (number): Degrees, default 45 (0 is horizontal)
- `text` (string, required)

### `pdf_extract_pages` (~54 tokens)

Extract specific pages from a PDF into a new PDF

Input parameters:

- `fileBase64` (string, required)
- `pages` (string, required): Comma-separated pages/ranges, e.g. '1,3-5,8'

### `pdf_organize` (~82 tokens)

Reorder, duplicate, rotate, or insert blank pages in a PDF

Input parameters:

- `fileBase64` (string, required)
- `pageSpecs` (array, required): Ordered list describing the output PDF's pages -- 'source' with a 0-based index (and optional rotation) to reuse a page from the input, or 'blank' to insert a blank page

### `pdf_flatten` (~29 tokens)

Permanently flatten a PDF's fillable form fields

Input parameters:

- `fileBase64` (string, required)

### `pdf_repair` (~27 tokens)

Attempt to recover a damaged or corrupted PDF

Input parameters:

- `fileBase64` (string, required)

### `pdf_compress` (~110 tokens)

Shrink a PDF from freedailypro. Default aims for about 50% smaller: tidies structure first (text untouched), then shrinks pictures only as much as needed. level: auto (default), medium, strong. targetFileSize (such as 2MB or 500KB) is the size to end at, for auto; default is half the original.

Input parameters:

- `fileBase64` (string, required)
- `level` (string)
- `targetFileSize` (string)

### `pdf_compress_lossless_bw` (~167 tokens)

Shrink a scanned PDF from freedailypro by turning pages into pure black-and-white JBIG2 pictures, each page coded exactly as read (no letter is ever swapped; safe for contracts and numbers). Colour and shading are lost and text on converted pages is no longer selectable. A page is converted only when that makes it at least 10% smaller; other pages (for example real-text pages) are copied untouched. Errors if the PDF is unreadable, password-protected, over 100 pages, or if no smaller file results.

Input parameters:

- `dpi` (number): Render resolution, 100 to 200. Default 150
- `fileBase64` (string, required): The PDF, base64 encoded (up to 20 MB, up to 100 pages)

### `pdf_compress_smallest_bw` (~244 tokens)

Shrink a scanned PDF from freedailypro to the smallest black-and-white file: JBIG2 symbol mode stores each letter shape once and reuses it across pages, typically 3x smaller than the lossless black-and-white file. Very rarely a letter can be swapped for a look-alike one (for example a 6 and a 8 in tiny print), so check important numbers in the original. Colour and shading are lost and text on converted pages is no longer selectable. A page is converted only when that makes it at least 10% smaller; other pages are copied untouched. Errors if the PDF is unreadable, password-protected, over 100 pages, or if no smaller file results.

Input parameters:

- `dpi` (number): Render resolution, 100 to 200. Default 150
- `fileBase64` (string, required): The PDF, base64 encoded (up to 20 MB, up to 100 pages)
- `threshold` (number): How alike two letter shapes must look to share one stored shape, 0.4 to 0.9. Default 0.85; higher is safer and slightly larger

### `pdf_compress_greyscale` (~168 tokens)

Shrink a scanned PDF from freedailypro by turning pages into 100 dpi greyscale JPEG pictures: shading and photos are kept, colour is dropped, text on converted pages is no longer selectable. Larger than the black-and-white files but nothing is thresholded to pure black and white. A page is converted only when that makes it at least 10% smaller. Errors (nothing is returned) if the result would not be smaller than the original, or if the PDF is unreadable, password-protected or over 100 pages.

Input parameters:

- `dpi` (number): Render resolution, 100 to 200. Default 100
- `fileBase64` (string, required): The PDF, base64 encoded (up to 20 MB, up to 100 pages)

### `pdf_compress_balanced` (~143 tokens)

Shrink a PDF from freedailypro the gentle way (the site's Balanced mode): tidy the file, empty blank pages, and re-save the pictures inside at about 140 dpi. Text stays selectable; links, bookmarks, form fields and page sizes are kept. Returns the smaller file plus the levels applied. Errors if the PDF is unreadable, password-protected, over 100 pages, or if nothing gets smaller (for example a PDF that is already mostly text); in that case try pdf_compress_aggressive.

Input parameters:

- `fileBase64` (string, required): The PDF, base64 encoded (up to 20 MB, up to 100 pages)

### `pdf_compress_aggressive` (~179 tokens)

Shrink a PDF from freedailypro harder (the site's Aggressive mode): everything Balanced does, then pages become pictures in finer and finer steps (empty areas dropped, flat areas as plain fills, photos, text and small print at lower resolutions); a page is converted only when that is clearly smaller. Text on converted pages is no longer selectable and links and form fields on them are gone (textSelectable says which). Heavier than Balanced: it can take several seconds per page, and returns the best level finished so far (truncated: true) if the time budget runs out. Errors if the PDF is unreadable, password-protected, over 100 pages, or if nothing gets smaller.

Input parameters:

- `fileBase64` (string, required): The PDF, base64 encoded (up to 20 MB, up to 100 pages)

### `pdf_compress_extreme` (~187 tokens)

Shrink a PDF from freedailypro as far as it will go (the site's Extreme mode): everything Aggressive does, then every page as 70 dpi greyscale and as pure black-and-white JBIG2 (exact, then with shared letter shapes), keeping the smallest. Colour and shading are lost and text is no longer selectable; very rarely a letter in tiny print can be swapped for a look-alike one in the symbol-mode result, so check important numbers in the original. Heavy: several seconds per page; returns the best level finished so far (truncated: true) if the time budget runs out. Errors if the PDF is unreadable, password-protected, over 100 pages, or if nothing gets smaller.

Input parameters:

- `fileBase64` (string, required): The PDF, base64 encoded (up to 20 MB, up to 100 pages)

### `pdf_compress_size` (~239 tokens)

Shrink a PDF from freedailypro to a size you need, such as under 2 MB for an email or a portal (the site's File size mode). The same steps as Balanced, Aggressive and Extreme, gentlest first, stopping at the first one that fits. If the goal cannot be reached it finishes every allowed step and returns the smallest file with targetMet: false and limitReason. `limit` caps how far it may go (balanced keeps text selectable). Heavy at the stronger limits; returns the best level so far (truncated: true) if the time budget runs out. A PDF already under the goal is returned unchanged.

Input parameters:

- `fileBase64` (string, required): The PDF, base64 encoded (up to 20 MB, up to 100 pages)
- `limit` (string): How far the steps may go. Default extreme. balanced = text stays selectable; aggressive = pages may become pictures; extreme = greyscale and black-and-white too
- `targetSize` (string|number, required): The size to reach: a number of bytes, or text such as 2MB or 500KB

### `image_resize` (~333 tokens)

Resize an image from freedailypro with a width, a height or both (one alone keeps the aspect ratio). fit: fill (default, stretches to exactly width x height), contain (fits inside and pads with backgroundColor), cover (fills the box and crops the overflow around the centre), inside (fits within, keeps the ratio), outside (at least as large, keeps the ratio). withoutEnlargement never makes it bigger. Reads and writes JPEG, PNG, WebP, AVIF, GIF (animation kept), TIFF; the first text item is the picture as base64, the second a JSON note with its size

Input parameters:

- `animated` (boolean): Keep every frame of an animated GIF/WebP. Default true
- `backgroundColor` (string): Fill for transparent areas (always used for JPEG), e.g. '#ffffff' or 'white'
- `fileBase64` (string, required)
- `fit` (string): Default fill (exact width x height)
- `format` (string): png, jpeg (or jpg), webp, avif, gif, tiff, bmp or ico; image/... types also work. Default: the same format as the input
- `height` (number)
- `quality` (number): 0-1 (for example 0.8) or 1-100 (for example 80); JPEG, WebP, AVIF, and palette PNG
- `stripMetadata` (boolean): Remove EXIF/GPS/colour-profile data. Default true
- `width` (number)
- `withoutEnlargement` (boolean)

### `image_crop` (~241 tokens)

Crop an image to a region from freedailypro. unit fraction (default): x, y, w, h are 0 to 1 of the image; unit px: pixels. Reads and writes JPEG, PNG, WebP, AVIF, GIF (first frame), TIFF

Input parameters:

- `backgroundColor` (string): Fill for transparent areas (always used for JPEG), e.g. '#ffffff' or 'white'
- `fileBase64` (string, required)
- `format` (string): png, jpeg (or jpg), webp, avif, gif, tiff, bmp or ico; image/... types also work. Default: the same format as the input
- `h` (number, required)
- `quality` (number): 0-1 (for example 0.8) or 1-100 (for example 80); JPEG, WebP, AVIF, and palette PNG
- `stripMetadata` (boolean): Remove EXIF/GPS/colour-profile data. Default true
- `unit` (string)
- `w` (number, required)
- `x` (number)
- `y` (number)

### `image_flip` (~192 tokens)

Flip an image horizontally (mirror left to right) or vertically from freedailypro. Reads and writes JPEG, PNG, WebP, AVIF, GIF (first frame), TIFF

Input parameters:

- `backgroundColor` (string): Fill for transparent areas (always used for JPEG), e.g. '#ffffff' or 'white'
- `direction` (string, required)
- `fileBase64` (string, required)
- `format` (string): png, jpeg (or jpg), webp, avif, gif, tiff, bmp or ico; image/... types also work. Default: the same format as the input
- `quality` (number): 0-1 (for example 0.8) or 1-100 (for example 80); JPEG, WebP, AVIF, and palette PNG
- `stripMetadata` (boolean): Remove EXIF/GPS/colour-profile data. Default true

### `image_rotate` (~198 tokens)

Rotate an image clockwise by 90, 180 or 270 degrees from freedailypro (no other angles). Reads and writes JPEG, PNG, WebP, AVIF, GIF (first frame), TIFF

Input parameters:

- `backgroundColor` (string): Fill for transparent areas (always used for JPEG), e.g. '#ffffff' or 'white'
- `degrees` (number, required)
- `fileBase64` (string, required)
- `format` (string): png, jpeg (or jpg), webp, avif, gif, tiff, bmp or ico; image/... types also work. Default: the same format as the input
- `quality` (number): 0-1 (for example 0.8) or 1-100 (for example 80); JPEG, WebP, AVIF, and palette PNG
- `stripMetadata` (boolean): Remove EXIF/GPS/colour-profile data. Default true

### `image_compress` (~290 tokens)

Make an image file smaller from freedailypro: same format unless format is given (png, jpeg, webp, avif, gif, tiff), quality 1-100 for JPEG/WebP/AVIF (default 80), PNG stays lossless unless quality is below 100 (then a smaller 256-colour palette), metadata removed unless stripMetadata is false, optional maxWidth/maxHeight (never enlarges). If the file cannot be made smaller in its own format the original bytes come back unchanged and the note says so

Input parameters:

- `backgroundColor` (string): Fill for transparent areas (always used for JPEG), e.g. '#ffffff' or 'white'
- `fileBase64` (string, required)
- `format` (string): png, jpeg (or jpg), webp, avif, gif, tiff, bmp or ico; image/... types also work. Default: the same format as the input
- `lossless` (boolean): WebP/AVIF lossless
- `maxHeight` (integer)
- `maxWidth` (integer)
- `quality` (number): 0-1 (for example 0.8) or 1-100 (for example 80); JPEG, WebP, AVIF, and palette PNG
- `stripMetadata` (boolean): Remove EXIF/GPS/colour-profile data. Default true

### `image_watermark` (~399 tokens)

Put a watermark on an image from freedailypro: text (drawn in Roboto, Latin/Greek/Cyrillic) or a watermark picture (watermarkBase64), at a position (center, top-left, top, top-right, left, right, bottom-left, bottom, bottom-right or tile), with opacity 0-1, size, margin and rotation. Reads and writes JPEG, PNG, WebP, AVIF, GIF (first frame), TIFF

Input parameters:

- `backgroundColor` (string): Fill for transparent areas (always used for JPEG), e.g. '#ffffff' or 'white'
- `color` (string): Text colour, a name or hex. Default white
- `fileBase64` (string, required)
- `fontSize` (number): Text size in pixels. Default about 1/12 of the shorter side
- `format` (string): png, jpeg (or jpg), webp, avif, gif, tiff, bmp or ico; image/... types also work. Default: the same format as the input
- `margin` (number): Distance from the edge in pixels
- `opacity` (number): Default 0.5
- `position` (string): Default bottom-right
- `quality` (number): 0-1 (for example 0.8) or 1-100 (for example 80); JPEG, WebP, AVIF, and palette PNG
- `rotation` (number): Degrees; tile defaults to -30
- `scale` (number): Watermark picture width as a share of the image width. Default 0.2
- `stripMetadata` (boolean): Remove EXIF/GPS/colour-profile data. Default true
- `text` (string): The words to stamp. Send this or watermarkBase64
- `watermarkBase64` (string): A watermark picture (PNG with transparency works best), base64

### `image_convert` (~646 tokens)

Convert an image to PNG, JPEG, WebP, AVIF, GIF, TIFF, BMP or ICO from freedailypro, with optional quality, background colour, resize (fit modes), rotate/flip, grayscale, DPI and metadata controls. Inputs: JPEG, PNG, WebP, GIF (animated kept for GIF/WebP output), AVIF, TIFF, SVG, BMP. HEIC is not supported. Returns the converted file as base64 text.

Input parameters:

- `animated` (boolean): Keep every frame of an animated GIF/WebP when the output is GIF or WebP. Default true
- `autoOrient` (boolean): Turn photos upright from their EXIF rotation flag. Default true
- `backgroundColor` (string): Fill for transparent areas, e.g. '#ffffff', 'ffffff' or 'white'. Default white for JPEG and 24-bit BMP; for other formats only applied when given
- `bitDepth` (number): BMP: 24 (no transparency) or 32 (keeps transparency)
- `blur` (boolean|number)
- `chromaSubsampling` (string): JPEG/AVIF colour detail: 4:4:4 sharpest, 4:2:0 smaller
- `dpi` (integer): Print resolution written into PNG, JPEG, TIFF and BMP
- `effort` (integer): 0 fastest to 10 smallest file (clamped to what the format allows; 'speed' is the same thing)
- `fileBase64` (string, required)
- `fit` (string): How the picture meets width and height. Default inside
- `flip` (boolean): Mirror top to bottom
- `flop` (boolean): Mirror left to right
- `format` (string, required): png, jpeg (or jpg), webp, avif, gif, tiff, bmp or ico; image/... types such as image/webp also work
- `grayscale` (boolean)
- `height` (integer)
- `lossless` (boolean): WebP/AVIF lossless; false on PNG makes a smaller 256-colour palette PNG
- `pngCompressionLevel` (integer)
- `pngPalette` (boolean): PNG: reduce to a 256-colour palette for a smaller file
- `progressive` (boolean): JPEG progressive scan
- `quality` (number): 0-1 (for example 0.8) or 1-100 (for example 80); JPEG, WebP, AVIF (and TIFF with jpeg compression, palette PNG)
- `rotate` (integer): Multiple of 90 degrees clockwise (not for animated images)
- `sharpen` (boolean|number)
- `sizes`: ICO sizes, from 16, 32, 48, 64, 128, 256 (e.g. '16,32,48'). Default 16,32,48
- `stripMetadata` (boolean): Remove EXIF/ICC data. Default true; false keeps it
- `tiffCompression` (string)
- `width` (integer)
- `withoutEnlargement` (boolean): Never make the picture bigger than the original

### `video_convert` (~40 tokens)

Convert a video between formats (mp4/mp4-web/webm/mov)

Input parameters:

- `fileBase64` (string, required)
- `format` (string, required)

### `video_trim` (~52 tokens)

Trim a video to a time range -- stream-copy, cuts snap to the nearest keyframe

Input parameters:

- `endSeconds` (number, required)
- `fileBase64` (string, required)
- `startSeconds` (number, required)

### `video_merge` (~33 tokens)

Merge multiple videos into one -- requires matching codec/resolution/frame rate across inputs

Input parameters:

- `filesBase64` (array, required)

### `video_extract_audio` (~27 tokens)

Extract a video's audio track as MP3

Input parameters:

- `fileBase64` (string, required)

### `video_thumbnail` (~34 tokens)

Extract a video frame as a JPEG thumbnail

Input parameters:

- `atSeconds` (number)
- `fileBase64` (string, required)

### `video_to_gif` (~32 tokens)

Convert a video to an animated GIF -- two-pass palette encoding

Input parameters:

- `fileBase64` (string, required)

### `video_subtitle` (~41 tokens)

Burn SRT subtitles permanently into a video

Input parameters:

- `fileBase64` (string, required)
- `srt` (string, required): Subtitle text in SRT format

### `video_compress` (~72 tokens)

Compress a video toward a target file size (targetFileSize such as 25MB; default half the original) -- two-pass encode, a floor bitrate is enforced below which quality degrades too much to be worth watching

Input parameters:

- `fileBase64` (string, required)
- `targetFileSize` (string)

### `audio_convert` (~41 tokens)

Convert audio between formats (mp3/wav/ogg/m4a/flac)

Input parameters:

- `fileBase64` (string, required)
- `format` (string, required)

### `audio_trim` (~40 tokens)

Trim audio to a time range

Input parameters:

- `endSeconds` (number, required)
- `fileBase64` (string, required)
- `startSeconds` (number, required)

### `audio_merge` (~24 tokens)

Merge multiple audio files into one

Input parameters:

- `filesBase64` (array, required)

### `audio_compress` (~49 tokens)

Compress audio toward a target file size (targetFileSize such as "2MB"; default half the original)

Input parameters:

- `fileBase64` (string, required)
- `targetFileSize` (string)

### `audio_normalize` (~30 tokens)

Normalize audio loudness -- EBU R128 broadcast standard

Input parameters:

- `fileBase64` (string, required)

### `audio_speed` (~42 tokens)

Change audio playback speed without altering pitch -- 0.5 to 2.0

Input parameters:

- `fileBase64` (string, required)
- `speed` (number, required)

### `audio_pitch` (~33 tokens)

Shift audio pitch without altering speed

Input parameters:

- `fileBase64` (string, required)
- `semitones` (number, required)

### `audio_denoise` (~38 tokens)

Reduce background noise in audio -- FFT-based spectral subtraction

Input parameters:

- `fileBase64` (string, required)
- `strengthDb` (number)

### `audio_remove_silence` (~44 tokens)

Remove silence throughout an audio file

Input parameters:

- `fileBase64` (string, required)
- `minDurationSeconds` (number)
- `thresholdDb` (number)

### `pptx_extract_text` (~194 tokens)

Get the text of every slide in a PowerPoint (.pptx) from freedailypro: titles, bullets (with their level) and tables, optionally with the speaker notes. format: txt (default), md or json (json returns slides with title, paragraphs, tables and notes, easiest to process). Hidden slides are skipped unless includeHidden is true. Charts and diagrams are not read (counted in the output instead). Errors when the deck has no text at all (a deck made only of pictures).

Input parameters:

- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `format` (string): Default txt
- `includeHidden` (boolean): Include hidden slides. Default false.
- `includeNotes` (boolean): Add each slide's speaker notes. Default false.

### `pptx_extract_notes` (~139 tokens)

Get the speaker notes of a PowerPoint (.pptx) from freedailypro, slide by slide. format: txt (default), md, or docx (a Word file, returned as base64). Hidden slides' notes are skipped unless includeHidden is true. Errors when the deck has no speaker notes.

Input parameters:

- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `format` (string): Default txt
- `includeHidden` (boolean): Include notes of hidden slides. Default false.

### `pptx_extract_images` (~183 tokens)

Pull the pictures out of a PowerPoint (.pptx) from freedailypro as a ZIP (returned as base64), each file exactly as stored in the deck and named by slide, for example slide02_image-2-1.jpeg. Pictures that only the slide design uses (a logo on the master) are left out unless includeTemplatePictures is true; pictures on hidden slides are left out unless includeHidden is true. Errors when there are none.

Input parameters:

- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `includeHidden` (boolean): Include pictures that appear only on hidden slides. Default false.
- `includeTemplatePictures` (boolean): Include pictures used only by the master or layouts. Default false.

### `pptx_clean` (~292 tokens)

Strip what you do not want to share from a PowerPoint (.pptx) from freedailypro, and get a clean .pptx back (base64): speaker notes, comments, hidden slides, author and company details with the revision list, and the stored preview picture. All of those are on by default; documentProperties (title, subject, keywords) and customProperties (labels and tags) are off by default. Slide content, layout and formatting are untouched, and parts only the removed slides used are dropped. Errors if every slide is hidden and hiddenSlides is on.

Input parameters:

- `authorInfo` (boolean): Remove author, last modified by, company, manager and the revision list. Default true.
- `comments` (boolean): Remove comments. Default true.
- `customProperties` (boolean): Also remove custom document properties. Default false.
- `documentProperties` (boolean): Also clear title, subject, keywords, description and category. Default false.
- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `hiddenSlides` (boolean): Delete slides that are hidden when presenting. Default true.
- `notes` (boolean): Remove speaker notes. Default true.
- `thumbnail` (boolean): Remove the small preview picture stored in the file. Default true.

### `pptx_compress_default` (~271 tokens)

Compress a PowerPoint (.pptx) from freedailypro at the Default level, the sharpest: pictures are kept up to 220 dpi at JPEG quality 82, large photos get smaller, and nothing is converted from PNG to JPEG. Only pictures are re-saved (JPEG, PNG, BMP); text, layouts, charts, animations, audio and video are left exactly as they are, so the deck stays fully editable. Returns the smaller .pptx as base64 plus originalBytes, outputBytes, reductionPercent and the pictures changed. Errors with a plain reason (422) when nothing can get smaller, for example a deck with no pictures.

Input parameters:

- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `maxDpi` (number): Never keep pictures sharper than this many dpi (48 to 300), on top of the level.
- `removeNotes` (boolean): Also remove speaker notes first. Default false.
- `removeThumbnail` (boolean): Also remove the stored preview picture. Default false.
- `removeUnusedLayouts` (boolean): Also remove slide layouts no slide uses, and the pictures only they carry. Default false.

### `pptx_compress_medium` (~273 tokens)

Compress a PowerPoint (.pptx) from freedailypro at the Medium level: pictures up to 150 dpi at JPEG quality 72, and opaque PNG photos are re-saved as JPEG when that is under half the size. Good for email. Only pictures are re-saved (JPEG, PNG, BMP); text, layouts, charts, animations, audio and video are left exactly as they are, so the deck stays fully editable. Returns the smaller .pptx as base64 plus originalBytes, outputBytes, reductionPercent and the pictures changed. Errors with a plain reason (422) when nothing can get smaller, for example a deck with no pictures.

Input parameters:

- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `maxDpi` (number): Never keep pictures sharper than this many dpi (48 to 300), on top of the level.
- `removeNotes` (boolean): Also remove speaker notes first. Default false.
- `removeThumbnail` (boolean): Also remove the stored preview picture. Default false.
- `removeUnusedLayouts` (boolean): Also remove slide layouts no slide uses, and the pictures only they carry. Default false.

### `pptx_compress_strong` (~266 tokens)

Compress a PowerPoint (.pptx) from freedailypro at the Strong level, the smallest of the three: pictures up to 110 dpi at JPEG quality 58. Fine on screen, soft in print. Only pictures are re-saved (JPEG, PNG, BMP); text, layouts, charts, animations, audio and video are left exactly as they are, so the deck stays fully editable. Returns the smaller .pptx as base64 plus originalBytes, outputBytes, reductionPercent and the pictures changed. Errors with a plain reason (422) when nothing can get smaller, for example a deck with no pictures.

Input parameters:

- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `maxDpi` (number): Never keep pictures sharper than this many dpi (48 to 300), on top of the level.
- `removeNotes` (boolean): Also remove speaker notes first. Default false.
- `removeThumbnail` (boolean): Also remove the stored preview picture. Default false.
- `removeUnusedLayouts` (boolean): Also remove slide layouts no slide uses, and the pictures only they carry. Default false.

### `pptx_compress_size` (~354 tokens)

Compress a PowerPoint (.pptx) from freedailypro to a size you need, such as under 10 MB for an email or an upload form. Runs from the sharpest picture setting to the coarsest and returns the sharpest result that fits targetSize, with targetMet: true. If it cannot fit, you get the smallest file it can make with targetMet: false and a note. A deck already at or under the target is returned unchanged. Only pictures are re-saved (JPEG, PNG, BMP); text, layouts, charts, animations, audio and video are left exactly as they are, so the deck stays fully editable. Returns the smaller .pptx as base64 plus originalBytes, outputBytes, reductionPercent and the pictures changed. Errors with a plain reason (422) when nothing can get smaller, for example a deck with no pictures.

Input parameters:

- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `maxDpi` (number): Never keep pictures sharper than this many dpi (48 to 300), on top of the level.
- `removeNotes` (boolean): Also remove speaker notes first. Default false.
- `removeThumbnail` (boolean): Also remove the stored preview picture. Default false.
- `removeUnusedLayouts` (boolean): Also remove slide layouts no slide uses, and the pictures only they carry. Default false.
- `targetSize` (string|number, required): The size to reach: a number of bytes, or text such as 10MB or 800KB (at least 1 KB)

### `pptx_split` (~307 tokens)

Split a PowerPoint (.pptx) from freedailypro into several presentations, returned as ONE ZIP (base64) of .pptx files, each a complete editable deck keeping its own slides' notes, pictures, charts and tables. mode: each (one file per slide; default), every (every N slides, give every), or range (ranges such as '1-3,5,8-': one file per range, or one file with all of them when rangesAsFiles is false). At most 100 files. Errors name the slide numbers that do not exist.

Input parameters:

- `every` (integer): every mode: slides per file, for example 5
- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `fileName` (string): Base name for the files inside the ZIP, for example talk.pptx gives talk_slide-01.pptx
- `mode` (string): Default: range when ranges is given, every when every is given, otherwise each.
- `ranges` (string): range mode: comma-separated slides or ranges, for example 1-3,5,8- (8- means 8 to the end)
- `rangesAsFiles` (boolean): range mode: true (default) makes one file per range; false puts every chosen slide into one file.

### `pptx_organize` (~258 tokens)

Reorder, delete and duplicate the slides of a PowerPoint (.pptx) from freedailypro, returning a new editable .pptx (base64); the slide master, layouts and theme stay as they were and every slide keeps its notes, pictures, charts and tables. order: the final order as 1-based slide numbers, for example [3,1,2] (a number twice makes a copy). remove: slides to delete. duplicate: slides to copy, the copy placed right after the original. removeHidden: delete every hidden slide. Slide numbers always refer to the ORIGINAL deck. Errors when a number does not exist or every slide would be removed.

Input parameters:

- `duplicate` (array): Original slide numbers to copy (the copy follows the original)
- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `order` (array): Final order, for example [3,1,2]. Default: the current order.
- `remove` (array): Original slide numbers to delete
- `removeHidden` (boolean): Delete every slide that is hidden when presenting

### `pptx_merge` (~186 tokens)

Merge two or more PowerPoint (.pptx) files from freedailypro into one editable presentation (base64), slides in the order the files are given. Each deck keeps its own master, layouts and theme (several masters in one file), so slides keep the look they came with; set useFirstDesign true to put later decks on the first deck's layouts when they match by name. All decks must have the SAME slide size: otherwise it errors (422) naming the decks and their sizes, so fix the size first (in PowerPoint: Design, Slide Size). Comments of the second and later decks are left out. Up to 10 decks and 100 MB in all.

Input parameters:

- `files` (array, required)
- `useFirstDesign` (boolean): Put every later deck on the first deck's layouts. Refused with the reason when they do not match.

### `markdown_to_pptx` (~280 tokens)

Turn Markdown or a plain outline into an editable PowerPoint (.pptx, base64) from freedailypro, with real title and body placeholders (so Outline view, the slide master and accessibility checks work). `# Title` makes the title slide (a short line under it is the subtitle), `## Heading` a new slide, `### Heading` a bold sub-heading, `- item` / `1. item` bullets (indent two spaces for sub-bullets), `| a | b |` tables, `Note: text` speaker notes, `---` ends a slide, **bold**, *italic*, `code` and [links](https://example.com) work. Pictures given by web address are not fetched (reported in warnings); use json_to_pptx to put pictures in. mode outline reads an indented outline instead (first line = deck title). Themes: clean, dark, corporate, warm, minimal, or a brand colour and fonts.

Input parameters:

- `brand` (object): A theme made from a brand colour and fonts. Replaces theme.
- `markdown` (string, required): The deck as Markdown (or an indented outline in outline mode)
- `mode` (string): Default markdown
- `theme` (string): Built-in look. Default clean. Ignored when brand is given.

### `json_to_pptx` (~413 tokens)

Build an editable PowerPoint (.pptx, base64) from a JSON description of the slides, from freedailypro. Each slide takes title, subtitle, bullets (strings, or {text, bullets:[...]} for sub-bullets; set numbered true for 1. 2. 3.), text (a paragraph or list of paragraphs), table ({header:[...], rows:[[...]]}), image ({data: base64 or data: URI of a PNG, JPEG or GIF, alt: description}) and notes (speaker notes). A slide with only a title (and subtitle) is a cover when it is first or has a subtitle; layout "title" or "content" forces it. With an image the text sits on the left and the picture on the right, keeping its shape; an image alone is centred. Bullets, text and subtitle accept **bold**, *italic*, `code` and [links](https://example.com); titles and table cells are plain text. Pictures are never fetched from a URL: send base64, and give each an alt text (a warning says when it is missing). Limits: 200 slides, 40 bullets per slide, tables of 60 rows and 12 columns (a table over 14 rows will run off the slide: warning), pictures 8 MB each and 24 MB in all. Themes clean, dark, corporate, warm, minimal, or brand {color, headingFont, bodyFont, dark}. Returns fileName, base64, slides and warnings; invalid input errors name the field, for example slides[2].bullets[1] must be text.

Input parameters:

- `brand` (object): A theme made from a brand colour and fonts. Replaces theme.
- `slides` (array, required)
- `theme` (string): Built-in look. Default clean. Ignored when brand is given.
- `title` (string): Deck title (file property). Default: the first slide's title.

### `csv_to_pptx` (~274 tokens)

Turn a CSV file into an editable PowerPoint (.pptx, base64) of table slides from freedailypro: a cover slide, then the header and up to rowsPerSlide (default 12, max 40) rows on each slide, titled 'Title (1 of 3)'. The first row holds the column names unless header is false. The delimiter (comma, semicolon or tab) is found from the first line. At most 12 columns and 200 slides; cells are kept as plain text. Themes clean, dark, corporate, warm, minimal, or a brand.

Input parameters:

- `brand` (object): A theme made from a brand colour and fonts. Replaces theme.
- `csv` (string, required): The CSV text (up to 10 MB)
- `delimiter` (string): One character, or tab. Default: detected.
- `header` (boolean): The first row holds column names. Default true.
- `rowsPerSlide` (integer): Data rows per slide. Default 12.
- `theme` (string): Built-in look. Default clean. Ignored when brand is given.
- `title` (string): Deck and slide title. Default Data.
- `titleSlide` (boolean): Add a cover slide with the title and the table size. Default true.

### `pptx_find_replace` (~262 tokens)

Find and replace text across every slide of a PowerPoint (.pptx) from freedailypro, and get the edited .pptx back (base64). Matches inside a paragraph are replaced even when PowerPoint split the words into several runs; the formatting of the first run is kept. Speaker notes are searched too (includeNotes, default true); the slide master and layouts only when includeTemplate is true. Errors with 422 when nothing matches, so a wrong spelling is noticed.

Input parameters:

- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `find` (string, required): The text to look for
- `includeNotes` (boolean): Also change speaker notes. Default true.
- `includeTemplate` (boolean): Also change the slide master and layouts (footers, company names in the design). Default false.
- `matchCase` (boolean): Match upper and lower case exactly. Default false.
- `replace` (string): The new text. Empty removes the match.
- `skipSlides` (array): Slide numbers to leave alone
- `wholeWord` (boolean): Match whole words only. Default false.

### `pptx_fonts` (~113 tokens)

List every font a PowerPoint (.pptx) from freedailypro uses, as JSON: name, how many places use it, which slides, whether the master/layouts/theme use it, whether it is the theme's heading or body font and whether it is embedded. Use it before pptx_replace_fonts.

Input parameters:

- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.

### `pptx_replace_fonts` (~166 tokens)

Swap fonts across a PowerPoint (.pptx) from freedailypro and get the new .pptx (base64): slides, notes, layouts, masters, the theme's heading and body fonts, charts and SmartArt. mapping is {"Old font": "New font"}. Embedded copies of replaced fonts are removed. Errors (422) when none of the named fonts is used. Text is not resized, so a wider font can make a line wrap.

Input parameters:

- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `mapping` (object, required): Old font name to new font name, for example {"Calibri": "Arial"}

### `pptx_slide_numbers` (~251 tokens)

Add slide numbers to a PowerPoint (.pptx) from freedailypro, or remove them, and get the new .pptx (base64). The numbers are real slide-number fields, so they follow when slides move. Slides that already have a number are left alone. 'of-total' writes the total as plain text (PowerPoint has no total field). mode remove takes off the numbers the slides themselves carry (not those on the master).

Input parameters:

- `color` (string): Hex colour, for example 595959
- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `format` (string): 3, Slide 3 or 3 / 12. Default number.
- `mode` (string): Default add
- `position` (string): Default bottom-right
- `size` (number): Points. Default 12.
- `skipFirst` (boolean): Leave the first slide without a number
- `startAt` (integer): Number of the first slide. Default 1; 0 makes the second slide 1.

### `pptx_watermark` (~307 tokens)

Stamp a text watermark (such as DRAFT or CONFIDENTIAL) or a picture on the slides of a PowerPoint (.pptx) from freedailypro, or remove the watermarks this tool made, and get the new .pptx (base64). Give text, or pictureBase64 (PNG or JPEG) for a picture. It sits behind the slide content by default.

Input parameters:

- `bold` (boolean): Default true
- `color` (string): Text colour, hex. Default 808080.
- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `font` (string): Default Arial
- `layer` (string): Default behind
- `mode` (string): Default add
- `opacity` (number): Percent opaque. Default 30.
- `pictureBase64` (string): A PNG or JPEG, base64, instead of text
- `place` (string): Default center
- `rotation` (number): Degrees; negative rises to the right. Default -45 for text.
- `size`: Points, or auto to fit the slide. Default auto.
- `slides` (array): Slides to mark. Default all.
- `text` (string): The watermark words, for example DRAFT
- `widthPercent` (number): Picture width as a percent of the slide. Default 50.

### `pptx_resize` (~257 tokens)

Change the slide size of a PowerPoint (.pptx) from freedailypro and scale the content to match, returning the new .pptx (base64). preset 16x9, 4x3, 16x10, a4 or letter, or width and height with a unit. mode fit (default) keeps the shape of the content and centres it; fill covers the new area; stretch changes the shape. Fonts, line widths and spacing scale with the content unless scaleText is false. The result lists how many shapes now reach outside the slide. Errors (422) when the slides are already that size.

Input parameters:

- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `height` (number): Custom height, with width
- `mode` (string): Default fit
- `preset` (string): A standard size (landscape)
- `scaleText` (boolean): Scale text, lines and spacing too. Default true.
- `unit` (string): Unit of width and height. Default in.
- `width` (number): Custom width, with height

### `pptx_extract_charts` (~174 tokens)

Get the data behind every chart of a PowerPoint (.pptx) from freedailypro: format xlsx (default; one workbook, a sheet per chart, base64), csv (a ZIP of CSV files, base64; workbooks true also adds each chart's own embedded workbook) or json (each chart's slide, title, type and table). Charts pasted as pictures have no data; errors (422) when the deck has no real charts.

Input parameters:

- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `format` (string): Default xlsx
- `workbooks` (boolean): csv: also include the embedded workbooks. Default false.

### `pptx_accessibility_check` (~160 tokens)

Check a PowerPoint (.pptx) from freedailypro for accessibility problems and get a JSON report (or CSV): pictures and charts without alt text or with a file name as alt text, slides with no title or an empty or duplicate title, text under 12 points, table header rows, merged cells, vague link text and reading-order problems. Each issue has the slide, severity (error, warning, tip) and a plain message. The check reports only; it changes nothing.

Input parameters:

- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `format` (string): Default json

### `pptx_repair` (~147 tokens)

Try to repair a damaged PowerPoint (.pptx) from freedailypro that PowerPoint reports as needing repair or will not open, and get a new .pptx (base64) plus what was fixed and what was lost. Mends a missing or wrong file list, a missing or inconsistent slide list, dead links to pictures, charts and layouts, duplicate slide ids and a damaged zip index; pieces that cannot be saved are dropped and listed. A healthy file is returned unchanged with changed false. Cannot open password-protected files or old .ppt files.

Input parameters:

- `fileBase64` (string, required): The damaged .pptx, base64 encoded. Up to 50 MB.

### `pptx_redact` (~403 tokens)

Black out sensitive text in a PowerPoint (.pptx) from freedailypro and get the redacted .pptx (base64). Matches are replaced by block characters in the file's own text (not covered), on slides, notes, the master and layouts, charts, SmartArt, comments, alt text and link targets. presets: email, phone, ssn, card, url, ip, money, date; plus terms (exact words), regexes, imageSlides ('all' or slide numbers: pictures replaced by a black stand-in) and imageByAlt. stripNotes, stripComments and stripMetadata remove those entirely. The result is read again and any remaining match is reported (remaining, remainingWhere). Text inside pictures, video and audio cannot be found; warnings say what could not be checked. A deck with no match is returned unchanged with changed false.

Input parameters:

- `dropChartWorkbooks` (boolean): Remove a chart's embedded workbook when it still holds a match. Default true.
- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `imageByAlt` (boolean): Black out pictures whose name or alt text matches the terms or patterns
- `imageSlides`: Black out the pictures on these slides, or all
- `matchCase` (boolean): Default false
- `notes` (boolean): Search speaker notes. Default true.
- `presets` (array): Kinds of text to remove
- `regexes` (array): Regular expressions (JavaScript syntax)
- `stripComments` (boolean): Remove all comments
- `stripMetadata` (boolean): Remove author and file details
- `stripNotes` (boolean): Remove all speaker notes
- `template` (boolean): Search the master and layouts. Default true.
- `terms` (array): Exact words or phrases

### `pptx_html_slideshow` (~209 tokens)

Turn a PowerPoint (.pptx) from freedailypro into ONE self-contained HTML file (returned as text): the slides as readable text with their pictures inlined, arrow-key navigation, a grid (G) and optional speaker notes (N). No external files or scripts. Charts, SmartArt, video, audio and animations are not carried over (notCarried lists them). Speaker notes are off unless includeNotes is true; hidden slides are left out unless includeHidden is true.

Input parameters:

- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `includeHidden` (boolean): Include hidden slides. Default false.
- `includeNotes` (boolean): Include speaker notes. Default false.
- `look` (string): Default deck (the deck's own colours)
- `title` (string): Page title. Default: the deck's title.

### `pptx_to_template` (~265 tokens)

Turn a PowerPoint (.pptx) from freedailypro into a .potx template (base64) and optionally change its theme: colors is {dk1, lt1, dk2, lt2, accent1..accent6, hlink, folHlink} as six-digit hex, plus headingFont, bodyFont and the theme name. keepSlides all, first or none. format pptx gives a re-themed deck instead. Shapes with their own fixed colour or font do not follow the theme; fixedColorShapes and fixedFontRuns count them. The .potx has been checked in LibreOffice, not in desktop PowerPoint.

Input parameters:

- `bodyFont` (string)
- `colors` (object): Theme colours by key, hex without #
- `fileBase64` (string, required): The presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.
- `format` (string): Default potx
- `headingFont` (string)
- `keepSlides` (string): Default all
- `name` (string): The theme's name
- `removeNotesAndAuthor` (boolean): Remove notes, comments and the author's name from the kept slides

### `converters_roman` (~102 tokens)

converters roman

Input parameters:

- `direction` (string, required)
- `value` (number|string, required): toRoman: a whole number from 1 to 3,999,999 (above 3,999 the thousands get a bar over every letter, written with the Unicode combining overline U+0305). fromRoman: a numeral; barred letters may be ty…

### `converters_units` (~133 tokens)

Unit converter: 14 categories and over 130 units with exact factors

Input parameters:

- `category` (string, required): length, weight, temperature, volume, area, speed, pressure, energy, power, time, data_transfer, angle, fuel_economy or cooking. List the units of each with /v1/converters/units-list.
- `from` (string, required): Unit id to convert from, for example gal_us, km_h, psi, kwh (see units-list for the ids and aliases).
- `to` (string, required): Unit id to convert to.
- `value` (number, required): The number to convert.

### `converters_units_list` (~53 tokens)

Unit converter: the units of each category, with ids, symbols, aliases and a US, imperial or metric tag

Input parameters:

- `category` (string): Only this category (for example volume). Leave out for every category.

### `converters_file_size` (~34 tokens)

File size converter

Input parameters:

- `from` (string, required)
- `to` (string, required)
- `value` (number, required)

### `converters_job_experience` (~139 tokens)

Job experience calculator

Input parameters:

- `countEndDate` (boolean): Only used with otherJobs. true (default) counts the end date as a full day, so 1 Jan to 31 Dec is one year.
- `endIso` (string)
- `otherJobs` (array): More jobs. When given, the top-level years, months and label are the TOTAL across all jobs (overlapping periods counted once; the first job alone is in `firstJob`), and the response also has a `histo…
- `startIso` (string, required)

### `converters_paycheck` (~284 tokens)

Paycheck estimator: 2026 US federal tax, FICA, state tax and pre-tax deductions

Input parameters:

- `federalRatePct` (number): Optional flat federal rate in percent. When sent it replaces the 2026 bracket calculation (first-version behaviour).
- `filingStatus` (string): Federal filing status. Default single.
- `grossAnnual` (number, required): Gross pay for the year, in US dollars.
- `otherDeductionPerCheck` (number): Other after-tax deduction taken from each paycheck, in dollars.
- `payPeriodsPerYear` (number): Pay periods per year: 52, 26, 24 or 12. Default 24.
- `retirementPct` (number): Traditional 401(k)/403(b) deferral as a percent of gross pay. Lowers income tax but not FICA.
- `section125Annual` (number): Yearly pre-tax health, dental, HSA or FSA deductions. Lowers income tax and FICA.
- `state` (string): US state (two-letter code such as NY, or the full name; DC included). Adds that state's 2026 income tax from the same table as the website. Without it, no state income tax is included.
- `stateRatePct` (number): Optional flat state rate in percent. When sent it replaces the state lookup (first-version behaviour).

### `converters_fire` (~103 tokens)

FIRE calculator

Input parameters:

- `annualContribution` (number)
- `annualSpend` (number, required)
- `currentSavings` (number)
- `expectedReturnPct` (number)
- `startDate` (string): Optional plan start date, as YYYY-MM-DD. When the target is reached, adds startDate and fireDate (the start plus yearsToFire years). It only labels the timeline; the amounts do not change.
- `withdrawalRatePct` (number)

### `converters_vat_gst` (~222 tokens)

VAT and GST calculator with a country rate table

Input parameters:

- `amount` (number): The amount, in any currency. Send this, or vatAmount, or lines.
- `amountIncludesTax` (boolean): true when amount already includes the tax (the tax is taken out of it).
- `country` (string): Country name (for example Germany, United Kingdom, Australia, Singapore, UAE). Looks up the standard VAT/GST rate. Canada has one entry per province group, e.g. 'Canada - Ontario HST'. The error for…
- `lines` (array): Invoice lines at different rates: returns a subtotal per rate (byRate) and a grand total. Use instead of amount.
- `ratePct` (number): VAT/GST rate in percent. Required unless country is sent. Takes priority over country.
- `vatAmount` (number): The VAT amount shown on a receipt: returns the net and gross it implies at the rate (needs a rate above 0). Use instead of amount.

### `converters_countdown` (~28 tokens)

Countdown calculator

Input parameters:

- `fromIso` (string)
- `isoTarget` (string, required)

### `converters_401k` (~226 tokens)

401(k) projection with the 2026 IRS contribution limits

Input parameters:

- `age` (number): Your age. Used to pick the 2026 IRS employee limit ($24,500; plus $8,000 catch-up at 50-59 and 64+, $11,250 at 60-63). Without it the base limit is used.
- `annualContribution` (number, required)
- `applyIrsLimit` (boolean): true caps annualContribution at the IRS limit for your age. Default false: the contribution is used as sent and a warning is returned if it is over the limit.
- `currentBalance` (number, required)
- `employerMatchPct` (number): Employer match as a percent of your own contribution (50 = 50 cents per dollar).
- `expectedReturnPct` (number)
- `startDate` (string): Optional date the first contribution year starts, as YYYY-MM-DD. Adds startDate and endDate (when the projection ends). It only labels the plan; the amounts do not change.
- `years` (number, required)

### `converters_rmd` (~116 tokens)

RMD estimator using the IRS Uniform Lifetime Table

Input parameters:

- `accountBalance` (number, required): Account balance on 31 December of the previous year.
- `age` (number, required): Age you reach this year (72 to 120). The IRS Uniform Lifetime Table divisor for that age is used.
- `birthYear` (number): Birth year. Adds the SECURE 2.0 RMD start age (73 for 1951-1959, 75 for 1960 or later) and whether an RMD is required yet.

### `text_csv` (~46 tokens)

text csv

Input parameters:

- `delimiter` (string)
- `headers` (array)
- `operation` (string, required)
- `rows` (array)
- `text` (string)

### `text_similarity` (~132 tokens)

Text similarity

Input parameters:

- `a` (string, required): First text, up to 10,000 characters (longer is a 422).
- `b` (string, required): Second text, up to 10,000 characters (longer is a 422).
- `phraseWords` (integer): When given (3 to 8), the response also has a `phrases` object: how much of each text sits inside phrases of this many words that both texts share (case and punctuation ignored). Shorter texts use sho…

### `planning_packing_list` (~36 tokens)

Packing list generator

Input parameters:

- `climate` (string, required)
- `nights` (number, required)
- `tripType` (string)

### `planning_event_budget` (~50 tokens)

Event budget planner

Input parameters:

- `catering` (number)
- `costPerGuest` (number)
- `extras` (number)
- `guests` (number, required)
- `venue` (number)

### `planning_itinerary` (~57 tokens)

Travel itinerary splitter

Input parameters:

- `activities` (array, required)
- `days` (number, required)
- `startDate` (string): Optional first day of the trip, as YYYY-MM-DD. Adds a calendar date to every day of the result.

### `converters_tdee` (~177 tokens)

Calorie TDEE calculator

Input parameters:

- `activity` (string)
- `age` (number, required)
- `cycleGoal` (string): Which daily target to spread over the week. Default maintain.
- `heightCm` (number, required)
- `highDays` (integer): Weekly calorie cycling: how many higher-calorie days a week (1 to 3).
- `macroGoal` (string): Adds a macros block: grams of protein, carbohydrate and fat for the matching calorie target (lose = cut, maintain = TDEE, gain = bulk), the percentage split, and whether each share sits inside the In…
- `sex` (string, required)
- `swingPct` (number): How far above the daily target the higher days sit, in percent. Default 15.
- `weightKg` (number, required)

### `converters_self_employment_tax` (~565 tokens)

Self-employment tax: 2026 wage base, Medicare and Additional Medicare

Input parameters:

- `asOf` (string): YYYY-MM-DD. Payments due on or before this date are treated as past when spreading what is still to pay. Default: all four are still ahead.
- `cumulativeProfit` (array): With method 'annualized': net profit earned so far through Mar 31, May 31 and Aug 31 (cumulative, rising, not above netProfit). netProfit is the full-year figure.
- `filingStatus` (string): Federal filing status. Default single.
- `includeIncomeTax` (boolean): true adds federal income tax (2026 brackets, standard deduction, after the half self-employment tax deduction) so quarterlyPayment is the whole estimated payment. Default false: quarterlyPayment is t…
- `method` (string): 'even' (default): four equal payments. 'annualized': each payment follows the income earned so far (needs cumulativeProfit); good for seasonal income.
- `netProfit` (number, required): Net self-employment profit for the year, in US dollars.
- `paymentsMade` (number): Estimated payments already made this year. Counts against the yearly total in the 'remaining' block and the safe harbour.
- `priorYearAgi` (number): With priorYearTax: last year's adjusted gross income; above $150,000 ($75,000 married filing separately) the safe harbour is 110% of last year's tax.
- `priorYearStateTax` (number): With includeIncomeTax and state: last year's state income tax, for the state's own safe-harbour test. Without it the state test is 90% of this year's state tax. priorYearTax is last year's federal to…
- `priorYearTax` (number): With includeIncomeTax: last year's federal total tax (self-employment plus income tax), for the IRS safe-harbour test on the federal part (100% of last year's tax, or 110% if priorYearAgi is above th…
- `state` (string): With includeIncomeTax: a US state (two-letter code or name) to add that state's income tax on the profit.
- `w2Wages` (number): W-2 wages from a job in the same year. They use up part of the Social Security wage base and count toward the Additional Medicare threshold.
- `ytdWithholding` (number): With includeIncomeTax: federal income tax already withheld this year (for example from a W-2 job). Counts against the yearly total in the 'remaining' block and the safe harbour.

### `converters_529` (~114 tokens)

529 calculator

Input parameters:

- `currentBalance` (number, required)
- `expectedReturnPct` (number)
- `firstContributionDate` (string): Optional date of the first monthly contribution, as YYYY-MM-DD. Adds firstContributionDate, lastContributionDate and targetDate (when the projected balance is reached). It only labels the plan; the a…
- `monthlyContribution` (number, required)
- `years` (number, required)

### `planning_event_checklist` (~22 tokens)

Event checklist planner

Input parameters:

- `eventType` (string)

### `planning_event_schedule` (~28 tokens)

Event day schedule

Input parameters:

- `items` (array, required)
- `startHour` (number, required)

### `planning_guest_list` (~20 tokens)

Guest list tracker

Input parameters:

- `guests` (array, required)

### `planning_relocation_checklist` (~16 tokens)

Relocation checklist planner

### `planning_cost_of_living` (~149 tokens)

Cost of living comparison

Input parameters:

- `from` (string): Current place as a U.S. city ('Austin' or 'Austin, TX') or 5-digit ZIP; looked up in the built-in table of 127 U.S. metros (BEA Regional Price Parities, 2023).
- `fromIndex` (number): Cost-of-living index of the current place (100 = average). Leave out when you send 'from'.
- `salary` (number, required): Current salary.
- `to` (string): New place, same format as 'from'.
- `toIndex` (number): Cost-of-living index of the new place. Leave out when you send 'to'.

### `business_invoice_totals` (~251 tokens)

Invoice totals

Input parameters:

- `businessName` (string): Your business name. Sending businessName and clientName also returns the invoice as a document: result.document, result.text and, with includeDocx, a Word file.
- `clientName` (string): Who the invoice is for. Needed with businessName for the document.
- `currencySymbol` (string): Symbol printed before amounts in the document. Default $. The totals themselves are plain numbers.
- `discountPct` (number)
- `dueDate` (string): YYYY-MM-DD, a real date on or after invoiceDate (422 otherwise).
- `includeDocx` (boolean): true also returns the invoice as a Word file in result.docx (filename, contentType, base64). Needs businessName and clientName.
- `invoiceDate` (string): YYYY-MM-DD, a real date (422 otherwise).
- `invoiceNumber` (string): Invoice number printed on the document.
- `lines` (array, required)
- `notes` (string): Notes printed at the bottom of the document.
- `taxPct` (number)
- `terms` (string): Payment terms line, for example 'Net 30. Pay by bank transfer.'

### `business_expenses` (~59 tokens)

Expense tracker

Input parameters:

- `items` (array, required): The expenses to total. A refund is a negative amount.
- `mergeCategories` (boolean): true treats categories that differ only in case or surrounding spaces as one. Default false (exactly as sent).

### `security_barcode_code128` (~37 tokens)

Code 128 barcode

Input parameters:

- `format` (string)
- `height` (number)
- `text` (string, required)

### `converters_social_security` (~182 tokens)

Social Security retirement benefit estimate with 2026 bend points

Input parameters:

- `annualEarnings` (number): Alternative to AIME: current yearly earnings (capped at the 2026 wage base of $184,500). AIME is estimated from it.
- `averageIndexedMonthlyEarnings` (number): Your AIME (average indexed monthly earnings) from your SSA statement. Send this or annualEarnings.
- `birthYear` (number): Birth year, which sets full retirement age (67 if born 1960 or later). Default 1960.
- `claimAge` (number): Age you start benefits, 62 to 70 (decimals such as 62.5 are rounded to whole months). Default 67.
- `yearsWorked` (number): With annualEarnings: years of work, up to 35 (default 35).

### `planning_chores` (~28 tokens)

Household chore splitter

Input parameters:

- `chores` (array, required)
- `people` (array, required)

### `business_nda_draft` (~126 tokens)

NDA draft

Input parameters:

- `date` (string): Effective date, any readable form.
- `disclosingParty` (string, required)
- `governingLaw` (string): Whose law governs, for example "the State of Texas" or "England and Wales". Default: the place where the property or the parties are.
- `purpose` (string, required): What the information is shared for, finishing the sentence "to ...", for example "evaluate a software partnership".
- `receivingParty` (string, required)
- `termYears` (number): Years the duty lasts. Default 2.

### `business_bill_of_sale_draft` (~155 tokens)

Bill of sale draft

Input parameters:

- `buyer` (string, required)
- `condition` (string)
- `date` (string, required)
- `governingLaw` (string): Whose law governs, for example "the State of Texas" or "England and Wales". Default: the place where the property or the parties are.
- `identifier` (string): Make, model, serial number or VIN.
- `item` (string, required)
- `odometer` (string): Odometer reading for a vehicle.
- `paymentMethod` (string)
- `price` (string, required)
- `seller` (string, required)
- `warranty` (string): as-is (default) or the seller states it works as described.

### `business_product_margin` (~95 tokens)

Product margin calculator

Input parameters:

- `cost` (number, required): What one unit costs you.
- `fixedCosts` (number): One-off costs (tooling, setup, launch) for the break-even quantity.
- `price` (number, required): What you sell one unit for.
- `quantity` (number): Units, for totals.
- `targetMarginPct` (number): A margin you want; its price is added to the price ladder.

### `planning_monthly_budget` (~28 tokens)

Monthly budget planner

Input parameters:

- `expenses` (array, required)
- `income` (number, required)

### `planning_grocery_list` (~21 tokens)

Grocery list planner

Input parameters:

- `items` (array, required)

### `planning_inventory` (~18 tokens)

Inventory tracker

Input parameters:

- `items` (array, required)

### `converters_student_loan` (~355 tokens)

Student loan calculator

Input parameters:

- `annualRatePct` (number, required)
- `dependents` (integer): Dependents claimed on the tax return (RAP takes $50 a month off for each). With income.
- `firstPaymentDate` (string): Optional date the first payment is due, as YYYY-MM-DD. Adds firstPaymentDate, lastPaymentDate and payoffDate to the result. It only labels the result; the months, interest and totals do not change. A…
- `householdSize` (integer): Household size for the IBR poverty guideline. With income. Default 1.
- `ibr` (number): Also show IBR at 10% (loans from 1 July 2014, 20 years) or 15% (older loans, 25 years) of discretionary income. Only for borrowers whose loans were all made before 1 July 2026.
- `income` (number): Yearly adjusted gross income. Adds incomeDriven: the Repayment Assistance Plan payment (and IBR with ibr) beside the standard plan, with total paid, term and forgiven balance.
- `monthlyPayment` (number): The payment you make. Send this or standardTermYears.
- `principal` (number, required)
- `refinance` (object): A private refinance on the same balance: returns the new payment and the interest saved or added.
- `standardTermYears` (number): Use the standard payment for this many years instead of sending monthlyPayment.
- `state` (string): Two-letter state code. AK and HI use their own poverty guideline for IBR; anything else the 48-state figure.

### `business_lease_draft` (~175 tokens)

Lease agreement draft

Input parameters:

- `address` (string, required)
- `end` (string, required)
- `governingLaw` (string): Whose law governs, for example "the State of Texas" or "England and Wales". Default: the place where the property or the parties are.
- `holdoverNoticeDays` (integer)
- `landlord` (string, required)
- `lateFee` (string)
- `lateFeeAfterDays` (integer)
- `pets` (string)
- `rent` (string, required): Rent with currency and period, for example "$1,850 per month".
- `rentDueDay` (integer)
- `securityDeposit` (string)
- `smoking` (string)
- `start` (string, required)
- `tenant` (string, required)
- `utilities` (string)

### `business_promissory_note_draft` (~161 tokens)

Promissory note draft

Input parameters:

- `amount` (string, required)
- `borrower` (string, required)
- `collateral` (string)
- `date` (string)
- `due` (string, required)
- `governingLaw` (string): Whose law governs, for example "the State of Texas" or "England and Wales". Default: the place where the property or the parties are.
- `installmentTerms` (string): For installments, for example "$500 on the 1st of each month".
- `interestRatePct` (number): Yearly simple interest in percent. 0 or leave out for no interest.
- `lateFee` (string)
- `lender` (string, required)
- `repayment` (string)

### `business_eviction_notice_draft` (~159 tokens)

Eviction notice draft

Input parameters:

- `address` (string, required)
- `allowCure` (boolean): The tenant may stay by fixing the problem in time. Default true for nonpayment and lease-violation.
- `amountOwed` (string)
- `date` (string, required)
- `days` (number, required): Days the tenant has to leave (or to fix the problem).
- `governingLaw` (string): Whose law governs, for example "the State of Texas" or "England and Wales". Default: the place where the property or the parties are.
- `landlord` (string, required)
- `reason` (string): Default end-of-term.
- `tenant` (string, required)
- `violation` (string)

### `business_poa_draft` (~138 tokens)

Power of attorney draft

Input parameters:

- `agent` (string, required)
- `durable` (boolean): Continues if the principal becomes incapacitated. Default true.
- `effective` (string)
- `governingLaw` (string): Whose law governs, for example "the State of Texas" or "England and Wales". Default: the place where the property or the parties are.
- `limits` (string): What the agent may not do.
- `powers` (string, required): What the agent may handle, for example "banking, paying bills and filing taxes".
- `principal` (string, required)
- `successorAgent` (string)

### `security_qr` (~27 tokens)

QR code generator

Input parameters:

- `format` (string)
- `text` (string, required)

### `text_emoji_unicode` (~28 tokens)

Emoji unicode converter

Input parameters:

- `operation` (string, required)
- `value` (string, required)

### `converters_amortization` (~118 tokens)

Loan amortization schedule with optional payment dates and step-by-step working

Input parameters:

- `annualRatePct` (number, required)
- `firstPaymentDate` (string): Optional date the first payment is due, as YYYY-MM-DD. Adds a date to every schedule row and returns firstPaymentDate, lastPaymentDate and payoffDate. It only labels the schedule; the amounts do not…
- `months` (number, required)
- `principal` (number, required)

### `converters_us_income_tax` (~246 tokens)

US federal income tax estimate with 2026 brackets, filing status, deductions, FICA and state tax

Input parameters:

- `deduction` (string): With grossIncome. Default standard (2026 amount for the filing status).
- `filingStatus` (string): Federal filing status. Default single.
- `grossIncome` (number): Gross income before deductions (wages or profit). The standard or itemized deduction is applied for you, and FICA and optional state tax are added. Send this OR taxableIncome.
- `itemizedDeductions` (number): With deduction 'itemized': the total of your itemized deductions.
- `preTaxDeductions` (number): With grossIncome: yearly pre-tax deductions such as traditional 401(k). Lowers income tax but not FICA.
- `selfEmployed` (boolean): With grossIncome: treat the income as self-employment profit (self-employment tax instead of employee FICA).
- `state` (string): With grossIncome: US state (two-letter code or name) to add that state's 2026 income tax.
- `taxableIncome` (number): Income after deductions. Send this OR grossIncome.

### `business_startup_names` (~28 tokens)

Startup name generator

Input parameters:

- `limit` (number)
- `seeds` (array, required)

### `planning_split_bill` (~35 tokens)

Split bill calculator

Input parameters:

- `people` (number, required)
- `tipPct` (number)
- `total` (number, required)

### `text_product_description` (~120 tokens)

Product description writer

Input parameters:

- `audience` (string, required): Who it is for, for example 'busy commuters'. A leading 'for' is fine.
- `benefits` (array, required): What the product does for the buyer, in any form: 'keeps water cold', 'keep water cold', 'to keep water cold', 'keeping water cold', 'designed for comfort' or 'long battery life'.
- `features` (array): Optional specifications or details, same flexible wording as benefits.
- `name` (string, required): Product name, used as written.

### `text_user_manual` (~27 tokens)

User manual writer

Input parameters:

- `product` (string, required)
- `tasks` (array, required)

### `business_invention_disclosure` (~51 tokens)

Invention disclosure worksheet

Input parameters:

- `date` (string)
- `inventor` (string, required)
- `problem` (string, required)
- `solution` (string, required)
- `title` (string, required)

### `business_contract_pack` (~19 tokens)

Contract templates

Input parameters:

- `type` (string, required)

### `business_receipt` (~41 tokens)

Receipt maker

Input parameters:

- `date` (string)
- `lines` (array, required)
- `merchant` (string, required)
- `taxPct` (number)

### `text_invitation_copy` (~41 tokens)

Invitation copy

Input parameters:

- `event` (string, required)
- `host` (string, required)
- `when` (string, required)
- `where` (string, required)

### `text_menu_outline` (~75 tokens)

Menu card outline

Input parameters:

- `keepOrder` (boolean): true keeps your section order. Default false: sections are put in the usual menu order (breakfast, starters, soups and salads, mains, sides, desserts, drinks).
- `sections` (array, required): Menu sections.
- `venue` (string, required): Restaurant or cafe name.

### `text_flyer_outline` (~154 tokens)

Brochure flyer outline

Input parameters:

- `audience` (string, required): Who it is for, for example 'new students'.
- `contact` (string): Optional phone, email or website, used as given.
- `cta` (string, required): The action you want, for example 'Book your spot'.
- `date` (string): Optional date, used as given.
- `details` (array): Optional bullet points, used as given.
- `location` (string): Optional place, used as given.
- `offer` (string, required): What is offered, for example 'First lesson half price'.
- `time` (string): Optional time, used as given.
- `title` (string): Optional headline. Default: the offer.

### `text_banner_copy` (~110 tokens)

Banner sign copy

Input parameters:

- `cta` (string): Optional call to action, for example 'Visit us today'. Default: Learn more.
- `maxCtaChars` (integer): Call to action length limit in characters (default 25).
- `maxHeadlineChars` (integer): Headline length limit in characters (default 40).
- `message` (string, required): What the banner should say, for example 'Grand opening this Saturday'. A long message is split into a headline and a subheadline.

### `planning_travel_countdown` (~37 tokens)

Travel countdown planner

Input parameters:

- `climate` (string, required)
- `departIso` (string, required)
- `nights` (number, required)

### `text_ascii_art` (~199 tokens)

ASCII art generator

Input parameters:

- `fill` (string): Optional single visible ASCII character used to draw the letters (default #).
- `font` (string): banner (default): 5-row block letters. wide: the same letters twice as wide. box: your text as typed (any language or emoji, several lines) inside one box.
- `text` (string, required): Text to draw. banner and wide: letters A-Z (lowercase is drawn as capitals), digits, space and . , ! ? - _ : ; ' " + = / \ ( ) @ # & * < >; accented Latin letters are drawn as the plain letter and li…

### `converters_india_income_tax` (~228 tokens)

India income tax FY 2026-27: old and new regime, standard deduction, rebate, surcharge and cess

Input parameters:

- `age` (string): Age group (old regime slabs). Default below60.
- `deductions` (number): Old regime only: total of 80C, 80D, HRA, home-loan interest and other deductions.
- `employerNps` (number): Employer NPS contribution, section 80CCD(2), capped at 14% of salary (new) or 10% (old).
- `income` (number, required): Annual salary or pension income in rupees. The standard deduction is taken off it.
- `itemised` (object): Old-regime deductions itemised, with the caps applied and returned in deductionBreakdown. Use instead of deductions.
- `otherIncome` (number): Other annual income in rupees (business, interest, rent). No standard deduction.
- `regime` (string): Which regime the top-level tax and effectiveRatePct report. Default old. Both regimes are always returned in 'regimes'.

### `converters_uk_tax` (~311 tokens)

UK income tax and Class 1 National Insurance 2026/27 with Scottish rates

Input parameters:

- `benefits` (number): Taxable benefits in kind per year, in pounds: added to taxable pay for income tax, not charged employee National Insurance.
- `bonus` (number): A one-off bonus or overtime in the year, in pounds. Returns what it adds on its own in 'bonus'.
- `income` (number, required): Gross annual salary in pounds.
- `marriageAllowance` (string): Marriage Allowance when no taxCode is sent: receive (tax reduced by up to £252) or give (£1,260 of allowance). Ignored when taxCode is sent.
- `pensionPct` (number): Your pension contribution as a percent of salary.
- `pensionType` (string): How the pension is taken: salary sacrifice (default, lowers tax and National Insurance), net pay arrangement (lowers tax only) or relief at source.
- `scotland` (boolean): true for Scottish income tax bands. Default false (England, Wales, Northern Ireland).
- `taxCode` (string): Optional PAYE tax code as printed on a payslip: 1257L, 1383M, 0T, BR, D0, D1, NT, K475, S1257L (Scotland), C1257L (Wales), SBR, SD0 to SD3. A code replaces the standard allowance. Omit it for the sta…

### `converters_state_tax` (~294 tokens)

US state income tax with a 50-state schedule lookup

Input parameters:

- `filingStatus` (string): Filing status for the state schedule. Default single.
- `includeLocal` (boolean): true adds an average local income tax where the state has local taxes (an estimate). Default false.
- `income` (number, required): Annual income subject to state tax, in US dollars.
- `locality` (string): A named city or county for the chosen state (id from the response's availableLocalities, e.g. ny-nyc, ny-yonkers, md-montgomery, pa-philadelphia, mi-detroit, mo-kansas-city, mo-st-louis, oh-columbus)…
- `localityRole` (string): With locality: resident (default) or worker (live elsewhere, work there) where a non-resident rate was confirmed (Philadelphia, Detroit, Kansas City, St. Louis).
- `ratePct` (number): Flat rate in percent (first-version behaviour). Takes priority over state.
- `state` (string): US state (two-letter code such as NY, or the full name; DC included). Looks up that state's 2026 brackets, standard deduction and exemptions. Send this or ratePct.

### `converters_college_cost` (~90 tokens)

College cost calculator

Input parameters:

- `annualCost` (number, required)
- `inflationPct` (number)
- `startDate` (string): Optional date the first year starts, as YYYY-MM-DD. Adds the start date of each year to byYear, plus startDate and endDate for the whole program. It only labels the years; the costs do not change.
- `years` (number, required)

### `business_profit_margin` (~64 tokens)

Profit margin calculator

Input parameters:

- `acquisition` (number)
- `cost` (number)
- `marginPct` (number)
- `markupPct` (number)
- `price` (number)
- `profit` (number)
- `shipping` (number)

### `business_marketplace_fee` (~423 tokens)

Marketplace fee calculator

Input parameters:

- `adCost` (number): Ad or acquisition cost per order.
- `compare` (array): 2 to 4 of Amazon, Etsy, eBay, Walmart, Mercari, TikTok Shop, Shopify. Needs cost. Returns 'comparison': every fee line, payout, profit, margin, ROI and break-even price per marketplace, with the date…
- `cost` (number): What the item costs you. With it the response adds a 'profit' object (profit if kept, returns, margin, ROI, break-even price).
- `feeOnShipping` (boolean): Whether the percentage fee also applies to shipping charged. Default true.
- `feePct` (number): Marketplace fee in percent. Required unless compare is sent.
- `fixedFee` (number)
- `fulfilment` (number): Fulfilment fee per unit, e.g. Amazon FBA (in compare it is charged to Amazon only).
- `offsiteAdsPct` (number): Compare only: Etsy Offsite Ads fee on the Etsy column, 15% or 12% (capped at $100 per order). Default 0.
- `ordersPerMonth` (number): Adds the expected profit for a month of that many orders.
- `paymentFixed` (number)
- `paymentPct` (number): Separate payment-processing fee in percent (0 where the marketplace fee includes it).
- `price` (number, required)
- `returnPct` (number): Share of orders returned, in percent. Default 0 (the website form pre-fills 5).
- `returnPostage` (number): Postage lost on a return. Default 0 (the website form pre-fills 4.50).
- `shippingCharged` (number): Shipping the buyer pays on top of price.
- `shippingCost` (number): What you pay the carrier to send one order. Default 0 (the website form pre-fills 4.50).
- `unsellablePct` (number)

### `business_shipping_estimate` (~38 tokens)

Shipping cost estimator

Input parameters:

- `base` (number)
- `ratePerKg` (number, required)
- `weightKg` (number, required)

### `business_break_even` (~60 tokens)

Break even calculator

Input parameters:

- `expectedUnits` (number)
- `fixedCosts` (number, required)
- `price` (number, required)
- `startupCost` (number)
- `targetProfit` (number)
- `variableCost` (number, required)

### `business_government_forms` (~21 tokens)

Government forms hub

Input parameters:

- `region` (string)

### `converters_mortgage` (~555 tokens)

Mortgage calculator: payment with taxes, insurance, PMI and HOA, extra payments, biweekly and payoff date

Input parameters:

- `annualIncome` (number): Gross yearly income, for the debt-to-income check. Send this or monthlyIncome.
- `closingCostPct` (number): Closing costs as a percent of the price; adds closing costs and cash to close.
- `compareYears` (array): The two terms to compare, default [15, 30].
- `downPayment` (number): Down payment as an amount. Send this or downPaymentPct (default 20%).
- `downPaymentPct` (number): Down payment as a percent of the price.
- `extraMonthly` (number): Extra principal paid every month.
- `firstPaymentDate` (string): Date of the first payment, YYYY-MM-DD. Adds the payoff dates; it only labels the schedule.
- `hoaGrowthPct` (number): Yearly increase of HOA dues in percent.
- `hoaMonthly` (number): Monthly HOA dues.
- `homeInsuranceAnnual` (number): Yearly homeowners insurance.
- `homePrice` (number, required): Purchase price.
- `includeYearly` (boolean): false leaves out the year-by-year table.
- `insuranceGrowthPct` (number): Yearly increase of insurance (and maintenance) in percent.
- `loanType` (string): Default conventional. FHA, VA and USDA add their standard fees (see sources in the response).
- `maintenanceMonthly` (number): Monthly maintenance and other costs (shown in the total, left out of the debt-to-income housing figure).
- `monthlyIncome` (number): Gross monthly income.
- `oneTimeExtra` (object): One extra payment.
- `otherMonthlyDebts` (number): Other monthly debt payments (car, cards, student loans) for the back-end ratio.
- `pmiRatePct` (number): Conventional PMI rate, percent of the loan a year (default 0.6). Applies only above 80% loan-to-value and stops at 78% of the original price.
- `propertyTaxAnnual` (number): Yearly property tax as an amount.
- `propertyTaxPct` (number): Yearly property tax as a percent of the price. Send this or propertyTaxAnnual.
- `ratePct` (number, required): Annual interest rate in percent.
- `taxGrowthPct` (number): Yearly increase of property tax in percent; any growth field adds a year-by-year costGrowth table.
- `vaUse` (string): VA funding fee class (VA loans only). Default first.
- `yearlyExtra` (object): One extra payment every year.
- `years` (number, required): Term in years, 1 to 50.

### `converters_refinance` (~244 tokens)

Refinance break-even calculator: simple and full-cost break-even, interest difference and horizon table

Input parameters:

- `closingCostPct` (number): Closing costs as a percent of the current balance.
- `closingCosts` (number): Closing costs as an amount. Send this or closingCostPct.
- `currentBalance` (number, required): What you still owe on the current loan.
- `currentPayment` (number): Your actual principal-and-interest payment, if you do not want it calculated from balance, rate and time left.
- `currentRatePct` (number, required): Current annual rate in percent.
- `financeClosingCosts` (boolean): true adds the closing costs to the new loan instead of paying them in cash.
- `newRatePct` (number, required): Annual rate of the new loan in percent.
- `newTermYears` (number, required): Term of the new loan in years.
- `plannedYearsToKeep` (number): How long you expect to keep the loan; adds a worthIt answer for that horizon.
- `remainingMonths` (number): Months left on the current loan.
- `remainingYears` (number): Years left on the current loan. Send this or remainingMonths.

### `converters_affordability` (~336 tokens)

Home affordability and debt-to-income calculator: maximum home price at the 28/36 guideline and 31/43 stretch limits

Input parameters:

- `annualIncome` (number): Gross yearly income. Send this or monthlyIncome.
- `downPayment` (number): Down payment as an amount. Send this or downPaymentPct (default 20%).
- `downPaymentPct` (number): Down payment as a percent of the price.
- `hoaMonthly` (number): Monthly HOA dues.
- `homeInsuranceAnnual` (number): Yearly homeowners insurance.
- `homePrice` (number): A price to check: adds the front and back ratios and a verdict for it.
- `loanType` (string): Default conventional.
- `maxBackEndPct` (number): Your own total-debt-ratio limit in percent.
- `maxFrontEndPct` (number): Your own housing-ratio limit in percent. When either limit is sent the response has one 'custom' result instead of guideline and stretch.
- `monthlyIncome` (number): Gross monthly income.
- `otherMonthlyDebts` (number): Other monthly debt payments (car, cards, student loans).
- `pmiRatePct` (number): Conventional PMI rate in percent of the loan a year (default 0.6).
- `propertyTaxPct` (number): Yearly property tax as a percent of the price (default 1.1).
- `ratePct` (number, required): Annual mortgage rate in percent.
- `vaUse` (string): VA funding fee class (VA loans only).
- `years` (number): Term in years (default 30).

### `converters_debt_payoff` (~164 tokens)

Debt payoff planner: avalanche and snowball plans with payoff dates, interest and a minimums-only baseline

Input parameters:

- `debts` (array, required): The debts to pay off, 1 to 30.
- `extraMonthly` (number): Money you can add each month on top of all the minimums. Send this or totalMonthlyBudget.
- `startDate` (string): Date of the first payment, YYYY-MM-DD. Adds a payoff date for every debt and the debt-free date.
- `strategy` (string): avalanche = highest rate first, snowball = smallest balance first, both (default) returns both and compares them.
- `totalMonthlyBudget` (number): Total you can pay each month across all debts (at least the sum of the minimums).

### `converters_contribution_limits` (~241 tokens)

Retirement and HSA contribution limits by tax year: 401(k), SIMPLE, IRA, Roth phase-out and HSA

Input parameters:

- `age` (number): Age reached by the end of the year: adds the catch-up for 401(k) (50, and the larger 60 to 63 amount), IRA (50) and HSA (55) and the total for that age.
- `coveredByWorkplacePlan` (boolean): true adds the traditional IRA deduction phase-out for someone covered by a workplace plan.
- `filingStatus` (string): Needed with magi.
- `hsaCoverage` (string): HSA coverage in December: adds the limit for it.
- `magi` (number): Modified adjusted gross income. With filingStatus: the Roth IRA contribution you are allowed after the income phase-out (and, with coveredByWorkplacePlan, the traditional IRA deduction). Phase-out ra…
- `taxYear` (number): Tax year, 2025 or 2026 (default: the latest in the table). Other years are a 400 that lists the years available.

### `converters_retirement` (~290 tokens)

Retirement and FIRE projection: nest egg, sustainable income, gap and drawdown with inflation and a withdrawal rate

Input parameters:

- `annualContribution` (number): What you add each year, in today's dollars.
- `contributionGrowthPct` (number): Yearly real increase of the contribution in percent (default 0).
- `currentAge` (number, required): Your age now (whole years).
- `currentSavings` (number): Invested savings now.
- `desiredAnnualIncome` (number): Income you want per year in today's dollars. Adds the nest egg needed, the gap, the extra saving needed and the years to financial independence.
- `expectedReturnPct` (number): Expected nominal return before retirement, percent a year (default 7). An assumption, not market data.
- `inflationPct` (number): Expected inflation, percent a year (default 2.5).
- `lifeExpectancyAge` (number): Age the money must last to (default 95).
- `otherAnnualIncome` (number): Pension or Social Security per year in today's dollars, counted from the retirement age (default 0).
- `retirementAge` (number, required): Age you plan to stop working.
- `returnInRetirementPct` (number): Expected nominal return during retirement (default: same as before retirement).
- `withdrawalRatePct` (number): Share of the nest egg withdrawn in the first year (default 4).

### `converters_loan_interest` (~433 tokens)

Loan and interest calculator: loan payments, simple interest and compound interest with contributions in one endpoint

Input parameters:

- `annualRatePercent` (number): Annual rate in percent.
- `compareWithCompound` (boolean): Simple interest: adds the result with annual compounding for comparison.
- `compounding` (string): Loan: how interest compounds (default: on every payment).
- `contributeAtStart` (boolean): Compound interest: true adds each contribution at the start of the month instead of the end.
- `extraMonthly` (number): Plain monthly loan: extra principal each month; adds interest saved and payments saved.
- `fee` (number): Loan: upfront fee; adds the APR and money received.
- `firstPaymentDate` (string): Loan: date of the first payment, YYYY-MM-DD; adds payment dates and the payoff date.
- `frequency` (string): Compound interest: compounding frequency (default annually).
- `inflationPct` (number): Compound interest: adds the future value in today's dollars.
- `kind` (string, required): loan: payment, schedule and solving; simple-interest; compound-interest (with regular contributions and inflation).
- `loanType` (string): Loan: amortized (default), deferred or zeroCoupon.
- `monthlyContribution` (number): Compound interest: amount added every month (needs frequency monthly).
- `payment` (number): Loan: target payment per period for solveFor amount, term or rate.
- `paymentFrequency` (string): Loan: payment frequency (default monthly).
- `previewMonths` (number): Loan: number of schedule rows to return, 0 to 12.
- `principal` (number): Amount. For kind loan it is required except when solveFor is 'amount'.
- `solveFor` (string): Loan: what to solve for; amount, term and rate need 'payment'.
- `startDate` (string): Interest kinds: start date, YYYY-MM-DD; adds the maturity date.
- `yearlySummary` (boolean): Plain monthly loan: adds a year-by-year principal, interest and balance table.
- `years` (number): Term in years.

### `converters_exchange_rates` (~272 tokens)

Exchange rates: daily reference rates for about 200 currencies, crypto and metals, with ECB fallback and ECB history (reference rates, not live)

Input parameters:

- `amount` (number): Amount to convert (default 1).
- `date` (string): A past date, YYYY-MM-DD: the daily rate for that day (ECB set: the latest earlier working day if none was published).
- `endDate` (string): History: last day of the range.
- `from` (string): Currency code to convert from (default USD): ISO codes such as USD, plus crypto and metal codes in the broad set.
- `listCurrencies` (boolean): true returns the supported currency codes (with type and name) and the date of the latest rates.
- `source` (string): auto (default): the broad daily set of about 200 currencies, crypto and metals, falling back to the ECB set; broad: only the broad set; ecb: only the ECB set (about 30 currencies, and the only one wi…
- `startDate` (string): History: first day of a range of up to 366 days (send with endDate).
- `to`: Currency code, or a list of up to 20 codes, to convert to. Required unless listCurrencies is true.

### `converters_vat_validate` (~111 tokens)

EU VAT number validation: layout check per member state plus a live VIES lookup

Input parameters:

- `country` (string): Two-letter country code when vatNumber has no prefix (Greece is EL).
- `offlineOnly` (boolean): true checks only the number layout and skips the live VIES lookup.
- `vatNumber` (string, required): The EU VAT number, with or without the two-letter prefix and with spaces or dots, for example DE123456789 or 'DE 123.456.789'.

### `converters_vat_rates` (~95 tokens)

VAT and GST rates by country: standard and reduced rates with a data version and as-of date

Input parameters:

- `country`: A country name, or a list of names (for example Germany, UK, Canada - Ontario HST). Leave out for the whole table.
- `currency` (string): Only the countries that use this currency code, for example EUR.
- `region` (string): Only the countries of one region.

### `business_bank_statement_to_csv` (~217 tokens)

Bank statement to CSV

Input parameters:

- `categorize` (boolean): true adds a category to every row from a short list of generic keywords (not a merchant database). Default false.
- `categoryRules` (array): Your own rules: a row whose description contains match (any case) gets that category; the first matching rule wins, before the built-in keywords.
- `dateOrder` (string)
- `fileBase64` (string): A text-based PDF statement, base64 encoded, up to 20 MB and 100 pages. Scanned or photographed PDFs are refused with a 422: there is no OCR.
- `flipSigns` (boolean)
- `includeText` (boolean): true adds the lines read from the PDF to the response as extractedText, to see what the parser saw.
- `numberFormat` (string)
- `text` (string): The statement as pasted text. Send this, or a PDF in fileBase64 (or as the multipart field file).
- `year` (integer)

### `business_blind_cv` (~107 tokens)

Blind CV redactor

Input parameters:

- `custom` (string)
- `labels` (boolean)
- `names` (string)
- `removeAddress` (boolean)
- `removeBirth` (boolean)
- `removeEmail` (boolean)
- `removeGender` (boolean)
- `removeLinks` (boolean)
- `removePersonal` (boolean)
- `removePhone` (boolean)
- `removeYears` (boolean)
- `text` (string, required)

### `publishing_isbn` (~82 tokens)

ISBN checker and converter

Input parameters:

- `isbn` (string, required): An ISBN-10 or ISBN-13, with or without hyphens or spaces, optionally written with an ISBN prefix. Control characters, NUL and zero-width characters are rejected with 422. Text that is not shaped like…

### `publishing_spine_width` (~424 tokens)

Book spine and cover size calculator

Input parameters:

- `bleedIn` (number): Bleed in inches added on every outer edge, 0 to 1. Default 0.125 for every platform. null is treated as not sent.
- `dpi` (integer): Resolution used to give the cover size in pixels, a whole number from 72 to 1200. Default 300. null is treated as not sent.
- `pages` (integer, required): Page count, a whole number from 1 to 2000. Printed books have an even count; an odd number returns a warning.
- `platform` (string): Printer the result is labelled for. Default kdp. The spine and cover formula (pages x thicknessIn + spineAllowanceIn; width = 2 x trim width + spine + 2 x bleed) is the same for every printer: platfo…
- `spineAllowanceIn` (number): Extra width in inches added to (or, if negative, removed from) the spine, -0.5 to 0.5. Default 0. The final spine (pages x thicknessIn + spineAllowanceIn) must be above 0, otherwise the result is a 4…
- `thicknessIn` (number, required): Paper thickness in inches per page (one sheet is two pages), at least 0.0001 and at most 0.02, for example 0.002252 for KDP black and white on white paper. A value below 0.0001 is a 400.
- `trimHeightIn` (number, required): Trim height in inches, 2 to 14.
- `trimWidthIn` (number, required): Trim width of one page in inches, 2 to 14.

### `publishing_print_royalty` (~356 tokens)

Print cost and royalty calculator

Input parameters:

- `fixedCharge` (number, required): Fixed printing charge per copy, in your currency (0 to 1,000,000).
- `listPrice` (number, required): The list (cover) price per copy, 0 to 1,000,000; above that is a 400. At 0 nothing is earned, so the royalty is the printing cost as a loss.
- `method` (string, required): rate: you earn percent of the list price. wholesale: percent is the discount given to retailers and you earn the rest.
- `pages` (integer, required): Page count, 1 to 2000.
- `perPageCharge` (number, required): Printing charge per page, in the same currency (0 to 1,000,000). Printing cost per copy = fixedCharge + perPageCharge x pages and must also be at most 1,000,000.
- `percent` (number, required): The royalty rate (method rate) or the retailer discount (method wholesale), 0 to 100.
- `targetRoyalty` (number): The royalty per copy you want to earn, 0 to 1,000,000. When given, priceForTargetRoyalty is the lowest list price (to the cent) that earns it; null when the royalty share is 0.
- `upfrontCost` (number): One-off cost (editing, cover, ISBN), 0 to 1,000,000. When given, copiesToRecoverUpfront is how many copies earn it back (at least 1 when the cost is above 0); null when each copy earns nothing. targe…

### `ecommerce_etsy_listing_check` (~123 tokens)

Etsy listing checker

Input parameters:

- `tags` (string): Tags separated by commas, semicolons or new lines. Errors: more than 13 tags, a tag over 20 characters, a repeated tag, a tag starting with a hyphen or apostrophe.
- `title` (string, required): The listing title. It is trimmed first; an empty or whitespace-only title is a 400. Errors: more than 140 characters; the characters % : & used more than once each; any of $ ^ \ and the backtick. Eve…

### `publishing_kdp_description` (~131 tokens)

Book description HTML formatter

Input parameters:

- `heading` (string): Tag used for headings. Default h4.
- `html` (string): HTML to clean to the tags KDP allows; what was removed or changed is reported. Script, style, head, title and noscript elements are removed with their content; if one is never closed, everything afte…
- `text` (string): Plain text; blank lines make paragraphs. Send text or html. Missing, empty and whitespace-only input all return the same 400 "Send text or html.". html wins when both have content.

### `publishing_onix` (~492 tokens)

publishing onix

Input parameters:

- `audience` (string): ONIX audience code: 01 general/trade, 02 children/juvenile, 03 young adult, 04 primary and secondary education, 05 college/higher education, 06 professional and scholarly. Default: not stated.
- `availability` (string): ONIX product availability code from code list 65, two digits. Default 20 (available). Common: 10 not yet available, 20 available, 23 manufactured on demand, 40 not available. A code that is not in li…
- `contributors` (array, required): At least one named contributor.
- `description` (string): The main description; a warning when missing.
- `isbn` (string, required): The ISBN-13 (978 or 979, valid check digit), hyphens allowed. An ISBN-10 is rejected with the ISBN-13 to use.
- `language` (string): Three-letter ISO 639-2/B language code in lower case, for example eng, fre, ger, spa. Default eng. Checked against the ISO 639-2/B list (special codes mis, mul, und, zxx included); an unknown code su…
- `pageCount` (string): Number of pages as digits, 1 to 999999, written as text. Anything else is an error issue (422); print forms without it get a warning.
- `prices` (array)
- `productForm` (string): ONIX product form: BC paperback (default), BB hardback, EA digital download (written with form detail E101, EPUB).
- `pubDate` (string, required): Publication date as YYYY-MM-DD, YYYY-MM or YYYY, and a real calendar date. Anything else is reported as an error issue (422).
- `publisher` (string, required)
- `shortDescription` (string): Up to 350 characters.
- `subjects` (array)
- `subtitle` (string)
- `territory` (string): WORLD, or two-letter country codes separated by spaces, for example US CA GB. Default WORLD. Anything else is an error issue (422).
- `title` (string, required): The product title. Control characters (for example U+0001) are rejected with 422, not removed.

### `business_cover_letter` (~307 tokens)

Cover letter maker

Input parameters:

- `achievements` (string, required): Best results for this job, one per line
- `company` (string, required)
- `contact` (string, required): Contact lines, one per line. At least one line must be an email address, a phone number or a LinkedIn address (422 otherwise); the closing line "I can be reached at ..." uses the email and phone, nev…
- `date` (string, required): The letter date. A YYYY-MM-DD date is written out in full (November 5, 2026); other text is used as typed.
- `found` (string): Where you found the job, in a word or phrase: LinkedIn, on Indeed, a friend, your careers page. A preposition is added when it is missing.
- `includeDocx` (boolean): true also returns the letter as a Word file in result.docx (filename, contentType, base64). Default false: the result holds the text and sections only.
- `manager` (string): Hiring manager's name. Default: Hiring Manager.
- `name` (string, required)
- `role` (string, required)
- `why` (string): Why this company, as a clause that follows 'because': 'your mission to cut waste'. A leading 'because' and capital letter are fixed for you.
- `years` (string): Years of experience: 8, 8 years or 8+ years all become '8 years of experience'.

### `business_donation_receipt` (~404 tokens)

Donation receipt maker from freedailypro

Input parameters:

- `amount` (number): Cash: the total the donor paid, in US dollars. Needed for cash. For two $150 tickets send 300.
- `contributionType` (string): cash (default) states the amount; noncash describes the property and states no value, as the IRS requires.
- `date` (string, required): Date the gift was received, YYYY-MM-DD, a real date.
- `donorAddress` (string): Donor address (optional).
- `donorName` (string, required): Who gave.
- `ein` (string, required): The charity's Employer Identification Number, 9 digits (12-3456789 or 123456789). Printed on the receipt; a malformed number is a 422.
- `eventName` (string): Event or campaign, for example 'Spring Gala'.
- `exemptionType` (string): Section of the Internal Revenue Code that exempts the charity. Default 501(c)(3).
- `goodsAndServices` (array): What the donor received in return (dinner, ticket, merchandise). Leave out when nothing was given. The deductible amount is the amount paid less their value.
- `includeDocx` (boolean): true also returns the receipt as a Word file in result.docx (filename, contentType, base64).
- `intangibleReligiousBenefitsOnly` (boolean): true when the only benefit was intangible religious benefits (for a religious organization); prints that statement instead of a goods and services list.
- `organizationAddress` (string): Charity address, printed under the name.
- `organizationName` (string, required): The charity's legal name.
- `propertyDescription` (string): Non-cash: what was given. Needed for noncash. Do not put a value on it.
- `receiptNumber` (string): Your receipt number.
- `signerName` (string): Who signs for the charity.
- `signerTitle` (string): Signer's title.

### `business_offer_letter_draft` (~542 tokens)

Employment offer letter draft

Input parameters:

- `benefits` (string): Permanent roles: the benefits paragraph. A standard sentence is used when left out.
- `candidate` (string, required): Full name of the person receiving the offer.
- `company` (string, required): The employer's name.
- `companyTagline` (string)
- `contingencies` (object): Which conditions the offer depends on. Defaults: criminalCheck and workEligibility true, the others false.
- `durationNumber` (integer): Internships: how long it lasts, in durationUnit. Default 3.
- `durationUnit` (string): Default months.
- `employmentType` (string): Full-time (default), Part-time, Contract.
- `equipment` (string): Whose equipment is used. Default company.
- `includeDocx` (boolean): true also returns the letter as a Word file in result.docx (filename, contentType, base64).
- `learningPoints` (array): Internships: what the intern will gain, one item each. A standard list is used when left out.
- `managerName` (string)
- `managerTitle` (string)
- `mentorName` (string): Internships: the mentor named in the reporting section.
- `noticeDays` (integer): With termination notice: days of written notice. Default 30.
- `paidInternship` (boolean): Internships: true when a stipend is paid (then salary is the stipend). Default false: an unpaid-internship clause is written.
- `positionType` (string): Default permanent.
- `responseDeadline` (string): Last day to accept, YYYY-MM-DD, on or before startDate (422 otherwise).
- `salary`: Pay as a number or text: 92000, "$92,000", "92,000 per year", "6,000/month", "45 per hour". Must be above 0 (422 otherwise). Required, except for an unpaid internship. Words after the number set the…
- `salaryPeriod` (string): What the pay is per. Default year, or the period named in the salary text.
- `signerName` (string)
- `signerTitle` (string)
- `startDate` (string, required): First day of work as a real calendar date, YYYY-MM-DD (422 otherwise). A date in the past is allowed and returned as a warning.
- `state` (string): Governing-law state or country. The governing-law section is left out when this is not sent.
- `termination` (string): Default at-will.
- `title` (string, required): The job title.

### `business_resume_job_match` (~102 tokens)

Resume and job post keyword match

Input parameters:

- `jobPost` (string, required): The job posting as plain text (up to 100,000 characters). Paste the whole posting: the keywords come from how often it repeats words and two-word phrases.
- `maxKeywords` (integer): How many posting keywords to check, 1 to 100. Default 40.
- `resume` (string, required): The resume as plain text (up to 100,000 characters).

### `business_resume_outline` (~137 tokens)

Resume outline builder

Input parameters:

- `contact` (string): Contact lines, one per line, shown under your name.
- `education` (array)
- `experience` (array): Jobs, newest first.
- `includeDocx` (boolean): true also returns the outline as a Word file in result.docx (filename, contentType, base64).
- `name` (string, required): Your name.
- `skills` (array)
- `summary` (string): Your own summary. When left out a one-line draft is written and flagged (summaryIsDraft).
- `title` (string, required): The job title you are applying for or hold.

### `text_citation` (~781 tokens)

Citation generator

Input parameters:

- `accessDate` (string): YYYY-MM-DD. Websites: MLA prints it when sent (and, with today's date, when the page has no date); Chicago prints it only for undated pages; APA never does.
- `authors` (string): People, separated by semicolons, new lines or 'and': 'Smith, Jane; Lee, Kim' or 'Jane Smith and Kim Lee'. 'Last, First' is exact; 'First Last' takes the last word as the surname. Leave out when there…
- `bookTitle` (string): Chapters: the title of the book that holds the chapter (required for book-chapter).
- `chicagoEdition` (string): Chicago only. 17 (default): the edition the site's Citation Generator uses, publisher city included. 18: the newest edition (2024), no publisher city, up to 6 authors in a bibliography.
- `city` (string): Chicago 17th: publisher city for books and chapters. Ignored by APA and MLA, and by Chicago 18th.
- `doi` (string): A DOI (10.1037/ppm0000185) or its link. Written as an https://doi.org/ link, and used instead of a URL.
- `edition` (string): Books: 2, 2nd or 2nd ed. All become 2nd ed.
- `editors` (string): Chapters: the book's editors, written like authors.
- `groupAuthor` (string): An organization as the author, for example World Health Organization.
- `issue` (string)
- `journalName` (string): Journal articles: the journal's title (required for journal-article).
- `page` (string): The page or page range you are quoting, for the in-text citation or Chicago note.
- `pages` (string): A page range such as 45-60 (en dash, hyphen or em dash), or a single page, or an article number such as e0193972.
- `publicationDate` (string): Full date YYYY-MM-DD (websites): written as April 24, 2025 in APA, 24 Apr. 2025 in MLA, April 24, 2025 in Chicago. Replaces year.
- `publisher` (string): Books and chapters: the publisher's name only.
- `siteName` (string): Websites: the name of the site (left out in APA when it is the same as the author).
- `siteOrPublisher` (string): Older field: becomes siteName for a website, the journal name for a journal article, and the publisher otherwise.
- `sourceType` (string): What is being cited. Default: journal-article when journalName is sent, book-chapter when bookTitle is sent, website when a url is sent without a publisher, otherwise book.
- `style` (string, required): apa: APA 7th edition. mla: MLA 9th edition. chicago: Chicago notes-bibliography (see chicagoEdition).
- `title` (string, required): The title of the page, book, article or chapter, in the capitalization it should have. APA wants sentence case; MLA and Chicago want headline case. It is used as typed and advice is returned in notes.
- `url` (string): The web address. For a website it is the page; for a book, article or chapter it is used only when there is no DOI. https:// is added to a bare domain.
- `volume` (string)
- `year`: Year as 2025 or a string such as 2025 or n.d. A negative or non-year number is a 422. Left out: n.d.

### `text_paper_format` (~123 tokens)

Paper format guide

Input parameters:

- `style` (string): The style to return formatting rules for: apa (7th edition), mla (9th) or chicago (Turabian/Chicago student-paper defaults). Leave out to get all three in `guides`.
- `text` (string): Optional paper text. When sent, the response also counts words and paragraphs and looks for the reference-list heading the style expects. The text carries no fonts or margins, so layout cannot be che…

### `business_pay_stub` (~184 tokens)

Pay stub generator

Input parameters:

- `bonus` (string)
- `employee` (string, required)
- `employeeId` (string)
- `employer` (string, required)
- `employerAddress` (string)
- `fedPct` (string)
- `health` (string)
- `hours` (string)
- `medPct` (string)
- `otMultiplier` (string)
- `other` (string)
- `overtimeHours` (string)
- `payDate` (string, required)
- `payType` (string, required)
- `periodEnd` (string, required)
- `periodStart` (string, required)
- `rate` (string, required): Hourly rate, or the salary for this period
- `retire` (string)
- `ssPct` (string)
- `statePct` (string)
- `ytdGross` (string)

### `business_proposal` (~125 tokens)

Proposal builder

Input parameters:

- `client` (string, required)
- `date` (string, required)
- `deliverables` (string)
- `outOfScope` (string)
- `prices` (string, required): Price lines with the amount at the end, for example Design: $1,200
- `scope` (string, required): Scope of work, one item per line
- `summary` (string, required)
- `terms` (string)
- `timeline` (string)
- `title` (string)
- `validDays` (string)
- `you` (string, required)

### `business_rental_application` (~64 tokens)

Rental application maker

Input parameters:

- `deposit` (string)
- `fee` (string)
- `landlord` (string, required)
- `moveIn` (string)
- `pets` (string)
- `property` (string, required)
- `rent` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-freedailypro-tools/api#diagnostics

## Score history

- 2026-11-05: 72
- 2026-11-04: 72
- 2026-11-03: 71
- 2026-11-02: 71
- 2026-11-01: 71
- 2026-10-31: 72
- 2026-10-30: 71
- 2026-10-29: 70
- 2026-10-28: 68
- 2026-10-27: 67
- 2026-10-26: 67
- 2026-10-25: 66
- 2026-10-24: 66
- 2026-10-23: 66

## Common questions

### What is the FreeDailyPro Tools MCP server?

FreeDailyPro Tools is an MCP server listed in the public MCP registry as com.freedailypro/tools. 200+ MCP tools: PDF, PowerPoint, text, calculators, media, publishing. Nothing stored. This page covers its hosted endpoint (https://api.freedailypro.com/mcp).

### Is the FreeDailyPro Tools MCP server safe to use?

FreeDailyPro Tools scores 72 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the FreeDailyPro Tools MCP server expose?

FreeDailyPro Tools exposes 227 tools: word_count, case_convert, generate_slug, generate_password, generate_lorem, and 222 more. Their descriptions and schemas cost roughly 30,173 tokens of context every time the server is loaded.

### Does the FreeDailyPro Tools MCP server require authentication?

Yes. FreeDailyPro Tools asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the FreeDailyPro Tools MCP server still maintained?

FreeDailyPro Tools is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://api.freedailypro.com/mcp
- Authorisation metadata: https://api.freedailypro.com/.well-known/oauth-protected-resource/mcp
- Website: https://www.freedailypro.com/developers
- Changelog RSS feed: https://verifymcp.io/servers/com-freedailypro-tools/api.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-freedailypro-tools/api.json
- HTML version of this page: https://verifymcp.io/servers/com-freedailypro-tools/api
