diff --git a/assets/foil-social-card-receipt.json b/assets/foil-social-card-receipt.json index bedfb7e..dc555de 100644 --- a/assets/foil-social-card-receipt.json +++ b/assets/foil-social-card-receipt.json @@ -1,14 +1,21 @@ { "schemaVersion": 1, "asset": "assets/foil-social-card.png", - "generator": "OpenAI built-in image generation", - "created": "2026-07-20", - "pixelWidth": 1672, - "pixelHeight": 941, - "reference": "assets/videos/foil-dictation-brain-poster.png", + "generator": "HTML/CSS composition rendered with headless Chrome", + "created": "2026-09-14", + "pixelWidth": 1280, + "pixelHeight": 640, + "sourceComposition": "marketing/social-card/index.html", + "references": [ + "assets/screenshots/foil-app-home.png", + "assets/audio-ux/recording-floating-status.png", + "assets/foil-mark.svg" + ], "text": [ "Foil", - "A dictation app that understands where your words are going." + "Talk to agents at the speed of thought.", + "macOS dictation for AI-first work" ], - "promptSummary": "Landscape social card matching the restored sayfoil.com design: approved headline at left, faithful Foil recording and Home workspace at right, warm off-white background, and deep teal branding." + "notes": "The social card uses verified product screenshots rather than generated interface imagery.", + "promptSummary": "Landscape social card with the AI-first headline at left, the real Foil Home workspace and recording status at right, a warm off-white background, and deep teal branding." } diff --git a/assets/foil-social-card.png b/assets/foil-social-card.png index a5cb8a3..7ffd271 100644 Binary files a/assets/foil-social-card.png and b/assets/foil-social-card.png differ diff --git a/assets/videos/foil-dictation-brain-poster.png b/assets/videos/foil-dictation-brain-poster.png index 8f581cf..c4ebfd0 100644 Binary files a/assets/videos/foil-dictation-brain-poster.png and b/assets/videos/foil-dictation-brain-poster.png differ diff --git a/assets/videos/foil-dictation-brain-receipt.json b/assets/videos/foil-dictation-brain-receipt.json index 4b24809..6ee82f2 100644 --- a/assets/videos/foil-dictation-brain-receipt.json +++ b/assets/videos/foil-dictation-brain-receipt.json @@ -16,7 +16,7 @@ "width": 1600, "height": 900, "quality": "standard", - "workers": "auto" + "workers": 1 } }, "asset": "foil-dictation-brain", @@ -24,7 +24,7 @@ "sourceAssets": [ { "file": "marketing/hero-animation/index.html", - "sha256": "c998269903d763cf7c8638e2055ab6f6fda6b066884cc5ec42f0c28b12a5bfc6" + "sha256": "e0c00e3365a116c928b28d2773906e02258fa1bf95d18d8aea4312641918fff9" }, { "file": "marketing/hero-animation/assets/screenshots/foil-app-home.png", @@ -68,8 +68,8 @@ "file": "assets/videos/foil-dictation-brain-poster.png", "pixelWidth": 1600, "pixelHeight": 900, - "byteCount": 252784, - "sha256": "c794a0244e5407a1aee19c7d99d18270f5ca2bb684b7c7cb4f334007468e9b2c" + "byteCount": 221657, + "sha256": "73be1e02f1a273932028d41048e376f2b056f7ef678870f4afb57c8ffddd2282" }, { "file": "assets/videos/foil-dictation-brain.mp4", @@ -78,8 +78,8 @@ "pixelHeight": 900, "codec": "h264", "frameRate": "30/1", - "byteCount": 2303086, - "sha256": "c8bc05df711fd1608160bdf2392aa81576a6277aaa55a44a3a8026d13b0254f2" + "byteCount": 1155413, + "sha256": "da15c769241043d58f78727ef31aa4247a25d5da85bb844c5aa64385066de14e" }, { "file": "assets/videos/foil-dictation-brain.webm", @@ -88,8 +88,8 @@ "pixelHeight": 900, "codec": "vp9", "frameRate": "30/1", - "byteCount": 944811, - "sha256": "ce4abbcb351f20497eacd082395601d5827db618a2cde6d56a882d98ff571b7e" + "byteCount": 1505203, + "sha256": "b2087e406b5754f96f96470c31f3b6eb618dcf58ccc84e5f1de0b21969cef9f9" } ] } diff --git a/assets/videos/foil-dictation-brain.mp4 b/assets/videos/foil-dictation-brain.mp4 index eea2c42..3ed7c18 100644 Binary files a/assets/videos/foil-dictation-brain.mp4 and b/assets/videos/foil-dictation-brain.mp4 differ diff --git a/assets/videos/foil-dictation-brain.webm b/assets/videos/foil-dictation-brain.webm index 5e7d953..6e29672 100644 Binary files a/assets/videos/foil-dictation-brain.webm and b/assets/videos/foil-dictation-brain.webm differ diff --git a/index.html b/index.html index 15297cd..a5f7f04 100644 --- a/index.html +++ b/index.html @@ -3,29 +3,29 @@ - Foil — Open-source Mac dictation app + Foil - macOS dictation for AI-first work - - + + - - - - + + + + - - - - + + + + @@ -49,8 +49,8 @@
-

