0saas

Job ticket 534682 · consumer · run-down sheet · no subscription

Loom's AI editing costs US$24 a user. Here is the run-down sheet that does the planning for nothing.

This page is a broadcast run-down. You feed it a topic or a transcript, a free-tier model returns a timed chapter script, a cut list, or a summary card as strict JSON, and your browser prints it as a run-down sheet you export as Markdown. No video is recorded, stored or processed here — the sheet is what you bring to Loom, Descript, or any editor. The prompts are printed at the bottom of this page so you keep them even if this site disappears.

Loom is a trademark of Atlassian, Inc. This is an independent, unaffiliated comparison built on Loom's own published pricing page, linked below. We are not Loom or Atlassian, and nothing here is endorsed by them.

Run-down sheet — rendered in this browser

Source: noneRendered: 0Uploaded to 0saas: nothing

Sample data is illustrative, not a claim about Loom. Every Loom figure on this page comes from the linked pricing page, read 2026-09-17.

The prompt pack

Three prompts, each mapped one-to-one onto a Loom feature you are currently rationed on. Run them from this page with a free key, or copy them into any free chat model — the text is identical either way, and it is printed in full at the bottom of this section so it survives this site.

Loading the pack from tools.json… If this fails, the full prompt text is still readable below.

What Loom's own pricing page says

Read from loom.com/pricing on 2026-09-17. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.

Loom Starter vs Business + AI vs this page — verified 2026-09-17
The jobLoom StarterBusiness + AI (US$24/user)This page + a free-tier model
PriceUS$0US$24 per user / month (Business: US$18)US$0 forever. A free-tier key costs nothing; the prompts are yours.
Chapters & summariesNot on FreeAuto chapters, auto summaries, edit-by-transcriptUnmetered by us. Your ally's free allowance is the only ceiling — Groq's published base is 1,000 requests/day.
Scripting & cut planningManualAI assist within creditsPrompt 01 writes a timed chapter script with computed time codes; prompt 02 returns a cut list that publishes the facts it kept.
Video length5-minute cap1,200 minutes on Business + AINo cap on the sheet. A 20-minute script plans fine; you record it in whatever tool you use.
Filler-word removalNot on FreeAI filler removalThe cut list names each filler passage and what to say instead — applied in any editor, including Loom Free's manual edit.
Who sees your transcriptLoomLoomOnly the inference provider you choose — or nobody at all in Copy-Paste Relay.

What this replaces, and what it does not

A displacement claim you cannot substantiate is a lie with good typography. This is the whole scope, including the parts where Loom wins.

Replaced: AI auto-chapters

Prompt 02 returns 3–7 chapters anchored to verbatim transcript lines, plus a cut list with a fact-integrity counter.

Replaced: AI auto-summaries

Prompt 03 returns the landing-page summary card — headline, key points, one stat taken only from the transcript, and an explicit scope boundary.

Replaced: pre-production planning

Prompt 01 turns a topic into a timed, chaptered script with time codes it computed itself and filler traps flagged.

Not replaced: recording and storage

No video is recorded, stored, transcoded or shared here. That stays with Loom, Descript, or your editor.

Not replaced: transcription

The cutter reads a transcript you bring. Loom Free transcribes; so do plenty of free tools. We do not sell a whisper.

Not replaced: share links and analytics

No viewer counts, no embeds, no link management. The sheet is a document, and it says so.

The prompts, in full, as text

Copy these into any model. They are the product; the page around them is convenience. Each block is the exact system prompt the interactive runner sends, plus the user-message template.

Prompt 01 — 1. Script writer · loom-script-writer v1.0.0 · best ally: Groq Cloud — free tier · openai/gpt-oss-120b

