A Whizz Tech product · Whizz Scribe

Your competitors publish every day. You publish when there's time.

Whizz Scribe is an AI content writer that researches your topic, writes in your brand's voice, and publishes straight to your site — on its own.

I'm a developer — open the tool

3 minutes

from idea to a published, cited article — not 3 weeks

From $29/mo

less than a single agency blog post

Real sources

researches live and cites what it claims — no made-up facts

A Whizz Tech product · API-first content engine

Articles your
company would
actually publish.

Scribe researches live sources and cites them, writes in your brand voice from your own knowledge base, and publishes straight to WordPress, Sanity, or Contentful. One POST request in — one sourced, edited, scored article out.

30 trial credits · 3 standard articles · wz_test_keys included

scribe.whizztech.ai
bash

Scripted replay of a real generation · 94s, condensed

Scroll
1,847-word article · 14 citations · 94s$0.31 model compute per standard article23 facts researched · 11 sources · 0 inventedquality 87/100 — review gate at 8019 AI-tell phrases banned by default3 title variants for A/B on every article202 → webhook → publishedflesch 62 · 8 min read · FAQPage schema1,847-word article · 14 citations · 94s$0.31 model compute per standard article23 facts researched · 11 sources · 0 inventedquality 87/100 — review gate at 8019 AI-tell phrases banned by default3 title variants for A/B on every article202 → webhook → publishedflesch 62 · 8 min read · FAQPage schema
02The Engine

Seven stages. Zero black box.

Every job streams its stage telemetry over the API — GET /v1/jobs/:id shows what the engine is doing and what it found.

  1. 01 · recon

    SERP recon — finding the information gap

    Before writing a word, the engine searches what already ranks and looks for what's missing. The article is planned to add something — not to be the eleventh copy of the first result.

    serp_gap_notes.md

    # top 10 for "last mile delivery cost"

    7 listicles · 2 vendor pitches · 1 stale (2023 data)

    # angles they all repeat

    route optimization · EV fleets · dark stores

    # unanswered

    actual cost-per-drop math · GCC benchmarks · failed-delivery tax

    → angle: unit-economics teardown with operator numbers

  2. 02 · plan

    Planning outline & research questions

    A senior-editor pass: working title, differentiating angle, 4–7 H2 sections each with a goal, and research questions that target facts and numbers — not vague background.

    plan.json

    "outline": [

    01 What cost per drop actually includes

    02 The GCC benchmark table

    03 Failed deliveries: the 12% tax

    04 Density beats speed

    05 What to instrument first

    ]

    "research_questions": 5 — each must return facts, not takes

  3. 03 · research

    Researching (web + knowledge base)

    Every question runs in parallel: live web search plus hybrid retrieval from your indexed knowledge base. The rule is absolute — if a fact can't be verified, it's left out, never invented.

    findings — 5 questions in parallel

    Q1 avg cost per drop, GCC urban 6 facts · lpi.worldbank.org, statista.com

    Q2 failed first-attempt rates 4 facts · sceb.gov.sa, mckinsey.com

    Q3 drop density vs route length 5 facts · nber.org, ieee.org

    23 facts · 11 sources · + 4 chunks from your knowledge base

    0 invented — unverifiable claims dropped

  4. 04 · draft

    Writing the draft

    Grounded writing to the outline, in your voice profile. External claims keep their source links inline; knowledge-base facts are stated plainly — the engine never fabricates a URL.

    draft.md — 1,912 words

    # Cost per Drop: The Last-Mile Math 3PLs Skip

    Cost per drop is the only last-mile number that survives contact with a CFO. Across the GCC it runs $2.10–$3.40 per parcel in dense urban zones [World Bank LPI 2025].

    outline followed 5/5 · claims linked 23/23 · voice profile applied

  5. 05 · edit

    Editorial pass — voice & rhythm

    A ruthless line edit against 19 default AI-tell phrases plus your brand's banned list. Sentence lengths are forced apart, hedging is cut, and the piece tightens by about 10%.

    edit_log

    delve seamless game-changer in today's fast-paced world — 0 occurrences remain

    sentence-length variance ↑ 2.4×

    1,912 → 1,847 words (-3.4%)

    banned list: 19 defaults + 6 from voice profile

  6. 06 · seo

    SEO finishing — meta, links, schema

    Meta title and description, slug, FAQ pairs, BlogPosting + FAQPage JSON-LD — and three A/B title variants with different psychological hooks, generated on every article.

    seo.json

    "meta_title":"Cost per Drop: Last-Mile Math for GCC 3PLs"

    "slug":"cost-per-drop-last-mile-gcc"

    "title_variants": [

    "$2.10 vs $3.40: Where Your Cost per Drop Lands"

    "How to Cut Cost per Drop Without Buying Vans"

    "Speed Is the Wrong Last-Mile Metric"

    ]

    FAQPage schema · 4 Q&A pairs

  7. 07 · score

    Quality scoring

    A strict rubric scores the finished piece. 80+ means publishable without edits — anything under that is flagged in your review queue. Publishing stays a human decision.

    quality_breakdown
    clarity91
    hook84
    specificity88
    information gain86

    overall 87/100 · gate at 80 · lands in review, not on your site

