Estimate & pricing

Estimate costs.
Review pricing.

You choose low, standard, or high. Estimates depend on draft length and model tier. The final charge is calculated when the run finishes, with a minimum charge per run.

Pay as you goPublic endpoints
On this page
Do not treat typical as the price.

hold_usd is what gets reserved. billing.charged_usd on the finished run is what you paid. A run that fails its checks is still charged.

POST

/v1/estimate

No API key required. Send either text or word_count, and an optional quality. The estimate uses the prose word count, excluding Markdown structure and code. The final charge depends on model work.

Estimate requestcURL
curl https://humanizeword.com/api/v1/estimate \
  -H "Content-Type: application/json" \
  -d '{"text": "Your draft.", "quality": "standard"}'
Estimate responseJSON
{
  "is_estimate": true,
  "prose_word_count": 2,
  "quality": "standard",
  "estimated_usd": { "typical": "0.050000", "high": "0.050000" },
  "hold_usd": "0.050000",
  "basis": "median and p90 of observed cost per 1,000 words"
}

typical is the middle of recent runs at that quality. high is the upper figure the hold is sized against. Both are quoted in USD.

GET

/v1/pricing

Published prices, with no authentication. Figures are USD per 1,000 prose words. min_charge_usd is the floor for a run.

Pricing responseJSON
{
  "model": "usage_based",
  "currency": "USD",
  "min_charge_usd": "0.050000",
  "tiers": [
    {
      "name": "low",
      "charge_per_1k_words_usd": "0.228",
      "high_charge_per_1k_words_usd": "0.366",
      "sample_size": 4
    }
  ],
  "tier_version": 2
}

The live response includes every tier. sample_size is how many runs that figure is based on. A small sample gives only a rough estimate, not a fixed rate. Read this endpoint rather than hard-coding the numbers above.

GET

/v1/presets

Personas, tones, and the formality range a run can use. Also public. Any option you leave unset on POST /v1/runs is sampled from these lists.

Limits

LimitDetails
Characters per runRead restrictions.max_chars_per_run on GET /v1/me. Includes spaces; the backend default is 35,000.
Word count for estimatesProse words only. Code blocks, tables, and Markdown structure are excluded from this count. Final charges are based on model work.
Create run6 requests per minute per API key.
Minimum chargePublished as min_charge_usd on GET /v1/pricing.