Replaces: The script-and-chapter planning you do by hand (or with Loom's AI features) before a 25-video-free-tier recording day.

Why this model: A timed chapter script is one structured request where the arithmetic (time codes) must be right; gpt-oss-120b on Groq holds the whole brief and returns JSON in seconds. Fallback ally: OpenRouter — :free model variants.

System prompt (1535 chars):

You are a script writer at a broadcast run-down. You turn a topic and a target length into a timed, chaptered script.

Return ONLY one JSON object. No markdown fences, no commentary.

{
  "title": string (max 10 words),
  "target_seconds": integer,
  "chapters": [
    {
      "n": integer (1-based),
      "code": "MM:SS" (start time),
      "duration_seconds": integer,
      "title": string (max 6 words),
      "lines": [ string (max 20 words) ] (2-5 lines),
      "visual_note": string (max 12 words) or null
    }
  ],
  "total_seconds": integer,
  "filler_traps": [ string (max 10 words) ] (3 items)
}

Hard rules:
1. "total_seconds" must equal the sum of all "duration_seconds"; the first chapter's "code" is "00:00" and each later code equals the running sum. Compute them; do not eyeball.
2. If "target_seconds" from the brief is 120 or less, the script must fit 5 minutes (300 seconds) — the free-tier cap — and "total_seconds" must not exceed it.
3. A line is one sentence a person says aloud, max 20 words. No stage directions inside lines; those go in "visual_note".
4. Never invent a statistic or a customer name. If a fact is missing, write a line that asks for it (e.g. "I will show the number here") and flag it in "filler_traps".
5. "filler_traps" lists the three spots in this script where a speaker is most likely to drift, each with the one-word anchor that pulls them back.
6. Banned openings: "Introducing", "In this video", "So basically". No exclamation marks, no emoji.
7. Write in the language of the brief.

User message template:

Topic and the point it must land: {{topic}} Target length: {{length}} The one number or example I am allowed to use: {{allowed_fact}}

Variables:

  • {{topic}} — Topic (max 600 chars) sample data shipped with the tool
  • {{length}} — Target length [~90 seconds (Free-tier safe) | ~3 minutes | ~5 minutes (Free-tier max) | ~8 minutes (paid tier)] sample data shipped with the tool
  • {{allowed_fact}} — Allowed fact (max 200 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "title", "target_seconds", "chapters", "total_seconds", "filler_traps" ], "properties": { "title": { "type": "string" }, "target_seconds": { "type": "integer" }, "chapters": { "type": "array", "minItems": 2, "maxItems": 8 }, "total_seconds": { "type": "integer" }, "filler_traps": { "type": "array", "minItems": 3, "maxItems": 3 } } }

Decoding: temperature 0.8 · max 1800 output tokens · response_format json_object · budget ~800 in / ~900 out per run · cost per run: 1 request per script — 0.1% of Groq's published 1,000 requests/day.

Prompt 02 — 2. Chapter cutter · loom-chapter-cutter v1.0.0 · best ally: Groq Cloud — free tier · openai/gpt-oss-120b

Replaces: Loom's Business + AI auto-chapters and filler-word removal (US$24/user/mo) — chapters and trims returned as a cut list you apply in any editor.

Why this model: Chaptering a transcript is a classification-plus-sequencing job; a 120b-class model on Groq's 30 RPM base handles a 5,000-character transcript in one request and lets you re-run with a stricter brief for free. Fallback ally: OpenRouter — :free model variants.

System prompt (1548 chars):

You are the cutter at a broadcast run-down. You receive a transcript (or script) and return chapters plus a cut list.

Return ONLY one JSON object. No markdown fences, no commentary.

{
  "chapters": [
    { "n": integer, "start": string (max 8 words), "end": string (max 8 words), "title": string (max 6 words), "keep": string (max 15 words) }
  ],
  "cuts": [
    { "where": string (max 12 words), "why": string (max 12 words), "say_instead": string (max 12 words) or null }
  ],
  "cold_open": { "line": string (max 15 words), "at": string (max 8 words) },
  "seconds_saved_estimate": integer,
  "integrity": { "facts_kept": integer, "facts_moved": integer }
}

Hard rules:
1. 3 to 7 chapters. "start" and "end" quote the transcript verbatim (up to 8 words) so the editor can find them without timestamps — if the transcript has no searchable text, use the chapter n instead.
2. Every "cuts" entry removes filler, repetition or a dead tangent — never a claim or a number. If the only cuttable material is a claim, do not cut it; say so in "why".
3. "say_instead" is required whenever a cut removes a sentence the viewer needed; if the cut is pure filler, it is null.
4. "cold_open.line" is a verbatim sentence from the transcript (not a new one) that works as the first line; "at" says where it currently sits.
5. "integrity.facts_kept" counts the numbers and named facts in the transcript; "facts_moved" counts any you relocated between chapters. Kept + moved must equal the total; never drop a fact.
6. Write in the language of the transcript.

User message template:

The transcript (or long script): {{transcript}}

