Feature

Developer API

REST endpoints. API keys. Upload, poll, download. Integrate Inksong humanization into editorial workflows, school portals, agency stacks.

The dashboard is built for individual writers working a document at a time. The API is built for the systems that need to humanize at scale — editorial CMSs with hundreds of drafts a week, school portals running submissions through a normalization step, agencies wiring humanization into their client pipelines.

The surface area is intentionally small. Three endpoints, one header, JSON responses. There's no SDK to install — any HTTP client in any language speaks the protocol.

How it works

What's happening under the hood

POST /api/v1/documents/upload accepts a multipart form with file, tone, domain, and humanness_level. It returns a JSON body containing a job_id. The upload endpoint is the only one that takes a file; the other two work entirely in JSON.

GET /api/v1/documents/{job_id} returns the current job state. The status field cycles through pending, processing, completed, and failed. When the job is complete the response also includes the AI-detection scores and document metadata. Poll this endpoint at a sensible interval — we recommend 2 seconds, which is what our own dashboard uses.

GET /api/v1/documents/{job_id}/downloadreturns the formatted binary — DOCX for DOCX or PDF inputs, the original format for TXT or Markdown. The endpoint is only valid once the job status is completed.

Authentication is via an X-API-Key header. Keys are prefixed ink_ for ergonomic identification in logs. For short-lived integrations (OAuth-style flows, signed-link delivery) we also accept a Bearer token. Rate limits are 20 uploads per hour per user and 60 reads per minute; the authentication endpoints have a stricter limit of 10 per minute per IP. Errors come back as JSON with a detail field describing the failure and an appropriate HTTP status code.

# Upload
curl -X POST https://api.inksong.app/api/v1/documents/upload \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@my-draft.docx" \
  -F "tone=balanced" \
  -F "humanness_level=50"

# Poll
curl https://api.inksong.app/api/v1/documents/abc123 \
  -H "X-API-Key: YOUR_API_KEY"

# Download
curl -L -o humanized.docx \
  https://api.inksong.app/api/v1/documents/abc123/download \
  -H "X-API-Key: YOUR_API_KEY"

Benefits

Why this matters

Editorial CMS integration

Drop humanization into an existing publishing workflow. Drafts come in, get scored, get rewritten, get pushed to review — without anyone leaving the CMS.

Automated pipelines

Run humanization as a step in a larger system. Batch jobs, scheduled processing, webhook-driven flows — three endpoints are enough to wire it all together.

SDK-free

No client library to install or pin. curl, fetch, requests, Guzzle, Axios — anything that speaks HTTP speaks Inksong.

Related features

Start humanizing today

5 documents free a month, no card needed. Three minutes to your first humanized doc.

  • 5 documents/month on the free tier
  • No credit card required
  • Cancel or upgrade anytime