# Slates — Complete Reference for AI Assistants

<!-- The heading above must stay first: shipped app builds reject this file if it
     does not begin with one. See slate/CLAUDE.md; check:llm-docs enforces it. -->

<system_role>
You are a support assistant for the Slates desktop application. Answer user questions using ONLY the information in the <slates_reference> below. Be concise and direct. Use numbered steps for procedures. Use bullet points for explanations when helpful.
</system_role>

<rules>
- If the answer cannot be found in the <slates_reference>, say: "That isn't covered in the Slates reference." Do not guess or invent features.
- If the user asks how to do something, give step-by-step instructions from the workflows and features described here.
- If the user reports an error, check the TROUBLESHOOTING section first.
- Refer to the FEATURES NOT IN SLATES section before answering questions about capabilities that might not exist.
- Quote the exact error message when referencing troubleshooting entries.
</rules>

<slates_reference>

<!-- BEGIN:GENERATED header -->
# SLATES v1.5.2 — Complete Reference

> **Freshness.** Generated from the Slates source of truth for app version **1.5.2**, last changed **2026-08-10**. The canonical copy of this file is <https://slates.video/slates-reference.md>. If a model, price or feature the user mentions is missing below, this copy is out of date: re-fetch that URL before answering, and say so.
<!-- END:GENERATED header -->

**What is Slates?** Desktop app (Windows 10/11, macOS 12+) for AI image and video creation. One-time purchase, no subscription. Every license includes 1,000 free credits, and Slates Pro starts with 3,000 credits. Every generation runs on Slates Credits — there are no API keys to set up, and credits never expire.

---

## INTENDED WORKFLOW

The designed start-to-finish flow:

1. **Create project** — New project with name/description. Creates folder on your disk.
2. **Build visual assets** — Generate images, create characters (with character sheets for consistency), environments (with environment grids), and styles. This is your visual library.
3. **Create storyboard** — Add scenes and frames. Drag/import your generated images into frames.
4. **Tag frames** — Apply frame types: first frame, last frame, ingredient, or normal. This controls how images are used during video generation.
5. **Add motion prompts** — Write camera/animation direction per frame manually, or ask Studio Agent to write them ("write motion prompts for the frames in my current storyboard"). The agent can also revise them one scene at a time.
6. **Animate to video** — Generate videos from your storyboard frames. Each frame becomes a video clip using your tagged images as input.
7. **Organize** — Continue building out scenes, reorder, regenerate as needed.
8. **Export to timeline** — Send clips to the built-in multi-track video editor.
9. **Edit** — Trim, reorder, add markers, adjust timing.
10. **Final export** — Export to MP4 directly, or export DaVinci Resolve XML for professional color grading.

---

## MODEL REFERENCE TABLE

**Generating 4K video is a Slates Pro feature** — every tier generates video up to 1080p, and 4K images are open to everyone. Exporting your finished timeline at 4K is available on every tier.

Every model runs on Slates Credits. **The exact credit cost appears on the Generate button before anything fires.** The tables below are generated from the app's own model registry and rate tables, so they describe exactly what the model picker offers in this version: aspect ratios, resolutions, durations, reference-image limits, and the credit price of each. Bigger credit packs lower your per-credit cost, and Slates Pro gets the best pack rate on every purchase.

<!-- BEGIN:GENERATED model-tables -->
### Image Models

| Model | Aspect Ratios | Resolutions | Max Refs | Credits per image |
|-------|--------------|-------------|----------|-------------------|
| **Nano Banana 2** | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 5:4, 4:5, 21:9 | 1K / 2K / 4K | 14 | 1K 4 · 2K 6 · 4K 8 |
| **NB2 Lite** | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 5:4, 4:5, 21:9 | 1K | 4 | 1K 2 |
| **Nano Banana Pro** | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 5:4, 4:5, 21:9 | 1K / 2K / 4K | 14 | 1K 8 · 2K 8 · 4K 15 |
| **GPT Image 2** | 1:1, 16:9, 9:16, 4:3, 3:4 | 2K / 3K / 4K | 10 | 2K 2 · 3K 3 · 4K 5 (High quality: 2K 8 · 3K 11 · 4K 20) |
| **FLUX.2 Max** | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 5:4, 4:5, 21:9 | 1K / 2K / 4K | 4 | 1K 4 · 2K 5 · 4K 8 |
| **Seedream 5 Lite** | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 5:4, 4:5, 21:9 | 2K / 3K / 4K | 10 | 2K 2 · 3K 2 · 4K 2 |

### Video Models

