An estimate, then a charge.
You choose low, standard, or high. The estimate depends on length and quality. The amount you pay is settled when the run finishes, with a minimum per run.
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.
/v1/estimate
No API key required. Send either text or word_count, and an optional quality. Prose words are counted the same way a run will bill them: Markdown structure and code are left out.
curl https://humanizeword.com/api/v1/estimate \
-H "Content-Type: application/json" \
-d '{"text": "Your draft.", "quality": "standard"}'
{
"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.
/v1/pricing
Published prices, with no authentication. Figures are USD per 1,000 prose words. min_charge_usd is the floor for a run.
{
"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 is an order of magnitude, not a fixed rate. Read this endpoint rather than hard-coding the numbers above.
/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
| Characters per run | 5,000, including spaces. Returned on GET /v1/me as restrictions.max_chars_per_run. |
| What is billed | Prose words. Code blocks, tables, and Markdown structure are kept and are not counted. |
| Create run | 6 requests per minute per API key. |
| Minimum charge | Published as min_charge_usd on GET /v1/pricing. |