03Knowledge base

It reads your
company first.

Point Scribe at your site, docs, and past posts. It crawls, chunks, and indexes everything into a per-brand knowledge base, then distills two working artifacts: a fact sheet — what your company actually does, with numbers — and a voice profile — how you sound, down to punctuation habits.

Every article retrieves against that base with hybrid search, so the writing carries your examples, your terminology, your positions. Not generic filler with your logo on it.

  • Websites, single URLs, pasted text, writing samples
  • Voice profile: tone, sentence mechanics, always/never words
  • KB facts cited plainly — invented links are a hard error
https://falak.examplewebsite source

47 pages crawled → 312 chunks → contextualized · embedded · indexed

voice_profile.mdready

## Tone

direct — numbers before adjectives

dry — jokes live in asides, never in headers

operator-first — assumes the reader runs a fleet

## Vocabulary

ALWAYS"cost per drop" · "first-attempt rate"

NEVER solutions · cutting-edge · seamless

## Rules for a writer

1. Open with the number, not the trend.

2. One claim per sentence. Cut the second clause.

… 6 more

sample rewrite

before  "Leverage our cutting-edge platform to optimize deliveries."

after   "Route 400 drops with two dispatchers."

04The API

A 202, a webhook, a finished article.

That's the whole integration. Generation is honest about being async: create returns immediately with a job id, stages stream as they run, and the result arrives by webhook — or by polling, if that's more your style.

  • Idempotency keys

    Retry a create without double-charging — same key returns the original job.

  • Standard Webhooks

    Every delivery signed with webhook-id / -timestamp / -signature headers. Verify with any standard library.

  • Refunds on failure

    A failed job refunds its credits automatically. You pay for articles, not attempts.

  • One GET, everything

    Markdown, HTML, citations, title variants, FAQ, JSON-LD, quality breakdown — one article object.

# Create an article — returns 202 + a job id
curl -X POST https://scribe.whizztech.ai/v1/articles \
-H "Authorization: Bearer $SCRIBE_KEY" \
-H "Idempotency-Key: blog-2026-07-cost-per-drop" \
-H "Content-Type: application/json" \
-d '{
"topic": "Cost per drop: the last-mile number nobody tracks",
"target_keyword": "last mile delivery cost",
"mode": "deep_research",
"brand_profile_id": "1efc0d7a-3b52-4c8e-9f14-8a2d6e470b19",
"image": true,
"derivatives": ["x_thread", "newsletter"]
}'
 
# HTTP/2 202
# {
# "id": "8f41d0c2-77b5-4e19-a4d3-0b92c6a51f7e",
# "object": "job",
# "status": "queued",
# "credits_charged": 31,
# "links": { "self": "/v1/jobs/8f41d0c2-…" }
# }
 
# Poll — or skip polling entirely with a webhook
curl https://scribe.whizztech.ai/v1/jobs/8f41d0c2-… \
-H "Authorization: Bearer $SCRIBE_KEY"
 
# { "status": "succeeded", "result": { "article_id": "c3a94e17-…",
# "word_count": 1847, "quality_score": 87, "citations": 14 } }
05Publish

Generated is half
the job.

One click in the dashboard — or one POST from your pipeline — sends the finished article to your CMS, as a draft or live. The response hands back the external URL.

01WordPress
REST API · application passwords · draft or publish
02Sanity
portable text conversion · dataset + token
03Contentful
CMA entries · environment aware
POST /v1/articles/:id/publish
{ "integration_id": "wp-main", "as_draft": true }

→ { "status": "published",
    "external_url": "https://blog.falak.example/cost-per-drop" }

From one generation

Articlemarkdown + HTML + JSON-LD, citations inline
3 title variantsnumber-hook · how-to · contrarian — for A/B
X thread6–9 posts, concrete-number hook, one idea each
LinkedIn post150–250 words, native structure
Newsletter3 subject lines ≤45 chars, preview, 250–400-word body
Hero imageeditorial prompt, no text-in-image, no AI-art clichés

Derivatives bundle: +3 credits · hero image: +3

06Pricing

Priced per article,
not per seat.

Credits are the only unit: a standard article is 10, deep research is 25. Posted prices, no word-count meters.

Starter

$29 /mo

150 credits · ≈15 standard articles

1 brand · 1 seat

≈ $1.93 per article

Growth

Most teams land here

$79 /mo

500 credits · ≈50 standard articles

3 brands · 3 seats

≈ $1.58 per article

Scale

$199 /mo

1500 credits · ≈150 standard articles

10 brands · 10 seats

≈ $1.33 per article

API top-ups from $0.90 per standard article at volume — $1.58 on Growth. Byword charges $2.50. Surfer charges $29.

Full pricing + calculator
07Start

Publish the blog you keep postponing.

30 credits free — 3 standard articles, no card. The first one lands in your review queue about two minutes after the POST.

Keep Moving Forward.
Egypt · UAE · KSA