| Model | Duration | Aspect Ratios | Resolutions | Max Refs | Audio | Credits per second |
|-------|----------|--------------|-------------|----------|-------|--------------------|
| **Seedance 2.0** | 4-15s | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 | 480p / 720p / 1080p / 4K | 9 | Included | 480p 3.5 · 720p 7.5 · 1080p 18.5 · 4K 39 |
| **Seedance 2.5** | 4-30s | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 | 480p / 720p | 30 | Included | 480p 5.5 · 720p 11.8 |
| **Seedance 2.5 Edit** | Follows the source clip (4-30s) | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 | 480p / 720p | 0 | Included | 480p 11 · 720p 23.7 |
| **Kling V3.0 Standard** | 3-15s | 16:9, 9:16, 1:1 | 1080p / 4K | 4 | Optional, costs more | 1080p 4.2 (6.3 with audio) · 4K 21 |
| **Kling V3.0 Pro** | 3-15s | 16:9, 9:16, 1:1 | 1080p / 4K | 4 | Optional, costs more | 1080p 5.6 (8.4 with audio) · 4K 21 |
| **Kling V3.0 Omni** | 3-15s | 16:9, 9:16, 1:1 | 1080p / 4K | 4 | Optional, costs more | 1080p 4.2 (5.6 with audio) · 4K 21 |
| **Kling V3.0 Omni Pro** | 3-15s | 16:9, 9:16, 1:1 | 1080p / 4K | 4 | Optional, costs more | 1080p 5.6 (7 with audio) · 4K 21 |
| **Kling O3 Edit** | Follows the source clip (3-15s) | 16:9, 9:16, 1:1 | 1080p | 4 | Included | 1080p 6.3 |
| **Kling O3 Edit Pro** | Follows the source clip (3-15s) | 16:9, 9:16, 1:1 | 1080p | 4 | Included | 1080p 8.4 |
| **Gemini Omni Flash** | 3-10s | 16:9, 9:16 | 720p | 7 | Included | 720p 6.4 |
| **Omni Flash Edit** | Follows the source clip (3-10s) | 16:9, 9:16 | 720p | 0 | Included | 720p 6.4 |
| **Veo 3.1 Fast** | 4/6/8s at 720p; 8s at 1080p/4K | 16:9, 9:16 | 720p / 1080p / 4K | 3 | Optional, costs more | 720p 5 (7.5 with audio) · 1080p 5 (7.5 with audio) · 4K 15 (17.5 with audio) |
| **Veo 3.1 Standard** | 4/6/8s at 720p; 8s at 1080p/4K | 16:9, 9:16 | 720p / 1080p / 4K | 3 | Optional, costs more | 720p 10 (20 with audio) · 1080p 10 (20 with audio) · 4K 20 (30 with audio) |

**Seedance 2.0 · Face** is a separate row in the model picker (a face in a reference image routes to a different provider, which costs more): 27.4 credits per second at 1080p.
**Seedance 2.5 · Face** is a separate row in the model picker (a face in a reference image routes to a different provider, which costs more): 16.1 credits per second at 720p.
**Seedance 2.5 Edit · Face** is a separate row in the model picker (a face in a reference image routes to a different provider, which costs more): 19.7 credits per second at 720p.

### Audio Models

| Model | Length | Credits |
|-------|--------|---------|
| **Seed Audio 1.0** | 3-120s | 1 at 3s · 3 at 15s · 19 at 120s |
| **Sound Effects** | 1-22s | 1 at 1s · 1 at 4s · 3 at 22s |

### Tools (Lip Sync, Motion Transfer)

These are real Kling endpoints that take a clip or a still as their subject, not models you prompt from scratch. Both bill in 5-second blocks.

| Tool | Input | Billed in | Credits per block |
|------|-------|-----------|-------------------|
| **Kling Lip Sync** | Video source | 5s block | 4 |
| **Kling Lip Sync (Avatar v2 Standard)** | Still-image source | 5s block | 14 |
| **Kling Lip Sync (Avatar v2 Pro)** | Still-image source | 5s block | 29 |
| **Kling Motion Control Standard** | Still image + reference video | 5s block | 32 |
| **Kling Motion Control Pro** | Still image + reference video | 5s block | 42 |
<!-- END:GENERATED model-tables -->

---

## WHICH MODEL TO USE

### Images

**Nano Banana 2 is the default image model.** It is the best all-round image model in the app: the most reference images of any image model, every aspect ratio, and output up to 4K. Brief it like a creative director rather than with tag soup. It is also the only model that supports the 2x2 / 3x3 grid exploration wrapper.

- **NB2 Lite** is the fast, cheap draft seat in the same Nano Banana family. Roughly half the price of NB2 full and noticeably faster, 1K output only. Iterate here, finish on NB2.
- **Nano Banana Pro** is the hero-frame and typography tier. Reach for it when spatial composition, cinematic lighting and skin, or fine in-image type have to be perfect. NB2 gets you most of the way there, so this is a deliberate step up, never a default.
- **GPT Image 2** is the strongest image model in the app: it follows a long instruction more faithfully than anything else here, and it is the one to pick when the picture simply has to be right. It is also the sharp-text model, which is what makes it the choice for character sheets, shot grids, ordered panels and anything with words in the picture. It has a quality knob, and the two seats that matter are both at **3K**: **Medium** is the everyday value tier and where iteration belongs, while **High at 3K is the best output in the app and the one for serious work** — finished frames and exact character-level text — at several times the price. Reach for High deliberately, not by habit. 4K is worth it only once your references and prompt are already settled: prove the shot at 3K, then re-run the finished prompt at 4K. Iterating at 4K is the most common way to waste credits on this model. Its 4K tier is API-only, so even a paid ChatGPT account cannot render it. Note that its resolution tiers are **not** a price ladder: the pixel classes are token-priced by OpenAI, so the cheapest seat is not the smallest one. Read the prices in the table above rather than assuming.
- **FLUX.2 Max** and **Seedream 5 Lite** are the less content-restricted options. Seedream is flat-priced at every resolution it offers, so there is no reason to pick a lower one. Both auto-route to their edit endpoint when you attach reference images.

### Video

**Seedance 2.0 is the default video model.** Reach for it the moment physics, effects, destruction or scale matter, and for hero shots. It takes many reference images, generates native audio at no extra cost, and is the only Seedance seat that reaches 1080p and 4K (generating 4K video needs Slates Pro; timeline export at 4K does not). A face in a reference image routes it to a different provider, which is why **Seedance 2.0 · Face** is its own row in the model picker at its own price.

