Developer guide

Your workflow.
Our editor.

Bring multilingual rewriting and the same AI review process into your application.

Existing accounts only. Public registration is paused.

GET capabilities

POST rewrite + approved quote

GET operation → reviewed result

Availability & authentication

GET/api/v1/humanizer/capabilities

Returns availability, maxCharacters, charactersPerUnit and creditsPerUnit. Availability indicates server configuration, not a live inference health check.

Sign in with POST /api/v1/auth/login using email and password. Send the returned accessToken as a Bearer token. Keep credentials on your server.

Submit an approved rewrite

POST/api/v1/humanizer/rewrites

Requires Authorization and an Idempotency-Key header: 8–100 letters, digits, hyphens or underscores. Use a new UUID for each intentional rewrite; reuse it for retries of the exact same request.

Authorization: Bearer <accessToken>
Idempotency-Key: <unique-request-uuid>
Content-Type: application/json

{
  "text": "Your original draft.",
  "instructions": "An email to my team. Clear and friendly.",
  "voiceSample": "",
  "acceptedCredits": 2
}

Calculate the quote

2 * Math.ceil(Array.from(text).length / 1000)

Maximum 6,000 Unicode code points. Instructions: 600 UTF-16 units; voice sample: 1,200. The server recalculates the quote. Client-controlled models, endpoints and prompts are not accepted.

Retrieve the result

GET/api/v1/operations/:id

The rewrite response contains an operation ID. Poll every 2 seconds until COMPLETED, FAILED or CANCELLED. A cold worker can take several minutes. The result.data JSON contains text, language, context, changes, warnings and the AI review.

Download using GET /api/v1/operations/:id/download. Both endpoints enforce account ownership.

Retry safely

Final failures refund credits. An old key returns the same job, even after failure. Retry ambiguous network errors with the original key. Use a new key only for an intentional new attempt; do not automatically loop over failed rewrites.

Error reference

400
Invalid input or changed quote
401
Expired or missing session
402
Insufficient credits
403
Registration is closed
409
Idempotency conflict
429
Rate limit reached
503
Editing unavailable

Polling failures do not imply the rewrite failed. Check history before creating another job. Previous file API endpoints remain available; text editing has its own endpoint and pricing.