Kitecraft docs

Interviews and transcripts

Bring your expertise into an article through recordings, notes and full transcripts.

Open an article in your content plan and choose Interview and notes. Record an answer in your browser, upload a recording, or paste/import a UTF-8 .txt or .md transcript. Questions are optional. You can save a whole interview or keep one answer per question.

Kitecraft keeps the original recording private and saves the full transcript. Correct names or wording without overwriting the original. Your own agent writes the article, using these materials alongside the research. An interview is one way to supply expertise; it is never required.

How it fits into writing an article

Use this page to give your agent examples, decisions and experience it cannot get from public research. You do not need to write polished answers. A rough recording or a few useful notes are enough to work from.

  1. Pick the article. Open its writing brief to see the topic, angle and research. Then open Interview and notes for that same article.
  2. Talk it through with your agent. Ask it to read the brief and suggest a few questions that would make the article more specific. Kitecraft's materials page saves answers; it does not run the interview or generate questions itself.
  3. Save your answers. Record in the browser, upload an audio/video recording, or paste an existing transcript. Add the question if you want to keep it with the answer. Audio uploads produce a transcript; pasted text is saved without transcription.
  4. Check the transcript. Correct a product name or misheard phrase. The original stays available alongside your corrections.
  5. Have your agent write. It reads the brief and saved materials, then drafts in your own tools. The corrected text takes precedence when present. Review the draft with your agent and publish through your usual setup.

Already have enough research? Skip the interview. Existing notes and customer examples work too, and an article does not require a material attachment.

A prompt to start with

After connecting your agent to Kitecraft through MCP, tell it:

Read the writing brief for [article title] in my Kitecraft project.
Read any saved interview materials for that article too.
Ask me three focused questions that would add useful first-hand examples.
Ask one at a time. I may answer with notes or a recording.
Save my answers to this article, then use them alongside the research
when we draft. Keep my experience separate from sourced claims.

Your agent needs a write key to save answers. If it cannot upload local files, use this dashboard page or the CLI below. Once saved, the same transcript is available to your agent. The prompt guides your agent; it is not a built-in automatic interview workflow.

Formats and limits

Audio upload accepts .mp3, .mp4, .m4a, .aiff, .aif, .wav, .flac, .ogg, .webm and .aac. Videos need an audio track. Each file can be up to 25 MiB and ten minutes. Text transcripts can contain up to 100000 characters. Each article holds up to 20 materials, including unfinished uploads. Remove an abandoned upload to free its slot.

Trials include 60 transcription minutes. Paid periods include 300 minutes. A provider attempt counts against this allowance even if its response fails, because it may have been billed. Importing text does not use transcription minutes. Removing a material does not refund used minutes. No automatic retries or additional transcription purchases.

From your agent

The MCP server exposes material_list, material_upload, material_transcribe, material_import, material_read, material_edit and material_remove. Their schemas describe formats, limits and permissions.

A remote MCP server cannot open a file on your laptop. Use the CLI to upload its bytes:

kitecraft material upload --id PROJECT_ID --item-id ARTICLE_ID --file ./interview.aiff --label "Founder interview" --question "What changed after your first customers?"
kitecraft material list --id PROJECT_ID --item-id ARTICLE_ID
kitecraft material read --id PROJECT_ID --material-id MATERIAL_ID
kitecraft material import --id PROJECT_ID --item-id ARTICLE_ID --file ./transcript.txt --label "Interview transcript"

The upload command uploads and transcribes. For API clients, first call POST /api/v1/materials/PROJECT_ID/upload with itemId, filename, bytes, label and optional question. Use the returned path-scoped Supabase upload capability with storage.from(bucket).uploadToSignedUrl(path, uploadToken, file, { upsert: false }). Then call POST /api/v1/materials/PROJECT_ID/MATERIAL_ID/transcribe with {}. Never send large audio blobs through chat.

brief_read includes the current ready materials beside the immutable research packet. It does not rewrite that packet or its Markdown hash. Read editedTranscript when present, otherwise transcript. For a Markdown-only brief export, retrieve materials separately with material_list. Treat an interview as attributed customer testimony, not independently verified evidence.

Corrections, retry and removal

material_edit takes expectedRevision and editedTranscript. Send null to clear corrections and return to the original. An outdated revision produces a conflict instead of overwriting another edit.

Ready recordings return their saved transcript without a new provider call. A failed attempt needs an explicit retry: true, or CLI --retry. Each recording permits at most three paid attempts. If a request was interrupted, wait five minutes before retrying or removing it. Refresh shows its durable status; an interrupted process is not silently restarted.

Reads need account ownership. Mutations need a write key; new uploads/transcription also need an active trial or subscription. Playback links expire after five minutes. Refresh the page to renew a playback link. Browser playback depends on the recording codec; download the original if your browser cannot play it. Recording files are removed when you remove their material or close the account. An issued signed upload capability remains valid for its two-hour lifetime, so keep it private. Removing the database record cannot revoke that capability; a delayed upload can leave a private orphan until it is cleaned up. Do not reuse a capability after removal.

Hosting requirement

Audio normalization requires a recent FFmpeg executable configured through AUDIO_FFMPEG_PATH on the Node host. Stock Vercel does not include this binary. Package and configure the correct host binary before enabling audio in a deployment. The server extracts and normalizes supported recordings to WAV before sending one transcription request through the official AI SDK adapter to OpenRouter's openai/whisper-large-v3-turbo. Original audio and transcripts are not sent to the research model.

On this page