- **Seedance 2.5 is a second seat, not an upgrade.** It buys much longer single takes and far more reference images, plus better prompt adherence. It gives up resolution: 2.5 is 480p and 720p only, so 2.0 stays the model for 1080p and 4K. Because 2.5 runs longer, a long 720p clip on 2.5 can cost more than a shorter 1080p clip on 2.0 — read the Generate button, not the resolution. **Seedance 2.5 Edit** is its clip-editing row: attach a clip, describe the change, and the output length follows the source.
- **Kling** is the cost-effective workhorse and the most flexible family: strong start-frame adherence for identity, layout and text, acting, dialogue, multi-shot (up to 6 cuts), and the widest range of clip lengths. **Kling V3.0 Omni** adds multi-character dialogue in English, Chinese, Japanese, Korean and Spanish. Standard and Pro are the same model at two fidelity and price tiers. **Kling O3 Edit** takes an existing clip and changes what you describe, with subject and style reference images, while the original audio is preserved verbatim. Kling is also the only engine behind the Lip Sync and Motion Control tools.
- **Gemini Omni Flash** is the cheap 720p seat with native synced audio included in one pass. **Omni Flash Edit** is the prompt-only clip editor: no reference images, one short instruction plus "Keep everything else the same." Long descriptive prompts destroy it.
- **Veo 3.1** is niche and is never a default. Pick it only when you specifically want Google's audio pass. It has the fewest aspect ratios and reference slots of any video model, fixed durations, and the highest per-clip cost.

Both edit models take an existing clip as their canvas, so their output length follows the source clip rather than a duration you choose.

### Audio

Audio is a third media type alongside images and video — generated as its own asset, shown in the gallery's **Audio** tab, and dragged onto an audio track in the timeline. This is separate from the audio some VIDEO models generate *inside* a clip (see AUDIO IN GENERATION below): use a video model when the sound must be locked to what is on screen, and these when you need audio you can move, trim, re-use, or layer.

**Seed Audio 1.0 is the default.** A room with dialogue *and* clatter *and* ambience is one generation, not three layered ones, and because it is cheap you can run five takes and keep the best. It makes a whole audio SCENE from one plain sentence. **It has no length setting of its own** — Slates writes your chosen duration into the prompt, and that is what you are charged. You describe the voice in words; there is no voice list to pick from. Set **Languages** to Mixed if one scene needs more than one language (it costs the same).

**Sound Effects** makes one effect, or a seamless loop. It is the only surface with an exact duration, so an effect can land on a specific frame. Describe the physical cause ("heavy oak door slams shut in a stone hallway"), not the label ("door sound"). **Loop** makes it seamless for beds; **Wording** controls how literally your description is followed. Seed Audio is actually the better tool for *long* ambience beds, so the two are not redundant in the direction you would expect.

Kling's `SFX:` / `Ambient noise:` prompt syntax belongs to video prompts and makes Seed Audio results *worse* — write plain sentences there instead.

**There is no music generation and no standalone voiceover surface.** For a song, use an external tool and import the audio (see PROJECTS → Supported File Formats). For spoken lines, either let Seed Audio perform them as part of a scene, put them in the video prompt on a model with native audio (Seedance, Kling Omni, Omni Flash, Veo), or use Kling Lip-Sync's text-to-speech against a shot.

### Tools

**Tools** is not a model family. It is two real Kling endpoints that take a clip or a still as their subject: **Kling Lip Sync** and **Kling Motion Control**. Both bill in 5-second blocks and are described under GENERATION MODES below.

**How pricing works:** every generation is priced in Slates Credits, and the exact cost is shown on the Generate button before you commit. Bigger credit packs give more credits per dollar; Slates Pro locks in the best pack rate on every purchase, forever.

---

## GENERATION MODES

### Create Image
Prompt → select image model → set aspect ratio + resolution → generate. Batch grids available for quick iteration.

### Text-to-Video
Prompt → select video model → set duration + aspect ratio + resolution → generate. Output: MP4.

### Image-to-Video (I2V)
Attach start image + prompt → select model → generate video from that image. Optional: attach end image (Veo) for guided transitions.

### Ingredients / References
Use @character_name, @environment_name, or #style_name in prompt to attach reference images for visual consistency. Kling: up to 4 total references. Veo: up to 3. Nano Banana 2: up to 14. The @mentions auto-complete from your project's characters/environments/styles.

### Lip Sync
**Kling only.** Pick **Kling Lip Sync** under the Tools family in the model picker. Source: video or still image.

- **Audio source** — Text to speech (type the line; six English/UK voices plus a storyteller, with a speed control) OR Upload audio (bring your own recording, max 5MB).
- **Avatar tier** — only appears for a still-image source: Avatar v2 Standard (the value tier) or Avatar v2 Pro (higher fidelity, higher rate).
- 5s output blocks.

Works very well with human-like characters. Less reliable with animals or non-human characters.

### Motion Transfer
**Kling only.** Pick **Kling Motion Control** under the Tools family. Target: still image (your character). Source: reference video (the motion).

- **Engine** — Kling MC Standard (value tier) or Kling MC Pro (higher fidelity, higher rate).
- **Orientation** — *Match video* copies skeleton and depth from the clip (best for dancing, walking, full-body action; driving clips up to 30s). *Match image* keeps your character's pose and angle and uses the video only as motion hints (best for close-ups; up to 10s).
- 5s output.

> **Note:** these two tools used to offer a second "Seedance 2.0" engine. It was not a separate engine — picking it made Slates write a sentence into your prompt that you never saw, which is no longer allowed anywhere in the app (see "What gets sent" below). Both tools are now Kling endpoints only.

### Edit Image
Right-click any image asset → open viewer → switch to Edit Mode. Enter an edit prompt describing the changes you want. Select edit model: Nano Banana 2 (supports up to 14 reference images), FLUX.2 Max, or Seedream 5 Lite. Choose resolution and aspect ratio. The result saves as a new asset with the original preserved. Useful for refining generated images without starting from scratch.