A dictation app that understands where your words are going.

-

Open-source Mac dictation with local and self-hosted options.

+

Talk to agents at the speed of thought.

+

macOS dictation built for AI-first work - fast, direct prompts for agents and polished text for humans. Run local models or connect to a transcription API.

A dictation app that understands where your words are going.
-

A deeper dictation toolkit

-

Fast capture is the start. Foil also gives you routing, cleanup, recovery, and visibility.

+

Built for AI-first work

+

Capture intent at the speed you think, then use Cleanup Groups to decide how much polish each app needs.

⌘

Core loop

-

Dictate without switching context.

-

Hold a key, speak, release. Foil transcribes, applies the right app policy, and puts the result where you were typing.

+

Speak without slowing down.

+

Hold a key, speak, release. Foil puts fast, direct transcripts into the app where you were working.

Hold-to-record Toggle mode @@ -124,8 +124,8 @@

Provider choice

-

Cleanup Groups

-

Raw text for some apps; prompts, corrections, and preferred terms for others.

+

Direct for agents. Polished for humans.

+

Assign agent apps to raw transcription. Give messaging, email, and document apps their own cleanup, tone, and vocabulary.

-

Choose where audio and cleanup run

-

Audio and text cleanup are separate routes. Choose each deliberately.

+

Run local models or connect an API

+

Choose where audio and cleanup run, with separate routes for each.

@@ -236,7 +236,7 @@

Custom OpenAI-compatible

- Unassigned apps stay raw by default. Cleanup is explicit, app-aware, and routed through the selected cleanup provider. + Set agent apps to stay raw and direct. Route human-facing apps through the cleanup provider you choose.

Questions before installing
What are Cleanup Groups? -

Cleanup Groups let selected apps use different transcript behavior. The default group handles unassigned apps, while custom groups can use cleanup providers, prompts, vocabulary corrections, and preferred terms.

+

Cleanup Groups let you assign different transcript behavior by app. Keep agent apps fast and direct with raw transcription, then use cleanup, tone, vocabulary corrections, and preferred terms for human-facing apps.

What happens to history and audio? @@ -314,7 +314,7 @@

Questions before installing

Foil
-

A dictation app that understands where your words are going.

+

Talk to agents at the speed of thought.

App behavior
-

Each app, its own style

-

Set cleanup, tone, vocabulary, and raw output rules per app.

+

Direct for agents. Polished for humans.

+

Assign raw or polished behavior by app with Cleanup Groups.

diff --git a/marketing/hero-storyboard.md b/marketing/hero-storyboard.md index c154afe..e10a171 100644 --- a/marketing/hero-storyboard.md +++ b/marketing/hero-storyboard.md @@ -43,15 +43,15 @@ Assets: ### 3. App Behavior -Copy: `Each app, its own style` +Copy: `Direct for agents. Polished for humans.` -Body: `Set cleanup, tone, vocabulary, and raw output rules per app.` +Body: `Assign raw or polished behavior by app with Cleanup Groups.` Visual direction: Use the real Cleanup Groups screenshot once, with two small output cards that contrast polished prose and raw command intent. Example polished output: `Could we move our sync to 3 PM?` -Example raw output: `move sync 3pm; send notes` +Example raw output (`AI agent`): `move sync 3pm; send notes` Feature shown: App/context-specific cleanup, raw transcript mode, vocabulary, and preferred terms. diff --git a/marketing/hero-visual-treatment.md b/marketing/hero-visual-treatment.md index 0775c0d..3327963 100644 --- a/marketing/hero-visual-treatment.md +++ b/marketing/hero-visual-treatment.md @@ -68,16 +68,16 @@ Avoid: ## Slide 3: App Behavior -Copy: `Each app, its own style` +Copy: `Direct for agents. Polished for humans.` -Body: `Set cleanup, tone, vocabulary, and raw output rules per app.` +Body: `Assign raw or polished behavior by app with Cleanup Groups.` Visual: - Use the live Cleanup Groups screenshot once. - Show two compact output cards: - `Message app`: `Could we move our sync to 3 PM?` - - `Prompt-driven app`: `move sync 3pm; send notes` + - `AI agent`: `move sync 3pm; send notes` What this should communicate: diff --git a/marketing/social-card/index.html b/marketing/social-card/index.html new file mode 100644 index 0000000..61dc138 --- /dev/null +++ b/marketing/social-card/index.html @@ -0,0 +1,134 @@ + + + + + + Foil social card + + + +
+
+
+ + Foil +
+

Talk to agents at the speed of thought.

+

macOS dictation for AI-first work

+ +
+ + + +
+ + diff --git a/privacy/index.html b/privacy/index.html index 73a584f..598c261 100644 --- a/privacy/index.html +++ b/privacy/index.html @@ -3,7 +3,7 @@ - Foil Privacy — Mac app and website data practices + Foil Privacy - Mac app and website data practices