Skip to main content

// INTEGRATIONS

Your voice. Every tool.

ContentDNA's Voice DNA API is live. Plug it into the tools you already use — Typefully, Beehiiv, Ghost, Zapier. One profile encodes your voice. Every draft it generates sounds like you actually wrote it.

GET/api/v1/profile

Returns your full voice DNA as structured JSON

?format=prompt → returns plain text system prompt for LLM injection

POST/api/v1/analyze

Analyze text → returns DNA fingerprint (no auth required)

Rate limited: 10 req/day free, unlimited on Pro/API plans

POST/api/v1/generate

Generate content in voice (topic + DNA → variations)

Supports: tweet · thread · linkedin · newsletter · email

T/

Typefully

X / TwitterLIVE

Draft X threads in your voice — not generic AI tone

Typefully is the go-to scheduler for X creators. Pair it with ContentDNA's /api/v1/generate endpoint to draft tweets and threads that actually sound like you. Pass your saved DNA profile + topic → get platform-native content with your hooks, rhythm, and power words intact.

// USE CASE

You're scheduling 5 tweets today. Instead of prompting ChatGPT and manually editing the tone, hit the ContentDNA API. Every draft already has your short-sentence rhythm, your "absolutist opener" hook, your vocabulary register. Post faster. Post consistently.

Endpoint: POST /api/v1/generate

// INTEGRATION CODE

// Typefully custom action / webhook
const res = await fetch('https://contentdna.co/api/v1/generate', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': process.env.CONTENTDNA_API_KEY,
  },
  body: JSON.stringify({
    text: 'Why most founders burn out before product-market fit',
    dnaProfile: savedDNAProfile,   // from /api/v1/profile
    platform: 'tweet',
    count: 3,
  }),
})

const { variations, voiceMatchPct } = await res.json()
// → 3 tweet drafts, all >90% voice match score
B/

Beehiiv

NewsletterLIVE

Newsletters that read like you wrote every word

Beehiiv powers thousands of creator newsletters. ContentDNA's Cross-Platform Adapter endpoint transforms a single topic into a newsletter-format draft — intro, body, and CTA — calibrated to your vocabulary register, sentence length, and emotional mix. No generic "AI newsletter" vibes.

// USE CASE

Your Tuesday issue is due in 2 hours. You have 3 ideas but nothing written. Hit ContentDNA with platform: "newsletter" — get a structured draft that opens with your signature hook style, uses your tone, and closes the way you always close. Edit 20% instead of writing 100%.

Endpoint: POST /api/v1/generate

// INTEGRATION CODE

// Beehiiv + ContentDNA newsletter draft
const profile = await fetch('https://contentdna.co/api/v1/profile', {
  headers: { 'X-API-Key': process.env.CONTENTDNA_API_KEY }
}).then(r => r.json())

const draft = await fetch('https://contentdna.co/api/v1/generate', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': process.env.CONTENTDNA_API_KEY,
  },
  body: JSON.stringify({
    text: 'The quiet compounding of showing up every week',
    dnaProfile: profile.voiceFingerprint,
    platform: 'newsletter',
    count: 1,
  }),
}).then(r => r.json())

// Paste draft.variations[0] into Beehiiv editor
// Voice match: draft.voiceMatchPct → typically 85-95%
G/

Ghost

BlogLIVE

Long-form that never loses your voice at paragraph 4

Ghost is the publishing platform for serious creators. ContentDNA keeps your voice consistent across blog posts — your intro hooks, your rhythm when explaining something, your word choices when making a point. The DNA profile endpoint gives Ghost custom scripts a system prompt fragment to inject into any LLM call.

// USE CASE

You're writing a 1,200-word deep dive. The first 300 words are yours. The rest starts to sound generic. Use the /api/v1/profile?format=prompt endpoint to get your voice as an LLM system prompt, inject it into any Claude/GPT call, and every paragraph stays calibrated to your signal.

Endpoint: GET /api/v1/profile?format=prompt

// INTEGRATION CODE

// Ghost custom integration — voice-locked LLM calls
// Step 1: Get your voice as a system prompt
const voicePrompt = await fetch(
  'https://contentdna.co/api/v1/profile?format=prompt',
  { headers: { 'X-API-Key': process.env.CONTENTDNA_API_KEY } }
).then(r => r.text())

// Step 2: Use it as system context in any LLM call
const claudeRes = await anthropic.messages.create({
  model: 'claude-haiku-4-5',
  system: voicePrompt,   // ← your DNA injected here
  messages: [{
    role: 'user',
    content: 'Continue this section: "The compounding effect is invisible..."'
  }],
  max_tokens: 800,
})

// Every paragraph: your rhythm, your vocabulary, your voice
Z/

Zapier / Make

WorkflowLIVE

No-code voice consistency — wire ContentDNA into any workflow

Don't write code? Zapier and Make both support HTTP actions. Set up a webhook that calls ContentDNA's API on a trigger — new Notion idea, Airtable row, or even a daily cron — and pipe the voice-matched output wherever you need it.

// USE CASE

New row in your Airtable content calendar → Zapier calls ContentDNA → voice-matched draft lands in your Notion drafts page. Zero code. Full voice consistency across your entire content operation.

Endpoint: POST /api/v1/generate

// INTEGRATION CODE

// Zapier: HTTP Action setup
// URL:     https://contentdna.co/api/v1/generate
// Method:  POST
// Headers: X-API-Key: your-api-key
//          Content-Type: application/json
// Body:
{
  "text": "{{topic_from_airtable}}",
  "dnaProfile": {{your_saved_dna_object}},
  "platform": "tweet",
  "count": 3
}

// Map output:
// variations[0] → Notion / Google Docs / Slack
// voiceMatchPct → filter: only send if > 80

// READY TO INTEGRATE?

Your voice profile is one analysis away.

Analyze your writing → save your DNA profile → get an API key. Every integration above works immediately. API plan unlocks unlimited generations.

Using a different tool? Tell us on X →