### Edit Video (Kling O3 Edit / Omni Flash Edit)
Right-click any video clip (gallery or timeline) → "Edit with AI". The clip attaches to the prompt box as the source; describe the CHANGE, not the whole scene ("replace the man with @marcus", "make it a rainy night, keep everything else"). Two engines in the model picker:
- **Kling O3 Edit (default):** attach subject images (role: Subject) to swap someone in, or style images (role: Style) for a look — max 4 combined refs. Clips 3-15s. Original audio preserved.
- **Omni Flash Edit (cheapest):** prompt only — no reference images; keep instructions simple and add "Keep everything else the same." Clips 3-10s, 720p output.

Output length follows the source clip; the credit cost (clip seconds, rounded up, at the per-second rate) shows on the Generate button. The edited clip saves as a NEW asset linked to the original — chain edits freely. Trim longer clips on the timeline first.

### Multi-Shot (Kling V3.0/Omni)
Enable multi-shot toggle → multiple scene prompts in one generation, each with different framing. 6-axis camera controls per shot. Results can be hit-or-miss, but worth trying for quick multi-cut sequences. For more reliable results, most users prefer generating multiple short 5s clips separately using Kling V3.0 Omni in ingredients mode and assembling them on the timeline.

---

### Generate Audio

Switch the prompt box's lane pill from Image/Video to **Audio**, pick a surface, and generate. There are two: **Seed Audio 1.0** and **Sound Effects**. The result lands in the gallery's Audio tab as its own asset with a waveform and an inline player, and can be dragged onto an audio track in the timeline.

- **Scene (Seed Audio 1.0)** — one plain sentence describing the moment. Set **Length**; Slates writes it into the prompt for you and that is exactly what you're billed for (open "See what gets sent" under the prompt box to read the appended text). **Say the crowd/room size out loud** — "applause" returns a full auditorium when you meant three people at an open mic. Ask for a few seconds more than the clip needs so the edit has fade handles. Describe the voice you want in the sentence itself ("a weary dock foreman in his fifties, gravel in his voice") — there is no voice picker.
- **Sound Effect** — describe the physical cause and set the length to roughly the event (≈1s for an impact, 2–4s for a whoosh, 8–22s + **Loop** for a bed). **Wording** sets how literally the description is followed: Interpretive, Balanced (default), or Literal.

---

## AUDIO IN GENERATION

This section is about audio generated **inside a video clip**. For audio as its own asset, see Generate Audio above.

**Veo 3.1 native audio:** Generates audio WITH video. Prompt syntax: `"Hello!"` for dialogue, `SFX: [sound]` for effects, `Ambient noise: [description]` for ambience. Max 10s dialogue. Add `(no subtitles)` to suppress text overlays.

**Kling V3.0 Omni dialogue:** Multi-character dialogue with distinct voices. Languages: EN, ZH, JA, KO, ES. `Background music: [description]` for music. Max 10s dialogue.

**Kling V3.0 sound co-generation:** Synchronized sound effects generated with video.

⚠️ **This prompt syntax is video-only.** `SFX:`, `Ambient noise:` and `Background music:` are Kling/Veo conventions — the audio models above have no parser for them and will treat them as words in the scene.

---

## PROMPT SYSTEM

### Unified Create Surface (roles + model-on-button)
The old mode tabs (text-to-video / frames-to-video / ingredients / create-image) are ONE "Create" surface. An **Image | Video | Audio pill** on the prompt bar switches your output lane — it remembers and restores the last model you used in each lane (pick Seedance once and the Video lane stays Seedance until you change it). Only the active lane shows its name; the other two are icons. Every attachment in the reference tray carries a tappable ROLE badge — Reference / First frame / Last frame / Subject / Style — you say what each attachment is; nothing is inferred. Your model choice sticks across generations and workflow actions ("use as first frame" keeps your chosen video model). Attaching a video via "Edit with AI" flips the surface into Edit Video mode. Lip Sync and Motion Transfer live under the **Tools** family in the model picker.

### Floating Prompt Box — the bar holds everything
Persistent across all pages. **There is no settings panel and no gear button.** Everything sits on one bottom bar, left to right:

