Job ticket 941021 · consumer · relay · no subscription
Fotor Free gives one AI task and 512MB. The brief that makes it count costs nothing.
Fotor Basic is free forever with limited credits, fifty AI chats, one AI task and 512MB of storage; Pro expands the allowance to 1,200 credits a year at US$3.99 a month billed annually. This page produces the edit briefs that make the single free AI task and the manual tools deliver the finished design.
Fotor is a trademark of its owner. This is an independent, unaffiliated comparison built on Fotor's own published pricing material, linked below and re-read every thirty days.
Touch-up Relay — rendered in this browser
Sample data is illustrative, not a claim about Fotor. Every Fotor figure on this page comes from the linked pricing page, read 2026-10-26.
The prompt pack
Two prompts, each mapped one-to-one onto a Fotor 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.
One-time unlocks only, never a subscription. If a price ever appears here it was read from Stripe in that request, not typed by hand. An unlock is client-side gating, not secure payment verification: it is stored in this browser and cannot prove payment to anyone else.
What Fotor's own pricing page says
Read from fotor.com/pricing on 2026-10-26. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.
| The job | Fotor free / trial (read 2026-10-26) | Fotor first paid tier | This page + a free-tier model |
|---|---|---|---|
| Price | US$0 Basic: limited credits, 50 AI chats, 1 AI task, 512MB storage | Pro: US$3.99/mo annual (US$47.99/yr), 1,200 credits/yr | US$0 forever. The prompts are yours; only your ally's free allowance applies. |
| AI tasks | 1 task, 50 chats | 1,200 credits/year on Pro (US$3.99/mo) | The brief reserves the one task for the highest-value step |
| Storage | 512MB | Larger on paid plans | Files download and leave; this site stores nothing |
| Manual editing | Included on free | Same tools, more AI | The ordered retouching plan makes manual tools sufficient |
| Who sees your data | Fotor | Fotor | Only the inference provider you choose — or nobody at all in Copy-Paste Relay. This site has no database. |
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 Fotor wins.
Replaced: Photo edit brief
The art direction behind Fotor's one free AI task: a design goal becomes retouching order, crop rules, text hierarchy and export sizes.
Replaced: Brand drift audit
The do-overs a tiny storage and task cap cannot afford: an auditor checks every planned edit against the brief and flags unsupported claims.
Your data stays yours
Nothing is stored, synced or uploaded by this page; renders download as files and the prompts are printed in full.
Not a design editor
No images are edited or generated here; the output directs Fotor Free or another editor.
No asset storage
Photos are never uploaded; 512MB remains entirely your Fotor limit.
No credit grants
Nothing bypasses the one-task cap; the brief simply chooses where it goes.
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. Photo edit brief · fotor-edit-brief v1.0.0 · best ally: OpenRouter — :free model variants · openai/gpt-oss-120b:free (any :free id works; runtime discovers live models)
Replaces: The art direction behind Fotor's one free AI task: a design goal becomes retouching order, crop rules, text hierarchy and export sizes.
Why this model: A roomy :free instruct model holds the whole brief and the schema together, which matters for a ordered document of headings, paragraphs, lists and one callout where one weak middle row breaks the render; the runtime discovers whichever :free id is live. Fallback ally: Google Gemini API — Free usage tier.
System prompt (1921 chars):
You are the Touch-up Relay, a working bench for people who need ordered document of headings, paragraphs, lists and one callout without paying Fotor's seat price. You receive one paragraph of real operating detail about a real team and you produce an ordered document of headings, paragraphs, lists and one callout. You write like a careful operator: concrete nouns, real numbers, short sentences, no brochure voice. The reader will paste your JSON straight into the renderer on this page, so structure is part of the deliverable, not scaffolding you may omit.
Return ONLY one JSON object. No markdown fences, no commentary, no preamble.
{
"title": string (max 8 words),
"blocks": [
{ "type": "h2" | "p" | "ul" | "callout" | "todo", "text": string, "items": [ string ] (only when type is "ul" or "todo") }
]
}
Hard rules:
1. Use only facts present in the brief. A block that needs a missing fact ends with [NEEDS FACT: what is missing] instead of inventing one.
2. Every output exists to route around the limit Fotor places on its free or trial tier; do not recommend upgrading to Fotor and do not mention its paid plans as the answer.
3. Numbers stay digits with their units (US$49, 14 days, 250 contacts). Never round a figure the brief stated exactly.
4. Banned openings: "Introducing", "Unlock", "Discover", "Elevate", "Seamless". No emoji, no exclamation marks, no slogan-shaped sentences.
5. Prefer concrete nouns and verbs over adjectives. If two entries say the same thing twice, merge them and keep the more specific one.
6. The first entry must be the one the reader would act on first; ordering is a recommendation, not decoration.
7. Write every string in the language of the brief, and keep each string inside the length caps named in this schema.
8. If the brief contradicts itself, keep both readings in a note and pick the conservative one in the body; never silently resolve a contradiction.
User message template:
Variables:
{{brief}}— Operating brief — what the team does, the numbers, and what the free tier stops at (max 1400 chars) sample data shipped with the tool{{audience}}— Who will use the output? (max 160 chars) sample data shipped with the tool
Output schema (the answer must match this exactly):
Decoding: temperature 0.7 · max 1800 output tokens · responseMimeType application/json · budget ~1,000 in / ~900 out per run · cost per run: 1 request against an OpenRouter :free variant; the published free ceiling is 50 requests/day, so this is 2% of one day.
Prompt 02 — 2. Brand drift audit · fotor-edit-audit v1.0.0 · best ally: OpenRouter — :free model variants · openai/gpt-oss-120b:free (any :free id works; runtime discovers live models)
Replaces: The do-overs a tiny storage and task cap cannot afford: an auditor checks every planned edit against the brief and flags unsupported claims.
Why this model: A roomy :free instruct model holds the whole brief and the schema together, which matters for a audit pass where one weak middle row breaks the render; the runtime discovers whichever :free id is live. Fallback ally: Google Gemini API — Free usage tier.
System prompt (1916 chars):
You are the audit desk of the Touch-up Relay. A reader pastes a draft doc artifact that another model produced against a brief, and you return the same kind of artifact after a strict fact-and-schema audit. You are deliberately skeptical: an unsupported number is worse than a missing one, and a confident paragraph the brief cannot fund is the exact failure mode Fotor's pricing page exploits to sell a paid seat. You keep the JSON schema identical so the page can render your answer without a second conversion.
Return ONLY one JSON object. No markdown fences, no commentary, no preamble.
{
"title": string (max 8 words),
"blocks": [
{ "type": "h2" | "p" | "ul" | "callout" | "todo", "text": string, "items": [ string ] (only when type is "ul" or "todo") }
]
}
Hard rules:
1. Audit against the brief only: mark every line that uses a fact the brief does not support as "unsupported" in a note; never supply the missing fact yourself.
2. Check the schema's length caps one field at a time and rewrite any string that breaches its cap rather than truncating it mid-sentence.
3. Hunt specifically for the shape of claim Fotor's own marketing would make — superlatives, unspecified "up to" figures, upgrade nudges — and cut or flag them.
4. Numbers stay digits with units; recompute any total from its components and flag a mismatch instead of repairing it silently.
5. Banned openings and emoji rules from the generator still apply to your rewritten strings; an audit that introduces a slogan fails the audit.
6. Return the complete artifact in the same schema, not a diff: keep every field, changing only what the audit found, and list each change reason in the notes array.
7. If the draft already satisfies every rule, say so in a note and return it byte-for-byte in substance; do not manufacture changes to look useful.
8. Write every string in the language of the draft, inside the same length caps.
User message template:
Variables:
{{brief}}— Original brief (max 1400 chars) sample data shipped with the tool{{draft}}— Draft artifact to audit (max 2000 chars) sample data shipped with the tool{{audience}}— Who will act on it? (max 160 chars) sample data shipped with the tool
Output schema (the answer must match this exactly):
Decoding: temperature 0.4 · max 1800 output tokens · responseMimeType application/json · budget ~1,000 in / ~900 out per run · cost per run: 1 request against an OpenRouter :free variant; the published free ceiling is 50 requests/day, so this is 2% of one day.
Questions worth asking before you cancel
Is this actually free, or is there a subscription hiding?
There is no subscription. Both prompts run unmetered, the Copy-Paste Relay needs no key and no account, and every export stays free. A one-time unlock for a convenience feature is named in the spec, but no price or buy control renders until a real Stripe Payment Link exists and its price is read back from Stripe's API.
Do you need an API key to use this?
No. Copy the printed prompt into any free chat model, paste the JSON answer into the relay box, and the page renders it identically. A free-tier ally key only removes the copy-paste step; it is stored in your browser tab unless you check Remember on this device, and sent only to that provider, never to 0saas.
Which free model should I run the Fotor prompts on?
The pack routes first to the ally named on each prompt, with a second free ally as fallback. For the doc renderer, strict-JSON output matters more than raw cleverness, so a free Gemini or Groq instruct model with JSON mode is the reliable choice; the runner lists live models from your own key rather than trusting a hardcoded list.
Where do the Fotor prices on this page come from?
From Fotor's own pricing page at www.fotor.com/pricing, read on 2026-10-26 and mirrored in the extraction artifact linked below. Any field the page did not print is marked unconfirmed and rendered without a number rather than filled in from memory; the next scheduled read is 2026-11-25.
Is 0saas affiliated with Fotor?
No. Fotor is a trademark of its owner. This is an independent, unaffiliated comparison built on Fotor's own published pricing material, linked on the page and re-read every thirty days. Nothing here is endorsed by or connected to the trademark owner.
What does this replace, and what does it not replace?
It replaces the authoring and checking work behind photo edit and design briefs — the edit brief itself, rendered locally from strict JSON. It does not replace Fotor's account, hosting, integrations or multi-person features; not a design editor stays on the platform you already use.
Send this to someone still paying for it
Nothing loads from a social network until you click. The buttons are plain links — X, LinkedIn, Reddit, email, and a few more. No share is counted or reported back to us. Cancel the rent. Keep the work.