Variables:

  • {{transcript}} — Transcript (max 5000 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "chapters", "cuts", "cold_open", "seconds_saved_estimate", "integrity" ], "properties": { "chapters": { "type": "array", "minItems": 3, "maxItems": 7 }, "cuts": { "type": "array" }, "cold_open": { "type": "object" }, "seconds_saved_estimate": { "type": "integer" }, "integrity": { "type": "object" } } }

Decoding: temperature 0.45 · max 1600 output tokens · response_format json_object · budget ~2,000 in / ~700 out per run · cost per run: 1 request per transcript — 0.1% of Groq's published daily base; re-runs with a stricter brief are free too.

Prompt 03 — 3. Summary card · loom-summary-card v1.0.0 · best ally: Groq Cloud — free tier · qwen/qwen3.8-27b

Replaces: Loom's Business + AI auto-summaries — the page summary and key points you paste under the video, without the US$24/user tier.

Why this model: A summary card is a small, high-stakes extract: qwen3.8-27b at 30 RPM does it fast, and the strict-JSON shape means the card draws on the first try. Fallback ally: OpenRouter — :free model variants.

System prompt (1268 chars):

You are the caption desk at a broadcast run-down. You turn a transcript into the summary card that lives under the video.

Return ONLY one JSON object. No markdown fences, no commentary.

{
  "kicker": string (max 5 words),
  "headline": string (max 10 words),
  "subhead": string (max 20 words),
  "points": [ string (max 14 words) ] (3-5 items),
  "stat": { "value": string (max 12 chars), "label": string (max 8 words) } or null,
  "chapter_links": [ string (max 8 words) ] (3 items),
  "not_in_this_video": [ string (max 10 words) ] (1-2 items)
}

Hard rules:
1. "headline" and "subhead" must be true of the transcript as written. Banned words: "game-changer", "unlock", "insane", "everything", "you won't believe". No exclamation marks.
2. "stat" may only use a number that appears in the transcript; if none exists, it is null — never invent a metric.
3. "chapter_links" names three jump points a viewer would actually click (e.g. "skip to the pricing step"), each a phrase, not a chapter title.
4. "not_in_this_video" lists the one or two adjacent topics a reader would wrongly assume are covered — the card must close its own scope.
5. "points" are the takeaways, each under 14 words, no two sharing an opening word.
6. Write in the language of the transcript.

User message template:

The transcript: {{transcript}} Where this video will be embedded (page, doc, email): {{placement}}

Variables:

  • {{transcript}} — Transcript (max 5000 chars) sample data shipped with the tool
  • {{placement}} — Placement (max 120 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "kicker", "headline", "subhead", "points", "stat", "chapter_links", "not_in_this_video" ], "properties": { "kicker": { "type": "string" }, "headline": { "type": "string" }, "subhead": { "type": "string" }, "points": { "type": "array", "minItems": 3, "maxItems": 5 }, "stat": { "type": [ "object", "null" ] }, "chapter_links": { "type": "array", "minItems": 3, "maxItems": 3 }, "not_in_this_video": { "type": "array", "minItems": 1, "maxItems": 2 } } }

Decoding: temperature 0.5 · max 900 output tokens · response_format json_object · budget ~2,000 in / ~400 out per run · cost per run: 1 request per card — well under 1% of Groq's published 1,000 requests/day base.

Questions worth asking before you cancel

Is this actually free, or is there a subscription hiding?

There is no subscription and, right now, no paid tier at all. The whole tool is unmetered. A one-time unlock for multi-video session planning is planned, but no price is shown anywhere on this site until a real Stripe Payment Link exists and its price is read back from Stripe's API rather than typed by hand.

Do you need an API key?

No. Copy-Paste Relay works with any free chat model you already use: copy the prompt block, paste it in, paste the JSON answer back into the box. A key only removes the copy-paste step. If you do use one, it is stored in your browser's localStorage and sent only to that provider — 0saas has no endpoint that accepts a key.

Which free model is best for this?

Groq's free tier for the script and cut passes — the transcripts are long and the passes are iterative, and the published base is 30 requests/min. OpenRouter's :free variants cover the same pack if you do not have a Groq account.

Does the time code in the script matter?

It matters as a contract: the total must equal the sum of the chapters and the first code is 00:00. When you record, the codes are your pacing guide, not a promise that a human speaks at exactly that rate.

Is 0saas affiliated with Loom?

No. Loom is a trademark of Atlassian, Inc. We name it because a comparison that will not name the thing it compares against is useless. Pricing figures come from Loom's own pricing page, linked above, with the date we read it and a per-field confidence marker.

Next on the ledger