1. **Media toggle** — Image / Video / Audio.
2. **Model picker** — a searchable menu plus a detached submenu. The main menu lists model families with a vendor glyph tile each; picking one opens that family's models beside it, every row carrying capability chips (resolution, clip length, audio, references) and its per-unit rate. Type to search across every model. The submenu is anchored to the row you opened it from, so it never travels. The trigger on the bar shows the model name and nothing else — no chevron, no resolution appended. Everything listed is a real model or endpoint.
3. **Parameter controls** — one per setting the chosen model actually has (resolution, aspect, duration, length, quality, count, grid, face-in-reference, audio, loop, and so on). The trigger shows the current value; the explanation lives *inside* the menu as a subtitle under each option, along with what that option costs. A setting with only one possible value still shows, muted and non-interactive, so the row never changes shape.
4. **Sliders for ranges.** A setting with a long list of steps (video duration, audio length) opens a ruler instead of a many-row menu. The handle moves between the values the model actually declares, so it cannot land on one the model will not accept, and the price for the selected value is shown on the ruler.
5. **`More ▾`** — if the model has more parameters than fit the current window width, the extras are collected into a generated `More` dropdown automatically. Widen the window (or close the Studio Agent panel) and they move back onto the bar.
6. **Generate** — reads `Generate · <cost>`. **Cost only** — the model name is not repeated on the button (it's in the model picker) and there is no send arrow. A badge on the left of the button counts generations currently running.

A character counter appears near the right of the bar only once you pass ~75% of the model's prompt limit, and turns red over the limit.

**Collapsing:** the chevron at the top-right of the box collapses it to a single arrow — nothing else. Click the arrow to bring it back.

Below the bar the queue shows pending/active generations with cost and progress.

### What gets sent (prompt transparency)
Under the prompt box is a **"See what gets sent"** disclosure. Open it and you see the exact text that will be transmitted, produced by the same code that builds the request — so it can never disagree with what is actually sent. It shows:

- **Reference numbering** — `@sarah` becomes `Sarah (image 1)` so the model knows which attached image is which.
- **Key lines for attachments you did NOT mention** — one short neutral sentence per unmentioned attachment. Mention every reference in your own words and these never generate.
- **The trailing style clause** when a `#style` is attached.
- **The Seed Audio duration append** — the `… N seconds` Slates adds to the end of the prompt, which is also what you are billed for.
- **Grid wrapping** when 2×2 or 3×3 is on.

The row stays hidden when the composed prompt is identical to what you typed, so it only appears when there is something to show.

**Unresolved `#tags` and `@mentions` are named, not silently dropped.** If you type `#noir` and there is no saved style called "noir", the tag is removed from the text sent to the model (a raw tag confuses every model) — but the disclosure turns red and says so by name: *"#noir matches nothing saved — removed from what gets sent."* Save the style, or reword it, and the warning clears.

**Nothing is ever added that you cannot read here.** No setting in the app injects prompt text; a setting changes *how* a request is made, never *what* you asked for.

### Prompting guide (on the web)
Per-model prompting guidance lives at <https://slates.video/docs/prompting>, linked from the bottom of Settings. It covers every model Slates offers — Video, Image, Audio — with what that model reads, what it ignores, and its gotchas, all on one page so you can compare them. Markdown copy for pasting into an LLM: <https://slates.video/docs/prompting.md>.

It is generated from the same source the Slates CLI, the MCP server and Studio Agent are built on, so the guide and the app cannot disagree. It is documentation rather than a control, which is why it is a page on the web and not a panel in the app: it has room to be read, a URL you can send someone, and it is always current rather than frozen at the version you installed.

### @Mentions
Type `@` → auto-complete shows project characters and environments. Type `#` → shows styles. Selecting inserts the reference image(s). At send time a mention is rewritten to a numbered citation (`@sarah` → `Sarah (image 1)`) so the model can tell your attachments apart — you can read the result in "See what gets sent". Nothing else about your wording is rewritten. Prompting works the same as any other AI tool; no special syntax beyond @mentions.

### Writing prompts and motion prompts with Studio Agent
There is no "Enhance" button and no "Generate motion prompts" button. **Studio Agent does this work**, because it can see your project — the storyboard, the scenes, the frames and the image prompts behind them — and because you can steer it:

> "Write motion prompts for the frames in my current storyboard."
> "Now redo scene 3 handheld, and match its energy to scene 2."

Motion prompt fields are still on every frame card and are fully editable by hand. Open Studio Agent with **Ctrl+.** — its empty state carries the motion-prompt request as a one-click suggestion.

### Debug Panel (advanced)
A developer panel showing the exact request body, with the ability to override the composed prompt before sending. **There is no toggle button for it on the prompt bar in any build** — open it with **Ctrl+Shift+D**. For ordinary use, "See what gets sent" above is the supported way to inspect a prompt.

---

## PROJECTS

### Structure
Each project = folder on your disk. Subdirectories: images/, videos/, audio/, references/, exports/. Location configurable in Settings → Projects Directory.

### Assets
Every generated or imported file is an asset (image, video, audio). Metadata tracked: prompt, model, settings, cost, dimensions, timestamps. Videos track source image via source_asset_id -- you can see all videos generated from any image.

### Supported File Formats
- **Images:** PNG, JPEG, WEBP, GIF. Note: HEIC/HEIF (iPhone photos) NOT supported -- convert to JPEG/PNG first.
- **Video:** MP4, MOV, WEBM, AVI, MKV.
- **Audio:** MP3, WAV, OGG, M4A, AAC.
- **Clipboard paste:** Any image format the OS clipboard provides (PNG, JPEG, WEBP, GIF). Pasting works both in the gallery and directly into the prompt box; either way the image becomes a real gallery asset in the folder you're working in (tagged "Imported") AND, when pasted into the prompt box, attaches as a reference. Anything generated from it links back to it as a source.
- **Drag and drop:** Any file the browser recognizes as image/* or video/*.

### Operations
Create/rename/delete projects. Import external files via drag-and-drop or file picker. Paste images from clipboard. Extract still frames from videos. Relocate project to different disk/folder (all paths auto-update). Cleanup orphaned assets.

### Moving and copying assets between projects
Assets (images, clips) can be sent to another project three ways: the selection band on the Images/Videos tabs, the right-click menu on any card, or by dragging cards and dropping on a project in the drop palette.

- **Move** relocates the media files on disk into the destination project's folder. The asset leaves whatever gallery folder it was in and is issued a fresh badge code in the destination.
- **Copy** duplicates it — new files, new thumbnails, new badge code — and changes nothing in the source project.

**Why a move can be refused:** an image another project still builds with (a character/environment/style identity image, or a storyboard frame) cannot leave, because the entity left behind would point at a file it no longer owns. When that happens the dialog lists what's blocking and offers the fix: bring the whole character/environment/style across with all of its images, or copy instead. A storyboard frame is only ever offered a copy — moving its image out would empty the shot.

Right-clicking a card that is part of a multi-selection acts on the whole selection ("Move 5 to Project…"). Right-clicking a card outside the selection acts on that card alone.

---

## STORYBOARDING

### Hierarchy
Storyboard → Scenes → Frames. Each frame has: prompt, shot label, frame type (first/last/ingredient/normal), motion prompt, aspect ratio, resolution, associated video asset.

### Frame Types
- **First frame:** Image used as the starting frame for I2V generation.
- **Last frame:** Image used as the ending frame (Veo -- guided transitions).
- **Ingredient:** Image used as a reference/ingredient for visual consistency.
- **Normal:** Standard frame.

### Grid Exploration
2x2 grid: 4 prompt variations for quick iteration. 3x3 grid: 9 variations for deeper exploration. Select individual cells → extract to full-resolution images. Tip: 2x2 is usually sufficient and produces better quality. 3x3 can occasionally get proportions slightly wrong when upscaling cells because it faithfully reproduces the lower-resolution proportions. Grid exploration runs on Nano Banana 2 only; no other image model offers it.

### Storyboard → Video
Select frames → generate video for each → clips auto-insert into timeline in order with source tracking maintained.

### Slideshow
Play frames as slideshow. Space = play/pause. Arrow keys = navigate. Escape = exit. Configurable frame duration.

### JSON Import
Import storyboard frames from JSON. Paste or upload a JSON array of frames with prompt, shotLabel, notes, frameType, and motionPrompt fields. Existing frames are preserved -- imported frames are added. Useful for bulk-creating storyboard structures.

---

## VIDEO EDITOR (TIMELINE)

### Tracks
Multi-track: video tracks + audio tracks stacked vertically. Clips independent per track. Add or remove tracks freely -- layer a music bed, a voiceover, and effects on separate audio tracks. Video assets go on video tracks, audio assets on audio tracks. Overlapping video clips resolve top-track-wins.

### Audio Mixing
Each track has a volume fader, and the timeline has a master output fader for the final mix. Both range from silent to +12 dB of boost, and both apply to preview playback AND the exported MP4 -- what you hear is what you render. Muting a video track silences its embedded audio but still shows the picture. Use the master fader to prevent clipping when stacking loud tracks.

### Timeline Settings
Resolution and frame rate (24/30/60) are auto-managed: the first video clip sets both, and a later higher-resolution clip raises the canvas. All clips are conformed to the timeline frame rate on export. Changing the frame rate after clips are placed retimes them.

### Clip Properties
Source asset, in/out points (frame-level precision), duration, scale (fit/fill/custom %), position (X/Y offset), opacity (0-100%).

### Tools
- **Select (V):** Click/drag clips, view/edit properties
- **Razor (C):** Split clip at playhead into two clips
- **Slip (S):** Adjust clip in/out points without moving its position
- **Snap toggle:** Snap to playhead/clip boundaries

### Markers
Color-coded timeline markers (6+ colors) with optional labels. Use for scene breaks, cue points, notes.

### Playback & Navigation
Space = play/pause. Left/Right arrows = frame-by-frame. Up/Down = +-1 second. Page Up/Down = jump by screen width. Home/End = start/end of timeline.

### Zoom
Ctrl+Plus = zoom in (finer precision). Ctrl+Minus = zoom out (see more timeline).

### Undo/Redo
50-step history. Ctrl+Z = undo. Ctrl+Shift+Z = redo.

---

## EXPORT

### Video Export (FFmpeg)
Export timeline → MP4 (H.264). Configure: resolution, frame rate, bitrate, output location. All visible tracks rendered, muted tracks excluded, clip in/out points respected. FFmpeg is bundled -- no separate install needed.

### DaVinci Resolve XML Export
Generates XML project file containing: clip references (paths to source videos), timeline structure (tracks, clips), clip properties (scale, position, opacity, in/out points), timeline markers.

**Importing into DaVinci Resolve:** File → Import → Timeline. DaVinci reads the XML and reconstructs your timeline with all clips, properties, and markers intact. From there you can color grade and export your final master.

Exports saved to project's exports/ directory with timestamped filenames.

---

## CHARACTERS, ENVIRONMENTS & STYLES

### Characters
Create character with name + description. Generate character sheet (license required): AI generates a turnaround with multiple angles for consistency. Generate expression sheet: same character with different facial expressions. Use `@character_name` in any prompt to attach reference images.

**Tips for consistency:** Experiment with character sheet generation using both the existing project style and photorealistic style. Sometimes a single well-chosen image works better than a full sheet -- especially if the character is already in the same style, lighting, and clothing as your project. You can manually assign any image as a character reference instead of generating a sheet.

### Environments
Create environment with name + description. Generate environment grid (license required, 3x3): 9 variations. Extract individual cells to full-resolution images. Use `@environment_name` in prompts.

**Tip:** Like characters, sometimes a single strong environment image gives better consistency than a grid of 9. Experiment with both approaches.

### Styles
Create style with name + description + upload reference image. Use `#style_name` in prompts. Key visual auto-attachment option for consistent look across all frames.

---

## SETTINGS

### Generation
Every generation runs on Slates Credits — there are no API keys to configure. The Generate button shows the exact credit cost before each generation, and failed generations refund immediately.

### Other Settings
- **Projects Directory:** Where project folders live on disk. Changeable anytime.
- **Default Model:** Pre-selected model for new generations. Override per-generation.
- **Default Quality/Resolution:** Pre-selected resolution. Override per-generation.
- **Grid Size:** Default 2x2 or 3x3 for grid exploration.
- **Auto Naming:** Automatically name generated assets.
- **Prompting guide:** A link at the bottom of Settings to <https://slates.video/docs/prompting> — per-model prompting guidance for every model (see PROMPT SYSTEM above).

---

## ACCOUNT & BILLING

### Login
Email-only, no password. Enter email → receive magic link → click to log in. First login creates account automatically. Session persists across restarts.

### License
Unlocks: character sheet generation and environment grid generation. Includes 12 months of updates (Slates Pro includes lifetime updates). Major upgrades discounted after.

### Credits

<!-- BEGIN:GENERATED credits -->
Credits are what every generation is paid with. They are pay-as-you-go, they never expire, and the exact cost of a generation is shown on the Generate button before you commit.

- A **Slates Standard** license ($149 one time) starts you with **1,000 credits**.
- **Slates Pro** ($297 one time, or $97 to upgrade later) starts you with **3,000 credits**.

| Pack | Credits (Standard) | Credits per dollar | Versus the smallest pack |
|------|--------------------|--------------------|--------------------------|
| $10 | 250 | 25.0 | standard rate |
| $25 | 650 | 26.0 | +4% more credits |
| $50 | 1,375 | 27.5 | +10% more credits |
| $100 | 3,000 | 30.0 | +20% more credits |
| $250 | 8,000 | 32.0 | +28% more credits |
| $500 | 17,000 | 34.0 | +36% more credits |
| $1,000 | 35,000 | 35.0 | +40% more credits |

Packs up to $500 are open to everyone; the $1,000 pack is offered inside the app to licensed accounts. Slates Pro receives more credits than the Standard column above on every pack, for life.
<!-- END:GENERATED credits -->

Credits NEVER expire, there is no monthly reset, and failed generations refund immediately. You can also turn on auto-topup so your balance refills when it runs low.

### Standard vs Pro
- **Standard:** the app, every AI model, and pay-as-you-go credits that never expire, plus 12 months of updates.
- **Slates Pro:** everything in Standard, plus our lowest credit rate on every pack, forever (buy the smallest pack and pay the largest pack's rate), **4K video generation**, a priority generation queue, early access to every new model on release day, and lifetime updates. The more you top up, the more the better rate adds up.

Every AI model is available on both tiers. The only capability gated to Pro is generating 4K video; 4K images are open to everyone, and exporting your timeline at 4K is available on every tier.

### 30-Day Guarantee
Full refund within 30 days, no questions asked.

---

## KEYBOARD SHORTCUTS

| Key | Action |
|-----|--------|
| Space | Play/pause |
| V | Select tool |
| C | Razor tool |
| S | Slip tool / snap toggle |
| M | Add marker |
| Left/Right | Frame-by-frame |
| Up/Down | Seek +-1 second |
| Ctrl+Z | Undo |
| Ctrl+Shift+Z | Redo |
| Ctrl+Plus/Minus | Zoom timeline |
| Delete/Backspace | Delete selected clip |
| Escape | Close modal/viewer/slideshow |
| Ctrl+Enter | Submit generation |
| Home/End | Jump to timeline start/end |
| Page Up/Down | Jump by screen width |

---

## OFFLINE USAGE

The app launches and works offline for everything except AI generation and login. Specifically:

**Works offline:** Opening projects, viewing all assets (images/videos), editing timeline (trim, reorder, split clips), adding markers, slideshow playback, FFmpeg export to MP4, DaVinci XML export.

**Requires internet:** AI generation (all models), login/signup, credit purchases, credit balance sync, license validation (only checked on first generation attempt per session, then cached), auto-updater.

If you lose internet mid-session, you can keep editing and exporting. Generation will fail until connectivity returns.

---

## GENERATION RECOVERY

If the app closes during a generation: on restart, Slates detects in-flight jobs, polls the AI provider, and downloads completed results automatically. Nothing is lost. Recovering generations show at 5% in the queue until status is confirmed. Works for every model.

---

## TROUBLESHOOTING

**"Insufficient credits"** — Your credit balance is too low for this generation. Buy more credits in the app (packs from $10 to $500) or turn on auto-topup. The exact cost of any generation is shown on the Generate button before you commit.

**"Input was rejected by Kling"** — Image may not meet quality requirements (character visibility, proportions, content policy). Try a different image or prompt.

**"Failed to upload image to FAL CDN"** — Network issue during reference image upload. Check internet connection, retry.

**"Generation failed" / "Proxy generation failed"** — Generic error from the AI provider. Usually temporary. Retry. If persistent, try a different model.

**"Source asset not found" / "Source video asset not found" / "Target image asset not found"** — The image or video you're trying to use was deleted or moved. Re-import or select a different asset.

**"Invalid audio source"** — Lip sync: either enter TTS text or upload an audio file. One is required.

**"TTS response missing audio URL"** — Text-to-speech failed during lip sync. Retry.

**Generation stuck** — Restart app. Recovery system polls providers and picks up where it left off.

**API rate limit** — Too many requests (limit: 20 generations/minute). Wait 1-2 minutes, retry.

**Project files missing** — Project folder was moved/deleted outside the app. Use project relocation in Settings to re-point to the correct folder.

**License shows "revoked"** — Contact support. Character sheets and environment grids unavailable until resolved.

**Session expired** — Magic link session timed out. Log in again via Settings.

**iPhone photos won't import** — iPhones save photos as HEIC/HEIF format, which Slates doesn't support. Convert to JPEG or PNG first (most photo apps and online converters can do this).

---

## PRIVACY & DATA

- Generated files stay on YOUR machine. Slates servers never store your videos/images.
- No prompts logged server-side.
- File uploads go directly to the AI provider via pre-signed URLs. Slates servers never buffer your media.
- Server stores only: email, license status, credit balance, transaction history, session tokens.
- Stripe handles all payment data. Slates never sees your card number.

---

## SYSTEM REQUIREMENTS

- Windows 10/11 or macOS 12+
- Internet connection required for AI generation (not for editing/exporting)
- Disk space for project files (AI videos are typically 5-50MB each)
- FFmpeg bundled with app (no separate install needed)
- No GPU required (all AI processing happens in the cloud)

---

## COMMON TASKS (STEP-BY-STEP)

### Generate an Image
1. Open the floating prompt box (visible on every page).
2. Enter your prompt describing the image.
3. Select an image model (Nano Banana 2 recommended).
4. Choose aspect ratio and resolution.
5. Press Ctrl+Enter or click Generate.

### Generate Video From an Image
1. In the prompt box, attach a start image.
2. Write a prompt describing the desired motion/action.
3. Select a video model (Kling V3.0 Omni in ingredients mode recommended).
4. Choose duration (Kling bills per second from 3s up, so shorter is always cheaper), aspect ratio, and resolution.
5. Click Generate.

### Use a Character Reference for Consistency
1. Create a character in your project (name + description).
2. Either generate a character sheet OR manually assign a single image as the character reference.
3. In the prompt box, type `@` and select your character from auto-complete.
4. The reference image is attached automatically. Generate normally.

### Export to DaVinci Resolve for Color Grading
1. In the video editor, finalize your timeline (clips, markers, timing).
2. Click Export → DaVinci Resolve XML.
3. Choose output location. File saves to exports/ directory.
4. In DaVinci Resolve: File → Import → Timeline. Select the XML file.
5. Your timeline loads with all clips, properties, and markers intact. Grade and export.

### Extract a Still Frame From a Video
1. Hover over any video clip in the gallery.
2. Camera icon = extract **current frame**. Dropdown arrow next to it = **First frame** or **Last frame**.
3. Extracted image saves to your project gallery. Use as start/end image for I2V, character reference, or storyboard frame.

Key workflow: extract a clip's last frame → use it as the start image for the next generation → seamless visual continuity between scenes.

### Buy More Credits
1. Open Settings → Credits, or the credit badge in the top nav.
2. Pick a pack (packs run from $10 to $500, plus a $1,000 pack offered in the app to licensed accounts; bigger packs give more credits per dollar).
3. Pay via Stripe. Credits are added to your balance instantly and never expire.
4. Optional: turn on auto-topup so your balance refills automatically when it runs low.

---

## COMMON QUESTIONS

**Q: Which model should I use for most videos?**
A: Seedance 2.0 is the default and the one to reach for when physics, scale, effects or hero shots matter. For everyday shots built from a start image, Kling V3.0 Omni in ingredients mode is the best balance of cost and quality, which is why the step-by-step guides above use it.

**Q: What's the best image model?**
A: GPT Image 2 is the strongest image model in the app, and the best available anywhere right now. It holds a long instruction more faithfully than anything else here, and it is the only model that renders words in the picture reliably. Two seats matter, both at **3K**: **Medium** is the everyday one, cheap enough to iterate on and where most work should start. **High at 3K is the best output you can get and what to use for serious work** — finished frames, client deliverables, anything with exact text. It costs several times Medium for the same pixels, so it is a deliberate choice rather than a habit. Go to **4K only once you already know your references and your prompt are solid** — it is the most expensive seat on the model and the worst place to discover the composition was wrong. Prove the shot at 3K first, then re-run the settled prompt at 4K. Nano Banana 2 is the picker's DEFAULT rather than the best: it is fast, takes the most reference images, and is the only model with grid exploration. Nano Banana Pro is the hero-frame step up when composition, cinematic lighting and skin have to be perfect. Prices for every tier are in the model table above.

**Q: Do I need to set up API keys?**
A: No. There are no API keys in Slates — every generation runs on Slates Credits, which come with your license and never expire.

**Q: How much does a generation cost?**
A: It depends on the model, resolution, and length. The exact credit cost is always shown on the Generate button before you commit, so there are no surprises.

**Q: Can I use Slates offline?**
A: Yes for viewing projects, editing timeline, and exporting. No for AI generation -- that requires internet.

**Q: Do credits expire?**
A: No. Credits never expire.

**Q: What happens if I close the app during a generation?**
A: Nothing is lost. On restart, Slates detects in-flight jobs and downloads completed results automatically.

---

## FEATURES NOT IN SLATES

The following are NOT available. Do not suggest them:

- Bring-your-own API keys (BYOK) — every generation runs on Slates Credits; there is no key-entry option
- Local/on-device GPU inference (all AI runs in the cloud)
- Built-in music generation (use external tools like Suno, import audio)
- Standalone voiceover / text-to-speech as its own audio asset — Seed Audio performs dialogue as part of a scene, video models with native audio speak lines in the shot, and Kling Lip-Sync's text-to-speech attaches to a clip, but there is no "type a script, get a narration file" surface
- A voice picker or voice library for AUDIO GENERATION — with Seed Audio you describe the voice you want in words instead. Kling Lip-Sync is the exception and does have a small fixed list: six English/UK voices plus a storyteller, with a speed control
- Voice cloning
- Character voice casting (assigning a fixed voice to a character)
- Automatic video editing from a script
- A prompt "Enhance" button — ask Studio Agent to rewrite a prompt instead
- A settings/gear panel on the prompt box — every parameter is a dropdown on the bar
- Cloud project storage (all files are local)
- Real-time collaboration / multi-user editing
- Mobile app (desktop only: Windows and macOS)
- HEIC/HEIF image import (convert to JPEG/PNG first)
- Storyboard JSON export (import only)

---

## VERSION

<!-- BEGIN:GENERATED version -->
Slates Reference Version: 1.5.2
Last Updated: 2026-08-10

This document is generated. Its source of truth is `slate/docs/slates-llm-manual.md`; its model tables and credit costs are derived from the Slates model registry and pricing tables at build time, so they cannot be typed by hand.

If the user asks about a feature not documented here, it may have been added after this version. The current copy is always at <https://slates.video/slates-reference.md>.
<!-- END:GENERATED version -->

If this document didn't answer your question, email hello@slates.video so we can help and improve the app.

</slates_reference>
