Skip to content

B2C upload limits — chat attachments vs My Space

Status: in-progress LNO: L — defines the upload-side gating strategy for B2C monetization. Separates the ephemeral chat-attachment path from the persistent My Space path so each is gated on the right lever. Owners: @bhanu Last updated: 2026-06-29 Roles affected: B2C free, B2C Pro (₹399). B2B users explicitly unaffected. Primary routes: /chat, /myspace Source of the ask: product direction, @bhanu (co-owner), 2026-06-29 planning session. Two prompts: (1) chat attachments should be capped at a small per-file size with a low per-conversation count; (2) My Space / Knowledge Base limits stay as-is because ingestion is a separate pipeline. Related: Two-Tier Pricing, Unified Locks, My Space

TL;DR

Two upload surfaces, two pipelines, two gating strategies. Chat attachments (ephemeral) get a tier-neutral 3 MB per-file cap and a tight 5-per-conversation free count. My Space (persistent knowledge base) is untouched — 10 docs free, 5 MB free / 25 MB Pro per file. Per-file size is deliberately not a free-vs-Pro lever (market scan: nobody size-gates across tiers — it breaks on the first real upload). The monetization levers are volume (count caps, generation pool) and persistence (My Space as the paid library), mirroring Claude Projects.

Why this exists

Who asked for it

Self-initiated by @bhanu in the 2026-06-29 session. Not a user-reported ticket. Honest flag: Q1 (who asked) and Q4 (validated) are weak — a product hypothesis corroborated by a competitor scan rather than user interviews.

What user pain does it solve

The pre-change chat-upload limits (5 MB free, 10 per conversation) were too loose to create upgrade pressure on the upload path, while the old free-vs-Pro size split (5 MB free / 25 MB Pro) was the wrong lever: a free user's first phone photo or scanned PDF routinely exceeds a small free size cap, so a size-gated free tier reads as broken, not as an upsell. The market avoids this for exactly that reason.

Cost of not doing it

  • Weak upload-side differentiation. Monetization leans only on download gating + the generation pool; the upload path carries no coherent free-vs-Pro story.
  • Size-as-a-gate backfires if left in. Keeping 5 MB free / 25 MB Pro on chat means free users hit an arbitrary "file too fat" wall, generating support load and paywall-bounce that looks like price resistance but is really friction.

Validation

Weak / self-initiated, corroborated by market scan. No user interview. Competitor research (2026-06) across ChatGPT, Claude, Gemini, Perplexity, NotebookLM shows a consistent pattern: per-file size is tier-neutral everywhere; gating is on frequency/count and persistent knowledge bases (Claude Projects is Pro-only). Our My Space-as-persistence model already matches this. Treat upload-driven conversion as the open question to measure post-launch.

How we know it worked

Paywall-open events shift toward volume + persistence triggers (conversation/week caps, My Space full, gen pool), and first-upload friction does not spike — the flat 3 MB cap avoids the "first upload rejected" trap a 2 MB free cap would create.

Market context (why these shapes)

Player Per-file size free Per-file size paid Count gating Persistent KB
ChatGPT 512 MB same Free 3/day · Plus ~80/3h · 10/msg
Claude 30 MB same 20/conversation both tiers Projects = Pro unlock
Gemini 100 MB same 10/prompt
Perplexity ~50 MB same Free ~3/day · Pro unlimited Spaces
NotebookLM 200 MB same Free 50 sources · Ultra 600 core product

Takeaway: size is a safety limit, never a tier lever. Gate on volume + persistence.

The limit matrix

Surface / limit Free Pro Config key
Chat — size per file 3 MB 3 MB b2c_chat_upload_max_file_mb (new, tier-neutral)
Chat — per conversation 5 unlimited b2c_free_chat_uploads_per_chat (10 → 5)
Chat — rolling 7-day 10 unlimited b2c_free_chat_uploads_per_week (unchanged)
My Space — docs total 10 unlimited b2c_free_myspace_docs (untouched)
My Space — size per doc 5 MB 25 MB b2c_free_upload_max_file_mb / b2c_pro_upload_max_file_mb (untouched)
AI gen pool / month 10 unlimited B2C_FREE_POOL_SIZE (unchanged)
Chat messages unlimited unlimited
Study / Lesson Plan 🔒 locked unlocked B2C_PRO_LOCKED_FEATURES

Gating strategy

Three layers, each gated on a different lever and a different paywall UX.

Layer Lever Free Pro Gate type Error
1 — Engagement (hook, ungated) chat messages unlimited unlimited none
chat attach size 3 MB 3 MB none (safety) 400
2 — Volume (soft, metered) chat / conversation 5 unlimited soft 402
chat / 7-day 10 unlimited soft 402
gen pool / month 10 unlimited soft (primary lever) 402
3 — Persistence + Power (hard, real Pro value) My Space docs 10 unlimited hard (strongest hook) 402
My Space size/doc 5 MB 25 MB hard 402
Study / Lesson Plan 🔒 unlocked feature 402

402-vs-400 rule

  • 402 (paywall) only where Pro actually buys more: count caps, My Space size, gen pool, locked features.
  • 400 (plain "max 3 MB") for chat attachment size — both tiers equal, so there is nothing to upsell. An oversize chat file is a validation error, not a payment prompt.

Two pipelines (why My Space is untouched)

  • Chat attachments — ephemeral, per-session, uploaded then linked at chat-send.
  • My Space — persistent, the B2B knowledge-base pipeline (GCS + ingest + vector store).

Because the two are separate code paths and separate storage, chat-limit changes cannot affect My Space ingestion.

Rejected alternatives

  • Original 2 MB free / 10 MB Pro chat size split — rejected. Size as a tier lever backfires (market scan); 2 MB rejects a free user's first real upload. Collapsed to a flat 3 MB safety cap.
  • Keep 25 MB on Pro chat — rejected. With size no longer a lever, a single tier-neutral 3 MB cap is simpler; the gen-pool/persistence levers carry monetization.
  • Cap My Space docs lower to push upgrades — out of scope; My Space limits are explicitly untouched this pass (different pipeline).

Open questions

  • Is 5 per conversation too tight for legitimate multi-page-paper uploads? Default: ship 5, watch the per-conversation 402 rate; relax if it bites casual users.
  • Should the rolling 7-day chat cap (10) tighten once the gen pool proves the primary lever? Revisit post-launch with funnel data.

Changelog

  • 2026-06-29 — Doc created. Chat size collapsed from a 2/10 MB tier split to a flat 3 MB; per-conversation free 10 → 5; My Space untouched.