# LOFT Documentation LOFT is an integrated production environment for teams making AI-generated content, anchored in film, animation and VFX. It combines project and task management, a file-and-asset system, a conversational production Assistant, AI generation, an editorial timeline, dailies review and team collaboration in one workspace. # LOFTai The production workspace: projects, asset libraries, the Assistant, AI image/video/audio/3D generation, editorial, dailies and review. ## LOFTai › Why Teams Use LOFTai Source: https://docs.loftapps.com/ai/why/ LOFTai is one place where a team makes AI-generated images, video, audio and 3D, and keeps track of all of it. It was built by people from film, animation and visual effects, and it works the way a real production works. ### The problem it solves Most AI tools make one picture at a time. You type a prompt, download the result, and the file lands in a folder with a random name. A week later nobody remembers which prompt made it, which version the director liked, or where the final one is. That is fine for one person experimenting. It falls apart for a team making a film, a series or a campaign, where hundreds of results have to be compared, approved, cut together and delivered. ### What makes it different #### Everything you make stays organized Results land inside your project, attached to what they belong to: a character, a location, a shot. Nothing is a loose file. Anyone on the team can find the current version of anything. #### Loft remembers how everything was made Every result keeps the prompt, the model, the settings and the images it started from. You can always answer "how did we make this?", make it again, or branch off a new variation from any point in its history. #### You can just ask The Assistant is a production helper you talk to in plain language. Ask it to make a shot, to find every shot that is still missing a final version, or to show what the project cost this month. It does the work and records the result in the project. #### It learns your house rules Write your conventions down once: your visual style, your image sizes, the models you prefer. Loft calls this a playbook. The Assistant applies it every time, so nobody has to repeat themselves and new team members get the house style for free. #### Review and approval are built in The team reviews work together and leaves notes pinned to an exact frame of a video. Each take is marked as selected, approved or dropped. That decision then drives the rest of the project, so everyone always works from the approved version. #### The edit keeps itself up to date Assemble your shots into a cut in Loft's editor. When a shot gets a newly approved version, the cut picks it up automatically. When you are ready, export a video, an edit list, or a complete hand-off package for an editor working in their own editing software. #### Many models, one workflow Loft is not tied to one AI model. You pick the model that suits the job, and the way you work stays the same whichever you choose. #### Work in the browser or on your own files Work entirely in the browser with your files stored online. Or point Loft at a folder on your own computer or shared drive with the free desktop app, and keep your files where they already are. #### You can see what you spend Every generation shows its cost before you run it. Spending is tracked by project, by shot or asset, by model and by month. ### Who it is for Studios, small teams and independent creators making film, animation, visual effects, series and commercials. The same way of working fits design, motion graphics and brand content, because the work has the same shape: an idea, many attempts, a decision, and a delivery. ### What it is not LOFTai is not just another image generator, and it does not replace your editing or 3D software. It is the place where AI production is organized, reviewed and recorded, and it hands work to your other tools when they are the right ones for the job. ### Getting started The quickest way in is [Your First Hour in Loft](https://docs.loftapps.com/ai/tut_start/), a hands-on series that takes you from an empty account to an approved result in six short lessons. [Core Concepts](https://docs.loftapps.com/ai/concepts/) explains the handful of ideas everything else is built on. Teams that also need to plan people and budgets use [LOFT Resource](https://docs.loftapps.com/resource/why/) alongside LOFTai. ## LOFTai › Welcome to LOFTai Source: https://docs.loftapps.com/ai/welcome/ ### What is LOFTai? LOFTai is an integrated production environment for teams making AI-generated content. It brings project and task management, a file-and-asset system, a conversational production Assistant, image/video/audio/3D generation, an editorial timeline, dailies review, and team collaboration into one workspace. ### Two ways to work — Virtual and Local Every project runs in one of two modes. This choice shapes where files live and what you need installed: - Virtual (cloud) — files live on the server. Works in any browser, nothing to install. Loft generates content on its own model keys. - Local — files live in a folder on your machine or a shared drive. Requires the LoftDesktop app to browse and edit, and can run generation on your own provider keys (BYOK). See the **Modes** topic for the full picture. ### Key Features - Projects & Tasks — Organize work into projects with tasks, schedules, and team assignments - Files & Assets — Browse, search, and organize files across libraries, in the browser or on a local drive - Assistant — A conversational production agent that finds content, runs queries, builds dashboards, and takes action - Generation — Image, video, audio, and 3D generation through the Assistant, the Image Builder, or the Flows canvas - Composer — Conversation-built dashboards and views - Editorial — Assemble cuts from shots on a sequence timeline and render to video/EDL - Review & Dailies — Frame-pinned annotations, status triage, and team review submissions - Playbooks — Standing guidance the Assistant reads every turn (project, asset, and per-model) - Queue — My Queue (Overview) tracks your own generation jobs across all projects in real time; the project-wide Queue (Manage) shows everyone's for managers - Models & Services — Admin-managed model catalog plus registration of external services and local tools - Credits & Costing — Track spend by service, asset, model, and month - Version Control — Commit and push asset files with full history (desktop) ### Getting Started When you first sign in you land on the **Projects** page. If you don't have a project yet, you'll be asked how you want to start — point Loft at a folder on your computer (Local, needs LoftDesktop) or create a cloud project you work in from the browser (Virtual). Once a project exists, the sidebar expands with project-specific navigation. Tip: New to Loft? Do **Your First Hour in Loft** — a guided, hands-on series that takes you from an empty account to a published take in six short lessons. After that, **Core Concepts** fills in the mental model and the **Workflows** section covers specific jobs end to end. ### Navigation Use the **sidebar** on the left to move between sections. It is organized into groups: - OVERVIEW — Projects, My Tasks, My Queue, Search, Explore, Composer, and Flows - LIBRARIES — Your project's asset libraries; in Local mode a "Files" entry browses the folder directly - MANAGE — Tasks, Types, Libraries, Primers, Queue, and Costing - ADMIN — Models, Users, Groups, and Settings The **top header** carries the app switcher, back/forward, a Quick Search jump palette (`Cmd` + `K` / `Ctrl` + `K`), the **Assistant** button, the notification bell, your credit balance, and the user menu. The **bell** doubles as a live queue readout. While your own generations are in flight the badge counts them (amber) rather than counting unread history, and the panel lists each one — asset, model, prompt — above your recent notifications. Clicking a running job goes to the folder its output will land in, which is the same place its completion notification takes you, so the bell works as a way back to whatever you were doing. Tip: Switch between dark and light mode from the user menu (click your name / the person icon in the top-right). Your preference is saved. ## LOFTai › Core Concepts Source: https://docs.loftapps.com/ai/concepts/ ### The idea Loft is built around **intent**: you describe what you want and the Assistant does the work — routing to the right model, running jobs, and recording the result. Instead of wiring a pipeline by hand, you converse with it, and the durable artifacts (assets, generations, lineage) accumulate as you go. Learning the handful of nouns below makes everything else click. ### How things are organized - Project — a body of work. It runs in Virtual (cloud) or Local (your folder) mode. - Library (category) — a group within a project: Characters, Environments, Shots, Editorial, etc. These are the entries under LIBRARIES in the sidebar. - Asset — a single thing in a library: a character, a shot, a cut, a daily. It has metadata, tasks, notes, and a set of tools (tabs). - Asset item — an individual file inside an asset (an image, a video, an annotation). Assets hold many items. - Take / version — successive results for the same asset; the review status marks which ones matter. ### Review status — the pipeline signal Every file carries a status that drives the rest of the pipeline: - New — not yet reviewed - Selected — a candidate you've picked - Published — the finalized, deliverable take (Editorial conforms to the latest Published take of each shot) - Dropped — rejected - Reference — an internal input for generation, not a deliverable ### The pieces that do the work - Assistant — the conversational agent (header button). Finds things, answers questions, generates, and takes action across the project. - Queue — every generation job lands here; it's where you watch progress and inspect parameters. - Playbooks — standing guidance the Assistant reads every turn (project / asset / user / model), so you teach it your conventions once. - Lineage — each derived item records what it came from, so a generation's history is never lost. Tip: Want to see all of this in practice rather than in the abstract? Do **Your First Hour in Loft** — every noun above shows up as something you click. Otherwise read **Virtual & Local Modes**next, then follow the **Workflows** that match what you're doing. ## LOFTai › Virtual & Local Modes Source: https://docs.loftapps.com/ai/modes/ ### Overview Each project has a **file mode** that decides where its files live and how you reach them. You set it in Project Settings (General tab), and it's also chosen the first time you create a project. ### Virtual (cloud) - Files are stored and served from the Loft server - Works in any browser — no client software required - Generation runs on Loft's model keys and is billed to your credit balance - Libraries in the sidebar map to your project's asset categories ### Local - Files live in a folder on your computer or a shared drive - Requires the LoftDesktop app, which serves file bytes and thumbnails from that folder - A "Files" entry appears under LIBRARIES to browse the folder directly (see the Files Browser topic) - You can generate on your own provider keys (BYOK), or have the server generate and deliver results back into the local folder - Configure the drive path (e.g. Z:\\Projects\\PROJECT0002) and the publish folder name (default "pub") in Settings Note: Local mode needs LoftDesktop running. In a plain browser, a Local project's files won't be reachable. Note: Inside LoftDesktop, the new-window button next to Back/Forward (or Ctrl+N, ⌘N on Mac) opens another app window on the same page, signed in as you. Links that open a new tab still go to your web browser. Note: LoftDesktop updates itself: new versions download in the background and apply the next time you start the app. An "Update ready" button appears in the header when one is waiting; your account menu shows the version and has "Check for updates". ### Choosing at first run When you have no project yet, the onboarding screen asks **"How do you want to start?"** with two cards — "Work with local files" (point Loft at a folder; requires LoftDesktop) and "Create a virtual project" (a cloud project you build in the browser). In a plain browser the local-files card links to the desktop Downloads page (Portal → your account → Download Desktop) rather than being disabled. You can change a project's mode later in Settings. ## LOFTai › Your First Hour in Loft Source: https://docs.loftapps.com/ai/tut_start/ A guided hour that takes you from an empty account to a finished, published take. Do the lessons **in order**, with the app open beside this page — every step is something you actually click. Nothing here is a demo sandbox: what you build in this hour is a real project you can keep working in. ### What you'll have at the end - A project of your own, with libraries and a preview image - An asset holding your first files - At least one generated image (or video) you directed to a result you like - A prompt you saved as a primer, and a project playbook so you stop repeating yourself - A reviewed, annotated, Published take — the signal the rest of the pipeline runs on - A working mental map of where everything lives ### Pick your track The hour works either way; a few steps differ. If you're not sure, take the browser track — it needs nothing installed. **Browser (Virtual)** Files live on the Loft server. Nothing to install, and generation runs on Loft's keys against your credit balance. **Recommended for your first hour.** **Your folder (Local)** Files stay in a folder on your machine or a shared drive. Needs the LoftDesktop app, and can run generation on your own provider keys. Steps that only apply to one track are labeled **Local only** or **Virtual only**. See **Virtual & Local Modes**for the full comparison. ### The hour at a glance `0:00` Sign In & Get Your Bearings Make a project; learn the layout `0:10` Create Your First Asset Somewhere for work to live `0:20` Your First Generation Model, prompt, queue, result `0:35` Iterate Like a Director Refine on purpose, then teach Loft `0:45` Review, Triage & Publish Decide what's good, out loud `0:55` What You Built & Where Next The loop, and hour two ### Before you start - An account you can sign into, and a project you're allowed to create (if New Project is missing, ask an admin — creating projects is a paid-seat action). - Some credits on your balance, or a model that runs on your own key. Generation is the one part of the hour that costs money; the amounts here are small. - Local track only — the LoftDesktop app installed and signed in. - Optional but nice: one or two reference images on your computer to bring in. Tip: Don't skim ahead. Each lesson ends with a **Checkpoint** — if what you see doesn't match it, the fix is almost always in that same lesson, not the next one. Every lesson also names the reference topic that covers the same ground in depth, for when you want the whole story. ## LOFTai › 0:00 · Sign In & Get Your Bearings Source: https://docs.loftapps.com/ai/tut_setup/ **Goal:** a project of your own, and enough of a map that nothing in the UI is a mystery. Ten minutes. ### Step 1 — Sign in and land Signing in drops you on the **Projects** page — your home base for as long as you use Loft. If your org already has projects, you'll see them as cards; a view toggle in the toolbar switches to a table. Note: **Local track:** open LoftDesktop instead of a browser and sign in there. Everything below looks the same — the desktop app is the same interface with the ability to reach your local drive. ### Step 2 — Make a project 1. Click **New Project**. 2. Enter a **name** and **initials** — both required. Initials are the short code you'll see everywhere, so keep them short and distinct (e.g. `DEMO`). 3. Pick a **project type**. This is the one choice worth thinking about: it seeds your starting libraries, so you don't begin from an empty structure. 4. Optionally set an accent color, a description, and start/due dates. 5. Click **Save**. Loft opens the new project's **Project Detail** page and the sidebar switches to that project. Tip: Don't agonize over the project type — you can add or remove libraries later. For this hour, any type with a Shots or Characters library is a good pick. ### Step 3 — The 60-second tour Before you touch anything else, learn the two pieces of furniture you'll use all hour. **The sidebar** (left) is grouped: - OVERVIEW — Projects, My Tasks, My Queue, Search, Explore, Composer, Flows - LIBRARIES — this project's asset categories; where your work lives (Local mode adds a "Files" entry that browses your folder directly) - MANAGE — Tasks, Types, Libraries, Primers, Queue, Costing - ADMIN — Models, Users, Groups, Settings **The header** (top) carries the things you reach for constantly: - Quick Search — `Cmd` + `K` / `Ctrl` + `K` jumps anywhere without navigating - Assistant — the conversational agent, opens as a side panel you can work alongside - The credits chip — your balance; click it for the wallet - The **bell** — while anything of yours is generating the badge turns amber and counts those jobs, and the panel lists them at the top; click one to jump to the folder its output will land in. Below that are your recent notifications — opening the panel clears the unread count - The user menu (where dark/light mode lives) ### Step 4 — Give the project a face On Project Detail, hover the large preview area and drop in an image (PNG/JPG/WebP). Small thing, but it's the fastest way to make the Projects page readable once you have more than three projects. While you're here, note two hover-revealed buttons in the header — the **pencil** (edit name, dates, visibility) and the **book** (Project Playbook). You'll use the book in lesson 4. ### Checkpoint - You're on a Project Detail page with your project's name at the top. - The sidebar has a LIBRARIES group with at least one library in it. - You can press Cmd/Ctrl+K and get a search palette, then dismiss it. If LIBRARIES is empty, your project type didn't seed any — that's fine, you'll create one in the next lesson. Note: Reference topics for this lesson: **Projects** and **Project Detail**. ## LOFTai › 0:10 · Create Your First Asset Source: https://docs.loftapps.com/ai/tut_asset/ **Goal:** a named place for work to live, with a file or two in it. Ten minutes. This lesson is where Loft's vocabulary clicks. ### First, the four nouns Everything in Loft nests in the same four levels. Learn them now and the rest of the app stops needing explanation: - Project — the body of work (you made one in lesson 1). - Library — a category inside it: Characters, Environments, Shots, Editorial. These are the sidebar entries. - Asset — one thing in a library: a character, a shot, a cut. It has metadata, tasks, notes, and a set of tools. - Asset item — one file inside an asset: an image, a video, an annotation. Assets hold many items, and successive items are your takes. Tip: The mistake newcomers make is treating an asset like a folder. It's closer to a _subject_: "the hero character", "shot 010". Everything you ever make for that subject — every take, every reference, every note — accumulates inside it, and that accumulation is what the Assistant reasons over later. ### Step 1 — Open a library Click a library under **LIBRARIES** in the sidebar — Shots or Characters is ideal. This opens the **Files Browser** for that category. It'll be empty; that's expected. If you have no libraries, add one from **MANAGE ▸ Libraries**first, then come back. ### Step 2 — Create the asset 1. Click **\+ New** (top-right) and pick what you are making — **Shot**, **Character**, **Cut**… The list is the project's asset types; **Folder** is at the top for plain structure. 2. Name it something concrete — `SH010`, or `Hero`. Names are for humans; Loft tracks it by an internal code either way. 3. Create it, then **click the asset** to open its **Asset Detail** page. Asset Detail is a preview on the left and a row of **tools** (tabs) across the top — Files, Tasks, Notes, Generate, and others depending on the asset type. Tabs are customizable: **\+ Add tool** adds one, the **×** removes one, and you can drag to reorder. If you don't see a **Generate** tab, add it now — you need it next lesson. ### Step 3 — Put something in it Open the asset's **Files** tool and bring in a reference image — anything from your machine will do: - Drag files anywhere onto the browser — you'll see "Drop files here to upload", and progress appears in an uploads shelf. - Or use Action ▸ Create ▸ Upload Files. Note: **Local track:** files you copy into the project folder outside of Loft appear here marked **Untracked**, and a yellow **Register** button shows up in the toolbar. Select them and click Register — until you do, Loft can't use them as generation inputs. This is the one Local-mode step people miss. ### Step 4 — Learn the status pill Every file carries a **review status**, and it is not decoration — it's the signal the rest of the pipeline reads: New — not yet reviewed. Everything starts here. Selected — a candidate worth keeping. Published — final. Other assets and Editorial only ever see Published takes. Dropped — rejected. Hidden from the browser by default. Reference — an input for generation, not a deliverable. Mark the reference image you just uploaded as **Reference** — click its status pill, or open it and press `5`. You've just told Loft what that file is _for_. ### Checkpoint - Your library shows one asset, and opening it shows an Asset Detail page with tabs. - Its Files tool lists at least one image (registered, if you're on the Local track). - That image's status reads Reference. - There is a Generate tab on the asset. Note: Reference topics for this lesson: **Core Concepts**, **Files Browser**, and **Asset Detail**. ## LOFTai › 0:20 · Your First Generation Source: https://docs.loftapps.com/ai/tut_generate/ **Goal:** submit a real generation and watch a result land in your asset. Fifteen minutes, and the one part of the hour that spends money — a few cents' worth. ### The rhythm Every generation in Loft, everywhere in the app, is the same four beats: **pick a model → set up inputs and prompt → Generate → watch the queue**. Learn it once here and the Assistant, the Image Builder, and the Flows canvas are all just different front doors to it. ### Step 1 — Pick a model Open your asset's **Generate** tab. It opens on a model gallery headed _"Select a model to get started."_ There's no separate "what do I want to make?" switch — **the model carries its modality**, so choosing a model _is_ choosing whether you get an image, a video, audio, or 3D. Narrow the list with: - The search box, to filter by name or description - The type pills — Text to Image, Image to Video, Text to Audio, Upscale, and so on - Recently Used, which floats your habitual models to the top as you build a history For this lesson pick a **Text to Image** model. Click its card; the view splits into a setup form on the left and a live queue on the right. **← Back** in the header returns you to the gallery. Note: A card badged **"your key"** runs on LoftDesktop using your own provider key and bills your provider, not Loft. Everything else runs on Loft's keys against your credit balance. ### Step 2 — Write a prompt that gives the model something to hold A vague prompt gets you a competent, generic image. Name four things and you'll get something you can actually direct: - Subject — what's in the frame - Framing — wide establishing, close-up, three-quarter, overhead - Light — golden hour, hard noon sun, single practical in a dark room - Treatment — the medium or look: 35mm film, matte painting, product photography A workable first prompt: _"wide establishing shot of a coastal city at dusk, low golden light raking across the buildings, 35mm film, slight haze."_ Above the prompt box is a small toolbar — **Primers** (reusable prompt blocks), **Save current prompt as primer**, and **Browse previous prompts**. Ignore them this pass; you'll use them next lesson. ### Step 3 — Leave the parameters alone Parameters are generated from the model's own definition, so you only ever see controls that model actually supports. Seed, steps, and guidance are tucked behind an **Advanced** disclosure. Defaults are sensible — **don't open it**. One control does matter: **Number of Images** defaults to **1**. Keep it there. While you're still finding the prompt, four variations of the wrong idea cost four times as much and teach you nothing. Raise the count later, once the setup is right. ### Step 4 — Check the price, then Generate A live **cost estimate** sits next to the prompt toolbar — in credits or dollars depending on your billing mode. Glance at it. Then press **Generate**. The job appears in the queue on the right and moves through **Pending → Running → Complete**, refreshing every few seconds. Nothing is lost if you navigate away — the queue is a real record, not a progress bar. Watch it from **My Queue** in the sidebar too. ### Step 5 — Meet your result When the job completes, thumbnails appear on the queue card. Click one for the full-screen preview. Then **expand the card** — this is the part worth pausing on. You get: - Copy prompt and Regenerate — your iteration handles for the next lesson - Open in flow — the branch icon jumps to the lineage canvas for the outputs - The inputs, grouped by the role each one played - A details table: model, size, seed, steps, and the rest Loft kept all of that. The output also landed in your asset's **Files** as a new asset item — the link on the card jumps you there. Nothing you generate is ever an orphan file with a hash for a name. ### If it didn't work - No Generate tab — add it with + Add tool on the asset. (The tab needs a server-side asset; a purely local, unpublished asset won't have it.) - Generate button disabled — your balance won't cover the estimate. The panel shows credits needed vs. available, with a Purchase credits link. - Job shows Error — expand the card to see why. A different model, or a shorter prompt, is usually the fastest recovery. - Nothing in the queue — check you're looking at the right project; the queue is project-scoped. ### Checkpoint - A queue card reads Complete and shows a thumbnail. - The same image appears in your asset's Files tool with status New. - You can expand the queue card and see the model and seed that produced it. Note: Reference topics for this lesson: **Generation** and **Queue**. ## LOFTai › 0:35 · Iterate Like a Director Source: https://docs.loftapps.com/ai/tut_iterate/ **Goal:** turn one lucky result into a deliberate one — and then teach Loft what you learned so you never have to say it again. Ten minutes. This is the lesson that separates using Loft from using a prompt box. ### Three levers, in order of leverage **1 · The words** Cheapest and most direct. Change one thing at a time — light, or framing, or treatment — so you learn what actually moved the result. **2 · The inputs** Show, don't describe. A reference image pins down style or subject far better than another paragraph of adjectives. **3 · The model** When a prompt keeps almost-working, the model may simply not do that. Go back to the gallery rather than fighting it. ### Step 1 — Regenerate with one change 1. Expand your completed queue card and click **Regenerate** — it brings the whole setup back, prompt and parameters intact. 2. Change _one_ thing. Swap "dusk" for "hard noon light", or "wide establishing" for "low-angle close". 3. Generate again, and compare the two results side by side in the asset's Files. Do this twice. Two deliberate revisions teach you more about a model than twenty random rerolls. ### Step 2 — Bring in a reference Now use the image you marked **Reference** in lesson 2. Pick a model that takes image input (an image-to-image or image-to-video type pill). Its setup form shows **input slots above the prompt**, each labeled by the _role_ it plays — First Frame, End Frame, Reference Images, Input Video, Reference Audio. 1. Click a slot to open the picker; it browses **this asset's own files**. Click **Pinned** to see what's pinned in the Assistant instead. Select your reference and click **Done**. 2. Each tile carries a **status badge**. By default the picker offers only **Published** files, plus **Selected** ones when they belong to this asset. The status dropdown widens that if you need a New or Dropped take. 3. Notice the **@-mention badge** it gets — `@Image1`, `@Image2`, and so on. 4. Name the badge in your prompt to say what each image is _for_: _"match the color palette of @Image1"_. Attaching an image without saying its job is the most common way references get ignored. Note: Some models offer **scenario modes** — "First / Last Frame" vs "References" — as a toggle above the inputs. Only the active scenario's slots are submitted, so you can't accidentally mix incompatible inputs. ### Step 3 — Keep the language that worked When a phrasing earns its keep, click **Save current prompt as primer** above the prompt box. A **primer** is a reusable prompt block you inject on demand — yours (My Primers), the project's, or system-wide. Next time you generate, it's one click instead of retyping. ### Step 4 — Write your project playbook This is the highest-value five minutes in the whole hour. Go to **Project Detail** and click the **book icon** in the header to open the **Project Playbook**. A playbook is free-form standing guidance the Assistant reads _every turn_ — house style, default sizes, naming conventions, model preferences. Write three or four short declarative lines, like: - House look is 35mm film, warm, slightly hazy. Avoid clean digital renders. - Default to 16:9 for shots, square for character reference. - Always generate one image first; only make variations when I ask. - Name shots SHxxx, three digits, zero-padded. Keep it short and declarative — it's read on every request, so concise rules beat long prose. Playbooks layer: project, then asset, then your personal defaults, each refining the last. Primers are pull; playbooks are always-on. Tip: The tell that a playbook is working: you stop retyping the same clause in every prompt. Anything you've typed three times belongs in a playbook, not a prompt. ### Step 5 — Try it in words instead Now open the **Assistant** from the header and just ask: _"generate another take of this shot, tighter framing, same light."_Same generation machinery, no form. The Assistant reads your playbooks on every turn, so the guidance you just wrote is already in play. One phrasing rule worth internalizing: **imperative phrasing executes, desiderative phrasing discusses.** "Generate X" acts. "I'd like to explore X" talks it through first. Choose deliberately. ### Checkpoint - Your asset holds three or more takes, and you can say why each differs from the last. - At least one generation used a reference image, named in the prompt by its @-badge. - Your project playbook has a few lines in it. - You've asked the Assistant for something and gotten a result. Note: Reference topics for this lesson: **Generation**, **Primers**, **Playbooks**, and **Assistant**. ## LOFTai › 0:45 · Review, Triage & Publish Source: https://docs.loftapps.com/ai/tut_review/ **Goal:** decide which take is good, and record that decision where the rest of the system can act on it. Ten minutes. ### Why this isn't just tidying **Published** is a load-bearing word in Loft. When you publish a take, Editorial conforms cuts to it automatically, other assets can reference it, and it becomes the version downstream work sees. A folder full of unreviewed takes is inert; one published take is a decision the pipeline can act on. That's the whole reason to spend these ten minutes. ### Step 1 — Open File Detail In your asset's Files, click a generated image. This opens **File Detail** — a full-screen review tool with the media in the center, a filmstrip of every file in the set below it, and a tabbed panel on the right. ### Step 2 — Triage without the mouse This is the fastest thing in the app, and worth building the habit now. Navigate with the arrow keys, set status with the number keys: `← / →` Previous / next file `1` New `2` Selected — a candidate `3` Published — final `4` Dropped — rejected `5` Reference — an input, not a deliverable `Enter` Cycle to the next status `F` Toggle fullscreen Walk your takes end to end: `4` the ones that missed,`2` the contenders, and `3` the one you'd actually deliver. Dropped files hide from the browser by default, so the library cleans itself up as you go. Tip: Use the compare icon to split the viewer into A and B when a decision is close. Hover a filmstrip thumbnail and click its A or B half to load it there. Switch to the wipe layout and drag the divider back and forth across the two versions. ### Step 3 — Leave a note that sticks to a frame On **video**, annotations are pinned to a specific frame. Use **+ Comment** to attach a note at the current frame, or **✎ Draw** to sketch an overlay that reappears whenever anyone scrubs back to it — a marker strip on the timeline shows where notes exist. On images, the viewer is a drawing canvas you can save an edit from. Annotations are real, team-visible items on the asset, not throwaway UI state. Leave one now, even if you're the only person on this project. ### Step 4 — Send it to review In the right-hand panel, open the **Submit** tab, choose which daily to **Submit to**, and add a short description. Your file joins that daily's **Submissions**, where the team watches, annotates, and leaves notes in one place. The same tab lists what you've submitted to, so you can unsubmit. The other tabs are worth a look while you're here: **Notes**, **Context** (prompt, model, seed, and the role tags that affect how this image gets used in later generations), and **History**— the generation that produced this file and any that used it as an input, each with a regenerate button. The History tab beside an asset's Files lists only the generations whose outputs are in that file list. ### Checkpoint - Exactly one of your takes is Published; the rest are Selected or Dropped. - You triaged at least a few files using only the keyboard. - One annotation or note exists on a file. - A file appears in a daily's Submissions. Note: Reference topics for this lesson: **File Detail & Review** and **Dailies**. ## LOFTai › 0:55 · What You Built & Where Next Source: https://docs.loftapps.com/ai/tut_next/ **Goal:** see the shape of what you just did, and know what's worth learning next. Five minutes. ### The loop you just learned Strip away the specifics and the hour was one loop: **intent → generate → review → publish**, with everything you learned along the way (a primer, a playbook, a reference role) folded back in so the next pass starts further along. That loop is the whole app. Editorial, Flows, Composer, Dailies, the Assistant — they're different surfaces onto the same four beats, and they all read the same assets, statuses, and lineage. Nothing you learn later replaces this; it extends it. ### What Loft recorded while you worked This is the part that isn't visible in the moment but pays off in month three: - Every output is an asset item on a real asset — never a loose file with a hash for a name. - Every generation kept its model, prompt, seed, and inputs, so any result can be reproduced or regenerated. - Every derived item recorded what it came from — that's lineage, and it's why "how was this made?" is always answerable. - Your statuses became the pipeline's signal, and your playbook became standing context the Assistant carries forward. ### Hour two — pick one **Assemble a cut** Editorial: build a sequence from shots, where clips point at slots rather than frozen files, so the edit re-conforms as shots get new published takes. Start with **Workflow: Assemble a Cut**. **See the graph** Flows: the node canvas of a file's generation history. Select any generated file and use **View generation flow** to watch your own hour play back as a graph. **Build a view** Composer: ask the Assistant for a dashboard — "show this week's submissions" — and it builds one you can keep. **Bring the team in** Manage Team on Project Detail, plus Tasks for assignment and scheduling. Notes and annotations become genuinely useful the moment there are two of you. **Watch the spend** Costing breaks your generation spend down by service, asset, model, and month — worth checking after your first real week. **Go local** If you started in the browser, try the other track: point LoftDesktop at a folder and run generation on your own provider keys. ### Habits worth keeping - One output while you're finding the prompt. Variations only once the setup is right. - Anything you've typed three times goes in a playbook. - Set status as you go, not in a cleanup pass later — downstream work reads it. - Change one variable per iteration, so you actually learn the model. - Say what each reference image is for, by its @-badge. Tip: Help is contextual: open the help panel anywhere in the app and it selects the topic for the page — and the tab — you're currently on. You rarely need to come looking. Note: From here, the **Workflows** section below covers specific jobs end to end, and the topics after it are the full reference for every page. ## LOFTai › Workflow: Start From a Folder Source: https://docs.loftapps.com/ai/wf_onboard/ ### Goal You already have a folder of images, renders, or footage and want Loft to work with it in place. This is the **Local** path and needs the LoftDesktop app. ### Steps - Open LoftDesktop. On the start screen, choose "Work with local files." - Pick the folder in the native file picker. Loft creates a Local project pointed at it and opens the Files browser. - Browse — the Files view shows what's already on disk, including untracked files (see Files Browser). - Select untracked files and use Register to attach them to the project so they become assets Loft can track and reason about. - From here you can generate, review, and organize — new outputs land back in the same folder. Note: Want the browser-only path instead? Choose "Create a virtual project" at first run — no install, files live on the server. See Virtual & Local Modes. Tip: Next: try the **Generate & Iterate a Shot** workflow to make something new from what you just brought in. ## LOFTai › Workflow: Generate & Iterate a Shot Source: https://docs.loftapps.com/ai/wf_generate/ ### Goal Produce a shot (or any image/video) and refine it until you have a take worth keeping. ### Steps - Open the Assistant (header button) and describe what you want — e.g. "a wide establishing shot of the city at dusk." Or use the Image Builder (/builder) for a focused generation workspace, or the Flows canvas to wire inputs into operations. - Pick a model if you want a specific one; otherwise the Assistant chooses. You'll see a credit estimate before a billable run (see Generation & Credits). - The job goes to the Queue. Watch it there — it auto-refreshes while running and shows the full parameters. - When it finishes, the output becomes an asset item. Open it in File Detail to review. - Set a status: Selected for a candidate, Published when it's final. Use the number keys to triage fast. - Iterate — regenerate from the queue with tweaked parameters, or ask the Assistant to adjust ("warmer light, tighter framing"). Repeat until you're happy. Tip: Set a **project or asset Playbook** once (house style, default sizes, model preference) and the Assistant applies it to every generation — you stop repeating yourself. See Playbooks. ## LOFTai › Workflow: Run a Review Round Source: https://docs.loftapps.com/ai/wf_review/ ### Goal Gather work for the team to review, collect frame-accurate feedback, and settle on what's approved. ### Steps - Open a file in File Detail and go to the Submit tab. Choose which daily to submit to and add a short description. - The file joins that daily asset's Submissions. Repeat for everything in the round. - Reviewers open the daily and click a submission to drop into the review tool. - Leave feedback: on video, use + Comment to pin a note to the current frame, or ✎ Draw to sketch on that frame. Add general Notes too. - Set status as you go — Selected, Published, or Dropped. Filters + arrow/number keys let you triage a whole round without the mouse. - Published takes flow downstream automatically — Editorial conforms cuts to them. Tip: See Dailies and File Detail & Review for the full detail on submissions and the annotation tools. ## LOFTai › Workflow: Assemble a Cut Source: https://docs.loftapps.com/ai/wf_cut/ ### Goal Turn a set of shots into an edited sequence and render it — keeping it in sync as shots get new published takes. ### Steps - In the Editorial library, create a cut asset and open its Editorial tool. - Add clips — each references a shot "slot" with a frame-accurate in/out point. - Arrange the sequence: drag clips to reorder, trim in/out on the timeline, and preview with Play timeline on the toolbar. - Watch the conform badges (Live / Updated / Range / No take) — they tell you each clip's state against the shot's latest published take. - Try a take in the cut: in the timeline player, step through the shot's takes in place (↑/↓ or the chevrons). The shot's Selected candidates appear ahead of its Published versions, marked SELECTED. Nothing changes until you choose — Use pins a published version; Publish turns a Selected candidate into the shot's latest publish and the cut conforms to it. - Work on a shot without losing your place: Work on shot in the player opens that shot's Files showing its Published takes and Selected shortlist. The shot page shows Back to , which reopens the cut's player at the same clip and frame. - Use the Actions menu on the toolbar for everything else — Add clips, Inspect frames, Export video / EDL, Turnover, Download package… (full or update-only), and Save version / Version history. - Render to .mp4 (and a CMX3600 .edl). Outputs appear under the cut's Editorial Files tool. - When a shot gets a new published take, the cut auto-conforms — re-render to pick up the change. Tip: Because clips point at slots rather than frozen files, you assemble the edit once and it keeps tracking the newest approved work. See Editorial. ## LOFTai › Projects Source: https://docs.loftapps.com/ai/projects/ ### Overview The Projects page is your home base. It shows every project you can access, either as visual cards or as a table — toggle between the two with the view buttons in the toolbar. Use the **Search projects** box in the toolbar to narrow the list as you type. It matches on project name, code, and description, and applies to both the card and table views. Click the × to clear it. ### Cards & Table Each project card shows: - A preview image (or a color banner from the project's accent color) - Project name and description - Start and due dates The table view lists the same projects with Name, Description, Start, and Due columns for quick scanning. ### Creating a New Project - Click "New Project" - Enter a name and initials (both required), and optionally a description - Pick a project type — this seeds the starting set of libraries for you - Optionally set an accent color and start/due dates - Click Save Tip: Choosing a project type pre-populates libraries (e.g. Characters, Environments, Props, Shots) so you're not starting from an empty structure. You can add or remove libraries later. ### Opening a Project Click any project to open its **Project Detail** page. This also makes it your active project, so the sidebar switches to that project's navigation. ## LOFTai › Project Detail Source: https://docs.loftapps.com/ai/project_detail/ ### Overview The Project Detail page is the dashboard for a single project — its preview, key metrics, today's tasks, libraries, playbook, and activity, all in one place. ### Header & Preview The large preview area shows the project image — hover to reveal an upload overlay, then click or drag-and-drop an image (PNG/JPG/WebP). The header also holds two hover-revealed buttons: - Edit (pencil) — update name, initials, description, dates, color, project type, and visibility - Project Playbook (book) — standing guidance the Assistant reads every turn (see the Playbooks topic) - Manage Team (people) — add or remove members (shown to admins only) ### Team & Visibility Every project has a **Visibility** setting (in Edit): - Everyone — all users in the org see the project (the default). - Assigned team only — the project is limited to its members; admins and owners always see every project. Use **Manage Team** to add or remove members. Adding a person puts them on the project's crew (so they see it when visibility is "Assigned team only") and gives them access to the app if they don't have it yet. Removing a person takes them off this project without touching their other projects. Membership is shared with Resource's staffing, so the two stay in sync. ### Metrics, Recent Work & Today's Tasks A row of KPI cards summarizes the project — completion %, tasks, people, assets, and renders today / this week / total. Below it, **Your Recent Work** lists the assets you have been on over the last week, grouped by day, with how long each one was your current asset — click any row to go straight back to it. Then **Today's Tasks** surfaces the tasks due now as clickable cards with preview strips. Note: Recent Work is yours alone — nobody else sees your list. Loft records only which asset you had open, as minutes per day; it does not record what you did, when, or how fast. Opening an asset, uploading into it, or a generation landing in it makes it your current asset until you open another one or the day ends. The same per-day minutes let a show's hours be split across its shots and assets for bid comparison — always as shot totals, never as a timesheet. ### Libraries The Libraries section lists the asset categories configured for this project, each with its asset count. In Local mode a virtual **Files**library also appears, letting you browse the project folder directly. Click any library to open its browser. ### Activity & Notes The bottom of the page shows an **Activity** feed and a **Notes** panel side by side, for tracking what's happened and leaving messages for the team. Note: On the LoftDesktop app you'll also see a **Sandboxes** button. It opens a list of the local working folders registered on this computer for the project. Pick _Use_ to make one active (the file browser and Open Explorer follow it), choose _Server_ to work without a sandbox, _Add Sandbox…_to attach a new folder via the native picker, or the × to unregister one — the folder and its files stay on disk. ## LOFTai › My Tasks Source: https://docs.loftapps.com/ai/tasks/ ### Overview The My Tasks page shows the tasks assigned to you. Inside a project it lists that project's tasks; from the sidebar with no project open it lists your tasks across every project you can see, each linking back to its own project. It shows the tasks with a KPI row (total, complete, in progress, pending, overdue, people) at the top and List / Calendar views below. ### Views - List View — a sortable table of tasks - Calendar View — tasks plotted by due date on a calendar grid ### Filtering The toolbar filters narrow what's shown: - Search — filter by task name or description - Projects — filter by one or more projects - Processes — filter by workflow stage (e.g. modeling, texturing, compositing) - Status — Pending, In Progress, or Complete - People — filter by assigned team member When filters are active, a close-icon button clears them. ### Task Actions - Click a task to open its detail - Update status directly from the list - See the assignee and due date at a glance Note: The **Tasks** page under MANAGE shows every task in the project, not just yours, using the same interface and filters. ## LOFTai › Timesheet Source: https://docs.loftapps.com/ai/timesheet/ ### Overview The Timesheet page is where you record the hours you worked each day, one week at a time. Each row is a project and each column is a day. Enter a number of hours such as **7.5**, or **7:30** for hours and minutes. Cells save as soon as you leave them. ### Which projects appear - Assigned — projects you are booked on, worked on, or already logged hours against this week (the default) - In Progress — every project currently in progress - All — every project - Leave Time — adds rows for Vacation, Sick Day, Holiday and Unpaid Leave Switch between Assigned, In Progress and All Projects with the toggle above the sheet. The Leave time chip adds or hides the leave rows. ### Suggested hours The sheet fills in a suggestion for each day it knows something about, so most weeks you only confirm or correct. Two sources feed it: - Your activity (teal) — the time you actually spent in a project, measured from the assets you had open. When this exists for a day it is the suggestion. - The planner (amber) — the hours production booked you for. Used for days with no tracked activity. Typing over a suggestion records your hours; clicking into a cell and leaving it unchanged records the suggestion as is. Hover a cell to see where its number came from. The summary cards above the sheet total the week, split into project hours and leave. Note: A small calendar mark beside a project name means you worked on it this week without being booked on it. It only appears when you have bookings that week at all; studios that plan without booking individuals never see it. ### Submitting 1. Use the arrows to move to the week you want to fill in. 2. Enter hours in each day's cell. 3. Click Submit. The status changes to Pending and your production manager is notified. Not Submitted — hours are saved but not yet sent for approval. Pending — submitted and waiting for approval. Approved — locked; cells can no longer be edited. Rejected — sent back; correct the hours and submit again. Note: Timesheets are approved by production in the scheduling app. Once a week is approved its cells are locked here. ## LOFTai › Search Source: https://docs.loftapps.com/ai/search/ ### Overview Search is one page with two tabs. A toggle at the top shows what you're searching, so the target is always clear: - Files — the actual generations (individual asset items), searched by name, prompt, or description and shown as a visual thumbnail grid - Assets — the asset records (metadata), shown as a filterable table by library, type, and status The active tab is saved in the URL (`?type=files` or `?type=assets`), so it survives back-navigation and is shareable. Search opens on **Files** by default. ### Files tab Type at least 2 characters; the search runs after a brief pause and returns up to 50 results. It matches against file names, prompt text (for AI-generated items), and asset descriptions. Results show which field matched, with your terms highlighted, and a status dot on each thumbnail. Your query is saved in the URL. - Click a thumbnail to open the full review tool (the same File Detail viewer — filmstrip, annotations, status, compare) over the whole result set - Click a result's filename to jump to the folder that contains it, so you can see it in context ### Assets tab Assets appear in a table with columns for: - Name — with the description and location shown beneath it - Library — the asset's category - Type — the asset type code - Size and Version - Status Click any row to open its **Asset Detail** page. The table's shelf lets you narrow by text, status, library, and type without leaving the page. You can also jump straight to a category from the sidebar under LIBRARIES. ### Importing Assets When a project has no assets yet, the Assets tab's empty state offers an **Import Assets** button. Import supports pasting rows from a spreadsheet; expected columns are `name, description, category, asset_type_code, status`. A sample preview helps you check the format before importing. Tip: Use the **Files** tab to find content visually across the whole project; switch to **Assets** when you're looking up specific assets by their metadata. ## LOFTai › Composer Source: https://docs.loftapps.com/ai/composer/ ### Overview Composer is a conversation-built canvas for personal dashboards and views. Rather than dragging widgets, you tell the Assistant what you want to see and it renders the layout — Composer is where the Assistant's "build a view" results appear. ### Building a View Start from an empty canvas and describe what you want — e.g. "show me all shots grouped by sequence with their latest render." The Assistant responds with a renderable layout that fills the canvas. ### Live Data A card holds the _question_ it was built from, not a copy of the answer. The rows are fetched when the view renders, so a saved view opened next week shows next week's data — a dashboard of "this week's submissions" keeps meaning this week. Rearranging a view doesn't re-run anything, so layout changes are immediate. ### Toolbar - Save As — persist the current layout under a name - Load — open a previously saved view - Clear — reset the canvas Tip: Saved views are addressable by code and name in the URL, so you can bookmark a Composer layout or share it with a teammate. Because the data is fetched fresh each time, the person you share it with sees their own current picture. ## LOFTai › Flows Source: https://docs.loftapps.com/ai/flows/ Flow is a node-based canvas that shows **how a piece of content was made** and lets you **redo any step of it**. Every generated file in Loft carries a recorded recipe — the model, prompt, parameters, and inputs that produced it. Flow draws that recipe as a graph, so you can read the history and re-run parts of it without starting over. **See the provenance** Trace a final image or video back through every generation step and input that led to it — a visual answer to "how was this made?" **Redo a step** Pick the node that made something, reproduce it exactly, or duplicate it, change a few parameters, and run it again. ### Opening a flow from a file (provenance) The most direct way in is from the file you want to understand: 1. Open a library or the Files browser and select the generated file(s) you're curious about. 2. Click the flow icon in the toolbar — its tooltip reads **"View generation flow"**. 3. Flow opens and automatically builds the graph by walking backward from that file through its history (you'll briefly see _"Loading lineage…"_). The result is a left-to-right chain: the inputs on one side, each generation step in the middle, and the file you started from on the other. If a file was made outside Loft (uploaded, not generated), there's no recipe to show and you'll see **"No generation history found"**. Note: The **Flows** entry in the sidebar (marked beta, and shown only when Project Settings › General › Beta Features is on) is a different starting point — it lists flows you've saved by name so you can reopen a canvas you were building. To inspect a specific file's history, start from the file and use "View generation flow". ### Reading the graph Each box is a node, color-coded by what it represents: Asset Item — a file that already exists in the project — the inputs and outputs of steps. Image Source — an image dropped or uploaded straight onto the canvas. Action — a durable, recorded generation step that turned inputs into an output. This is the node that holds the recipe. Operation — an editable, not-yet-run step you're setting up (text-to-image, image-to-image, text-to-video, image-to-video, upscale, or edit). Queue — a job that is currently running or has just finished. The lines between nodes carry the input's _role_ — for example a start frame, an end frame, or a reference image — so you can see not just which files fed a step but how each one was used. Click any node to open the **inspector** on the right; double-click a node with a result to open a full-screen preview. ### Inspecting how a step was made Click an **Action** node to see its recipe in the inspector: the **Type** of generation (e.g. Image to Video), the **Model** used, the full **Prompt**, the asset it wrote into, and when it ran. This is the read-only "what happened here" view — the starting point for deciding whether to reproduce or change the step. The **Inputs** list shows a thumbnail, name, and role for every file the step consumed. Click a row to open that file in the Files browser (an asset input opens its folder), or click the small **pin**icon on the row to pin it to the Assistant. The same list appears on an Operation node, so a duplicated step's inputs behave the same way. ### Redoing a step With an Action (or Queue) node selected, the inspector gives you two ways to redo it. Choose by whether you want the _same_ result or a _changed_ one: **Rerun (exact)** Replays the recorded recipe unchanged — same model, prompt, parameters, inputs, and scenario — as a fresh take. Nothing to edit. Use it for another roll of the dice, or to reproduce a result after something upstream changed. **Duplicate** Creates a new, editable Operation node pre-filled with this step's recipe and already wired to the same inputs. Nothing runs until you tweak it and press Generate. Both leave the original untouched — a redo always writes a **new**take, so your history is never overwritten. To redo a step with adjusted parameters — the common case: 1. Select the Action node that produced the result you want to change. 2. Click **Duplicate**. A new Operation node appears below it, pre-filled and wired to the same inputs. 3. In that node's inspector, change what you need — pick a different Model from the dropdown, edit the prompt in the prompt builder, or adjust any of the model's parameters. You can also rewire inputs by dragging new connections. 4. Click **Generate**. The step runs as a new take; the result flows back onto the canvas when it's done. Note: Edit-media steps (ffmpeg-style operations) duplicate into an editable node with a **Command** box (using `{input0}`/`{output}`placeholders) and an **Output filename** field; adjust those and click **Run**. ### Finding where a file lives Nodes on the canvas are stand-ins for real files in the project. Select an image or **Asset Item** node and the inspector's **Location** section takes you to it: **Open file** jumps to the Files browser and opens the file, and **Show containing folder** lands you in its folder without opening anything. Double-clicking the node still gives you a full-screen preview without leaving the canvas. ### Starting a new step from a file Click any image or Asset Item node and the inspector offers a **"Generate from this"** shortcut — **Image to Image**, **Image to Video**, or **Upscale** — each of which drops a new Operation node wired to that file, ready to prompt and run. This is how you branch a new direction off an existing result rather than redoing an old step. ### Building a flow by hand You can also assemble a pipeline from scratch using the toolbar: - Add Images — the same picker the generator uses: browse any category or the Pinned view and filter by status; each picked image becomes an Image Source node. - Add Node — drop in an Operation node from the menu (Text to Image, Text to Video, Image to Image, Image to Video, Video to Video, Upscale). - Drag from a node's handle to another node to connect an input to a step. - Save / Save As… — keep the canvas under a name; Open reloads any saved flow. Select an Operation node to fill in its model, prompt, and parameters, then press **Generate**. Press `Delete` or`Backspace` to remove the selected node or connection. ### Reviewing assistant edits If the Assistant proposed changes to a step's recipe, that node shows an amber **"Changes"** pill. Click it to open **Review changes**, which shows a before/after diff of the prompt and each parameter. Choose **Accept** to make the edited recipe the new baseline, or **Revert** to discard the changes and restore the original. ### Handing a node to the Assistant Selecting an image or **Asset Item** node counts as a file selection everywhere else in the app does — the Assistant sees it for the current turn ("upscale the selected shot" works without naming a file), and its **add** button in the panel's action shelf pins the node's file into the session context so it stays available across later messages. Select several nodes to hand over several files at once; clicking empty canvas clears the selection again. For a single file there is a shortcut: with an image or Asset Item node selected, the inspector's **Assistant** section has an **Pin to Assistant** button that pins that file straight into the session context. It shows up as a chip in the Assistant panel's tray next to your attached files, and you can remove it there like any other. Tip: Reach for **Rerun (exact)** when you liked the setup and just want another take; reach for **Duplicate** when you want to keep the recipe but change something. Because every redo is a new take, you can branch freely and compare results side by side. ## LOFTai › Files Browser Source: https://docs.loftapps.com/ai/files/ The Files Browser is where you **see, organize, and act on** a project's files. Each library in the sidebar opens the browser for that category; in Local mode a virtual **Files** entry also appears, browsing the project folder directly. Most of what you do here follows one pattern: pick a view, select some files, then use the toolbar or the Action menu. **Browse & organize** Move through folders, switch between List, Gallery, and Board views, and keep files tidy with folders, rename, and move. **Bring work in** Upload from your computer, import assets, or register files that already exist in a local folder. **Act on a selection** Preview, publish, download, submit to dailies, trace a file's generation flow, or open it in a local tool. ### Local vs Server (Virtual) The browser adapts to the project's file mode. In **Local** mode, thumbnails and bytes are served by LoftDesktop from your folder, and a folder watcher live-reloads as files change on disk. In **Server**(Virtual) mode, files come from the Loft server, and on LoftDesktop you can **work locally** on any part of the project. **Work locally** (the laptop button on a selected asset, or inside one) asks where you want to work: in a folder that already covers it, a new folder just for that asset, or any folder you pick, used in place. Only that asset comes down. Anything it references elsewhere stays on the server. A Cut, for example, brings its own turnover media, so it is complete on its own. Each of these places is a **mount**: a part of the project (the whole project, a library, or an asset) living in a folder on this computer. The deepest mount covering where you are wins. Inside a mounted place the pill in the header shows the folder's name, files not on your computer appear dimmed, and small dots mark whether a file is on the _Server_ or _Local_. Everything you write there goes to the folder: _New → Folder_, new items, uploads and drops show as _Local_ rows until you _Upload to Server_. _Local_ rows can be renamed, moved and deleted, and only your folder changes; renaming, moving or deleting a server file keeps your local copy in step. If several mounts serve the same place, the pill lets you choose, or choose _Server_ to work against the server. A library can also come from a folder you already have: **Add Folder** on a project's **Libraries** page (under MANAGE) adds a library named after the folder and mounts it there, in place. The project page's **Work locally** button sets a folder for the whole project. **Mounts** in the OVERVIEW menu lists every mount on this computer for the organization you are in, across its projects, where you can open, re-point or remove them. Mounts belong to one organization: switch organizations to see that organization's. Removing a mount never deletes files. Mounts are yours alone: teammates see the server, and mount their own copies where they like. ### Choosing a view A three-way toggle in the toolbar switches the layout (List is the default): **List** A sortable table with breadcrumbs, folders, and thumbnails. Columns for Type, Created, Size, and Status. Opens newest-first (Created, descending, folders on top); click a column header to sort differently. Best for managing and moving files. **Gallery** A large-thumbnail grid of just the media; folders and assets sit in a navigation strip above the grid rather than among the tiles. Double-click any tile to open the full-screen preview. Best for visual scanning. **Board** A free-form canvas of cards you can arrange and group. Spans the whole asset by default and carries every file type, not just media (see Board view below). The view you pick is remembered: it rides in the URL as **?view=board** (so a refresh, a bookmark or a link you send someone opens in the same view) and is kept as your default for the next folder you browse. The tool tab works the same way — **?tab=**in the URL, and the last tab you used is remembered per asset type, so opening the next shot lands you back on the tool you were working in. ### Getting around Use the **breadcrumbs** to see and jump up the folder path. In List view, **click a folder or asset** to open it, and **click a file** to open its full-screen preview (in Gallery and Board, double-click a card to preview). Gallery and Board keep the breadcrumbs and add a **navigation strip** under them — one chip per folder and asset at the current path, so you can carry on browsing without switching back to List. Folder icons carry meaning — a plain folder is a directory, a green icon marks a **published** folder, and a blue one marks a per-user **work** folder. ### Filtering & sorting Two pill dropdowns in the toolbar narrow what's shown: - Status filter — shows a colored dot and a label ("All", a single status, or "N statuses"). Its menu has Show All, Reset (hide Dropped), and a checkbox per status. By default, Dropped files are hidden. - Media-type filter — All Media, Images, Videos, or Audio. The status shown on each file is color-coded — the ones you'll act on most: Selected — a pick you want to keep or take forward. Published — finalized and shareable to other assets. Dropped — set aside; hidden by default, dimmed in the list. ### Selecting files Click a file to select it; Shift-click for a range and Ctrl/Cmd-click to add or remove individual files. Your selection drives the toolbar — the verbs that appear (Move, Rename, Open with…, and so on) reflect what you've picked. Selection clears automatically when you navigate into another folder or library. ### References A **reference** points at a file that lives in a _different_ asset — the frame you found while looking around and want to keep on this shot. Add them with **Action ▸ Add Reference…**, then pick images from anywhere in the project. Nothing is copied. The reference resolves back to the real file, so it shows that file's own preview, status and notes — and if the original is updated, published, or annotated, the reference shows that too. Referenced files carry a **link** mark and the name of the asset they come from; on the Board they sit in a dashed purple card. Note: Because a reference is a link and not a copy, removing it never deletes anything. Select it and use Delete: the dialog says **Remove Reference**, and the file stays exactly where it lives. This is what makes a reference outlast the conversation you found it in. Attaching an image to the assistant lasts one session; putting it on the shot means it is still there next time — and can be picked as a generation input from the shot itself. ### Bringing files in Three ways to get files into a project: - Upload — drag files anywhere onto the browser (you'll see "Drop files here to upload"), or use Action ▸ Create ▸ Upload Files. Progress shows in an uploads shelf. - Import Assets — Action ▸ Create ▸ Import Assets, for pulling in existing assets. - Register — for files that are already in a local folder but not yet tracked by Loft. Note: In Local mode, files dropped into the folder outside Loft show up as **Untracked** and won't work as generation inputs until you register them. When untracked files are present, a **Register**button (yellow) appears in the toolbar: 1. Select the untracked file(s) — they're marked "Untracked" in the Status column. 2. Click **Register** in the toolbar. 3. Loft attaches them to the project so they gain history, status, and can feed generation. ### Organizing files Keep a library tidy with these, from the toolbar and the Action menu: - \+ New — Folder, then one entry per asset type (Shot, Character, Cut…). An empty library shows the same choices as cards. - Rename… — select exactly one file, asset, or folder, then click the rename (pencil) toolbar button to open its rename dialog. - Move to… — select files or assets and click the move toolbar button; a folder picker opens, and Move here drops them in (files can cross libraries). - Drag to move — with a mouse or trackpad, drag a selection onto another folder to move it there. Drag-to-move is off on touch screens; use Move to… instead. ### Pinning files Pins are a project-wide working set: the handful of files you keep coming back to — references to generate from, takes to compare, plates to review. You don't need the Assistant to use them, though the Assistant sees the same list as its context. - Pin — select files and click the pin toolbar button. Already-pinned files are skipped. - Pinned list — the box toolbar button shows a count; click it to review the pins, jump to any of them, unpin one with ×, or Clear all. - Use them — the generation input picker has a Pinned pill that lists exactly these files, so a pinned reference binds in one click. Note: Pins live with the current Assistant session, so starting a new Assistant chat starts a fresh pin list. If you never use the Assistant, the list simply persists. ### Compositor Select one or more files and press the **layers** button to open the Compositor. The first selected file is the **base**; every other file is a **source** layer. Paint on a source to keep that part of it, and the result is the base with your painted parts comped on. The Layers panel reorders, hides, duplicates or promotes a layer to base, and the **Move** tool slides, scales or rotates a painted cut-out. **Video works the same way.** The usual job is _fix and patch_: a shot regenerated from the original gets one thing right, so you paint that region on the new take and comp it back onto the original. Because the fix was generated from the base, the two clips share framing and timing, and one painted matte usually holds for the whole clip. A transport bar lets you scrub, play and step frames to check. Saving queues a render on the server, which appears in the base's files like a generation. - Difference view — bright where the active source differs from the base. A regenerated take should only glow where the fix is; anything else that lights up is drift. Paint on this view to keep a change. - Blend — feathers the matte edge into the base. Lift — a moved cut-out leaves black behind instead of the base. - Brightness — darkens or lightens the active layer's cut-out so a take that came back lighter or darker than the plate still matches. Watch the Difference view fade as you get close. Click the icon to reset. - Keys — B brush, E erase, M move, D duplicate, \[ \] brush size, hold \\ to flip to the base. Video uses the same transport as the file viewer: K play/pause, , and . step a frame, J/L speed, Home/End, I/O loop range, X clear it, R loop on/off. - Lineage — every save records a composite action with the base and each contributing source as inputs, so a comp of a comp still traces back to the originals. Note: The video matte is one shape for the whole clip. If the element moves across the frame, paint generously — a loose matte over a near-identical take is invisible. ### Deleting **Delete Selected** (Action menu, or the toolbar bin) opens a confirmation that lists what goes. Files and folders can be deleted several at a time — each row in the list is the whole of what it removes. An **asset** is different: deleting one takes its entire folder, everything inside it, and every file record attached to it. So an asset is deleted _on its own_ — select a second asset, or mix an asset with loose files, and Loft asks you to narrow the selection instead. With a single asset selected, the dialog reads the asset before it arms and shows you the manifest: the folder's total files, folders and size, its top-level contents with a size each, and the counts of file records, references and lineage records that go with it. Amber warnings call out the two things that reach beyond this asset — a **nested asset**inside the folder, and **references from other assets** that will break. Only then does **Delete** become available. Note: There is no undo and no recycle bin. If the manifest can't be read, the dialog stays disabled rather than guessing — you should never confirm a delete you can't see the shape of. ### The Action menu The **Action** button (top-right) holds everything not on the toolbar, grouped by intent. Some items appear only in certain modes: - Add — Upload Files, Import Assets, and (Local mode) My Work Folder. Creating folders and typed assets lives in the + New button beside it. - Selection — Add Context (register + open metadata so the Assistant can use the files), Download Selected (zipped), Submit to Dailies, plus Publish Selected (Local mode) and Download to Sandbox (desktop sandboxes) — files, folders or whole assets; a dialog lists every file, the total size and the sandbox folder they will land in before you confirm. Files already in the sandbox with the same size and date are skipped, so re-downloading a folder only fetches what changed; Stop halts after the file in flight and Resume picks up the rest, and a retry re-fetches only the files that failed. Upload to Server is the reverse: sandbox-only files and folders (status Local) go up to the browsed folder after a dialog shows what will be sent. The server never replaces a file in place — a name that already exists is refused, and a local copy that differs from the server's shows the status Modified: rename it to upload it as a new file. - Folder — Open Explorer, to reveal the folder on disk (desktop). - Delete Selected — pinned at the bottom, in red. ### Tracing where a file came from Two toolbar buttons answer "how was this made / what depends on it": - View generation flow — opens the selected file(s) in Flow, the node graph of its generation history (see the Flows topic). - Dependency report — a read-only table of the inputs and steps a file was built from. ### Board view Board turns an asset's files into cards on a pan-and-zoom canvas. The first time anyone opens an asset's board it lays itself out by lineage, and that arrangement is saved for everyone; after that the board opens exactly as it was left. Drag to arrange, use **\+ Group** to box related cards, and **Arrange** to lay cards out by lineage, left to right, again. Single-click a card to cycle its review status; double-click to open the preview. While a generation is running its placeholder card appears just to the right of the files it is being generated from, joined to them by dashed lines, and the board pans to it if it landed off-screen. Drag the placeholder anywhere you like — the finished file lands where you left it. Board is purely organizational — it records where each card sits per asset and**never moves files on disk**. Board shows the **whole asset** by default — every tracked file underneath it, including files in subfolders. Use the **Whole asset / This folder** toggle to narrow it to just the folder you're browsing; your choice is remembered per asset. When cards come from more than one folder, each shows its subfolder under the filename, so two shots' _beauty.jpg_ stay tellable apart. Unlike List and Gallery, Board carries **every file type**, not just media — a brief, a script, an _.edl_ or a notes file sits on the canvas next to the shots it describes. Non-media cards show a type glyph instead of a thumbnail, and double-click opens them in the same viewer. The media-type filter still narrows to images, videos or audio when you want it. ### Linking to a single file Any Files Browser URL accepts **?asset\_item=**, and opens the File Detail viewer on that file as soon as the page loads. That makes a file something you can **send to someone** — paste the link into chat, a task, or a note, and whoever clicks it lands on the file itself rather than on a folder they then have to search. The **code is the link** — the folder in the URL does not have to be right. If the file lives somewhere else (or has been moved since the link was written), the browser looks up where it actually is and takes you there. Links the app builds for you — the Assistant's file chips, a Flow node's "go to location" — already use this form, so copying the address bar after opening a file gives you a link worth sending. Tip: The fastest loop here is _select → toolbar_: pick the files, and the actions that make sense for them light up. If a verb you expect is missing, check your selection (some actions need exactly one item, or files rather than assets) and your mode (some are Local- or desktop-only). ## LOFTai › Asset Detail Source: https://docs.loftapps.com/ai/asset_detail/ ### Overview The Asset Detail page is a comprehensive view of a single asset — its preview, metadata, and a set of **tools** (tabs) tailored to the asset type. ### Preview & Information The left side shows the asset's preview image (hover to upload or drag a new one). The info panel shows name, code, description, status, category, type, and type-specific fields. Click the edit icon to change metadata, and the **Asset Playbook** button to set standing guidance for how the Assistant should treat this asset (see the Playbooks topic). Use the **collapse** icon at the right of the breadcrumb bar to fold the preview and info cards away and give the tools the full page — the asset's name, type, and status stay pinned at the top. Your choice is remembered. With the panel open, the same pinned strip appears as soon as you scroll past it, so the breadcrumb and asset identity are always in view. ### Tools (Tabs) are customizable Tabs are driven by the asset type and can be tailored per asset — use **+ Add tool** to add one, the **×** on a tab to remove it, and drag to reorder. Your changes persist. Available tools include: - Files — browse and manage the asset's files; upload via the widget - Commit — file version control (desktop): set up a repo if needed, then status, commit, push (see File Status & Commit) - Properties — the asset's metadata: structured fields from the type's schema plus your own custom fields. Click a value to edit; it saves as you go. Under Custom, use + Add field to add a name/value pair, click a name to rename it, hover for clear/remove - Assets — assets linked to this one, with a picker and a per-link context label (the same view a shot uses for its breakdown); a "Used in" section below lists the assets that link to this one, e.g. every shot a character appears in - Tasks — the asset's tasks as cards on the left; select a card to read and add that task's notes on the right - Notes — collaboration notes and activity - Generate — kick off generation scoped to this asset - History — generation history via the queue - Published — every Published take on the asset as a version ladder per stream: version, file, who published it and when, and the publish note (click it to edit). Preview a take, jump to its folder, or unpublish it (status back to New). Pin lists every cut clip that uses this asset: click a clip to pin it to this take (click again to release it to latest), or pin or release them all at once — the same pin the editorial version picker sets. Shots, characters, locations and generic assets start with it - Activity — a log of what has happened to the asset, newest first and grouped by day: files added, publishes with their notes, generations and edits (with the takes they produced and what they were made from), failed or running generation jobs, dailies submissions, tasks, notes and links. Filter chips narrow it to one kind; click a take to open it. Derived from Loft's own records, so history that predates the tab is already there - Submissions — dailies submissions (for daily assets) - Editorial / Editorial Files — cut assembly and rendered outputs (for cut assets; see Editorial) - Gallery — a large-thumbnail view of the asset's items - Train — LoRA training config (for LoRA assets) Tip: Different asset types start with different default tools — a shot, a daily, and a cut each open to the set that fits their work. Add the ones you need. ## LOFTai › File Detail & Review Source: https://docs.loftapps.com/ai/file_detail/ ### Overview File Detail is a full-screen media review tool for images, video, audio, and 3D. It opens when you click a file in an asset's file list (and from Explore). It provides frame-accurate annotation, status triage, side-by-side comparison, and review submission. ### Media Viewer - Images — pinch (or ctrl+scroll) to zoom, two-finger scroll or drag to pan, double-click to fit; Draw and Crop turn it into a canvas you can save an edit from - Crop — drag out a box, then drag inside it to reposition or grab a corner / edge handle to resize; an aspect ratio, once locked, is kept through both - Crop rotation — the round grip above the box turns it to any angle (hold shift to snap to 15°); the saved crop comes out upright, straightened, with black behind anything that overhangs the plate - Video — playback with scrubbing and frame extraction (saves the current frame as a PNG with timecode) - Video info — the ⓘ button in the video toolbar shows resolution, frame rate, duration, frame count, codec, bit rate, audio stream, and file size, read from the file on the server; on local-share projects it shows what the browser can tell (resolution, duration) - 3D — .glb / .gltf render inline; other formats show a placeholder - Audio & documents — dedicated panes for playback / preview ### Video Transport & Loop Range The video player has its own transport bar under the scrub bar: go to start/end, step a frame at a time, play/pause, shuttle speed (0.25x–4x), loop, and volume. To study one section, set a **loop range**: park the playhead and click **IN** (or press `I`), then park it at the end and click **OUT** (`O`). Playback then cycles between the two marks instead of over the whole clip. - The range is drawn on the scrub bar with amber handles — drag either handle to adjust it, or re-press I / O to re-mark at the playhead. - The readout on the left of the transport bar shows in → out and the range duration; click either timecode to jump to that mark. - The loop button (or R) turns cycling off — playback then stops at the out point instead of wrapping. - Clear the range with the ⌫ button or X; loading another file clears it too. ### Review Annotations (video) On video, annotations are **pinned to a frame**. A marker strip on the timeline shows where notes exist; use **\+ Comment** to leave a note at the current frame, or **✎ Draw** to sketch an overlay that reappears whenever you scrub back to that frame. Annotations are stored as real, team-visible items on the asset. ### Status Management Each file has a review status shown as a color-coded pill. Change it by clicking, or with number keys: - 1 — New (gray) — not yet reviewed - 2 — Selected (blue) — chosen/approved for use - 3 — Published (green) — finalized - 4 — Dropped (yellow) — rejected - 5 — Reference (purple) — internal reference for generation, not a deliverable - Enter — cycle to the next status Publishing opens a small **publish note** field beside the version chip — say why this is the one, or what changed since the last version. Enter saves, Esc skips; it never blocks the publish. The note shows on the chip afterward (click it to edit), in the asset's **Published** tab and in the editorial version picker, and it's readable by the Assistant. Loft also records who published and when; the Published tab shows both. ### Filmstrip & Filtering A filmstrip below the viewer shows every file in the set; the active file has a blue border and each thumbnail carries a status bar. Click a thumbnail or use the arrow keys to navigate. Status filter buttons narrow the strip to one status; while a filter is active, arrow navigation skips non-matching files. When the viewer was opened from somewhere that wants a choice back, a **Select** button sits beside the file name. It is not the review status — it hands the file on screen back to the opener: from the file browser it ticks that file in the list and closes the viewer. ### Compare — A/B Click the compare icon to compare two files. A is the current file (blue), B is the comparison (amber): - Hover a filmstrip thumbnail: click its left half to load it into A, its right half into B (Shift-click also means B) - Side by side — two panes, each with its own status control; the sync icon locks the two videos together - Wipe — both files in one frame under a vertical divider; drag anywhere to slide it and reveal A under B. Videos play in lock-step with one transport - Swap (in the wipe header) exchanges A and B ### Right Panel — Tabs - Notes — collaboration notes - Submit — send the file to dailies for team review - Context — curated metadata for the file: prompt, model, source tool, seed, EXIF-derived fields, and role tags that affect how the image is used in later generations - History — the generation history for this item, with regenerate ### Keyboard Shortcuts `Arrow Left` Previous file `Arrow Right` Next file `1` Set status to New `2` Set status to Selected `3` Set status to Published `4` Set status to Dropped `5` Set status to Reference `Enter` Cycle to next status `F` Toggle fullscreen `Space / K` Play or pause (video) `, / .` Step one frame back / forward `J / L` Shuttle slower / faster `I / O` Set loop in / out point at the playhead `X` Clear the loop range `R` Toggle looping `M` Mute Tip: For the fastest review pass: navigate with the arrow keys and set statuses with the number keys (1–5) without touching the mouse. Use status filters to focus on unreviewed files. ## LOFTai › Script Source: https://docs.loftapps.com/ai/script/ ### Overview A **script** asset is a screenplay — written in industry format and broken down into scenes, characters and locations. It sits at the top of the intent hierarchy: a span of text becomes a shot, a character cue becomes a character asset, and the scene a shot came from becomes context for the prompt that eventually generates it. ### Writing The editor knows the seven screenplay elements. **Enter**moves to whatever conventionally follows the current one (character → dialogue, dialogue → action), and **Tab** cycles the current element through the set — so you rarely reach for a menu. The page count in the header is the standard text metric, which is what the industry reads as runtime. **Import Fountain** takes pasted source or a `.fountain` file and replaces the document. **Generate** writes a scene outline first — you read and edit that before any pages are written, because the outline is where the film is actually decided. ### The rail: scenes, cast, locations The rail down the right is how you navigate and how the script connects to the rest of the project. - Scenes — click one to jump to it. A badge shows how many shots cover that scene. - Cast — every character cue in the script, and the character asset bound to it. - Locations — every slugline location, and the asset bound to it. Click a name in Cast or Locations to **jump to where it is used**. Click it again to step to the next place — a second click on a character goes to their next speech, not back to the same one. The line you land on flashes briefly so you can see where you were sent. ### Binding a cue to an asset A dot on each row shows the state: bound, a name match waiting to be confirmed, or nothing known yet. Open the row and **link** it to an existing asset, or **create** a character asset for the cue in one step. Loft never binds automatically on a name match — names collide and get misspelled, and a wrong link is invisible while quietly poisoning every generation downstream of that character. The payoff: a shot created from a scene inherits that scene's bound characters as cast, and generation resolves their reference imagery without anyone describing them in a prompt. **The script says who; the asset says what they look like.** ### Adding characters and locations ahead of the writing The **Assets** tab lists everything bound to the script and is where you add more: **Add characters** and **Add locations** pick from the project's assets. Anything the project has can be added — if you model your places as an environment or a custom type, they appear under _Other assets_. **The script does not have to mention the asset yet.** That is the point of adding from here: you say this film has these people and these sets, and then write toward them. Until the pages catch up, the reference is marked **not in script** — in the Assets tab and in the rail — so the gap stays visible. When you finally type the cue or the slugline, the binding is already there and the marker clears. The assistant reads the same list, including which references the draft has not used yet, so "extend this script" works them in. Removing a reference unlinks it from the script; the asset itself is untouched. ### Highlight → shot Select text and use **Create shot from selection**. The shot remembers the scene and elements it came from as structural anchors — not character offsets — so you can keep editing the text around it without orphaning the shot. Its cast is seeded from the scene's bound characters. Unbound cues are skipped, and the dialog says so rather than silently dropping them. Tip: Give each character and location a **playbook** on its detail page. It is the standing guidance the assistant reads whenever it writes that asset into a script or a prompt, and it is what keeps temperament and continuity consistent across scenes written at different times. ## LOFTai › Editorial Source: https://docs.loftapps.com/ai/editorial/ Editorial is where you assemble a **cut** — an ordered list of clips drawn from your shots — preview it in a **play timeline**, and export it to video. A cut is a _cut_ asset in the Editorial library; the clip list _is_ the cut, and the `.mp4` / `.edl` you export are compiled outputs of it. **Assemble** Add shots as clips, drag to order them, trim each to a frame-accurate in/out, and turn clips on or off. **Preview** Play the whole cut back-to-back in the play timeline — scrub, step frames, split, and reorder live. **Deliver** Export to an .mp4 at your chosen resolution and fps, an EDL, or a zipped package of sources. ### Anatomy of a cut A few terms make the rest easy: - Cut — the asset you're editing: the whole ordered assembly. - Clip — one row in the cut. It points at a source shot rather than a frozen file. - Slot — the source shot a clip references; a clip resolves the slot's published take. - Take — a published version of a shot. A clip follows the latest take unless you pin it. - Sequence — the flattened, back-to-back playback of all clips (what the play timeline shows). The tab header shows a clip count, a **Find a clip** search box, and three buttons — **Sync**, **Play timeline**, and **Actions**. Below it, each clip is a row: drag handle, number, thumbnail, source name, a trim/fps summary, a version pill, a conform badge, a **play-from-here** button, and a `⋮` menu. On a long sequence, type in **Find a clip** to narrow the list — it matches the shot name, code, stream, category, or media file name, and the header switches to _"12 of 240 clips"_. Rows keep their real position numbers, so what you see is still where it sits in the cut. Filtering only hides rows; nothing about the cut changes. Drag-reorder is suspended while a search is active (the rows you see aren't neighbours any more) — press `Esc` or the ✕ to clear it and drag again. ### Building the cut 1. Open **Actions ▸ Add clips…** to bring up the "Add clips" picker. 2. Check the shots you want (candidates with no published video show a red "no take" tag), then click Add — they append to the end of the cut. 3. To land clips at a specific spot instead of the bottom, use a clip's `⋮` menu ▸ **Add clips above…** / **Add clips below…** — the picker shows where the selection will land, and the rest of the cut ripples down. 4. Drag rows by the handle to reorder; the new order saves automatically. **Assembling from another cut.** To build a teaser or alternate cut without re-cutting, switch the picker to **From another cut**, choose the source cut, and select the clips to bring over (click to toggle, shift-click for a run). Each copy carries its trim, tracked stream, pin, and on/off state, and lands at the same position the picker was opened from. By default copies keep tracking the latest published take like the original; tick **Lock to current takes** to freeze them to exactly what the source cut shows now. The copy is recorded in the cut's history as drawn from the source cut. **Nesting cuts (reels, long form).** A cut can be a clip in another cut: build one cut per sequence, then a reel or film cut whose clips are those sequence cuts. In the "Add clips" picker a cut carries a _cut_ tag and plays through its latest _published render_ — so render the sequence and publish the .mp4 first, or it shows _no render_. When you publish a newer render, the reel's clip flags _updated_ and conforms like any shot. A cut can never contain itself: the picker hides the cut and anything already above it. Rendering is on demand and publishing is deliberate, so a reel only ever sees approved renders. Each nested clip also shows which _saved edit_ its render came from; if the sequence has a newer saved version than its published render, the row warns _edit v5 ahead of render_ — render and publish that version to bring the reel forward. A clip's `⋮` menu also offers **Turn off / Turn on** (an off clip is dimmed and excluded from playback and export, shown with an **Off** badge) and **Remove from cut**. An empty cut prompts you to _"Add shots to build the cut, then drag to order and trim them."_ ### Trimming a clip Choose **Trim** from a clip's menu to open an inline, frame-accurate editor under the row. Set **In** and **Out** as frame numbers; a live readout shows the selected frames and seconds out of the clip's total. **Save** to apply, or **Reset** to clear back to the full clip. The row then summarizes the trim (e.g. _"120–360 f · 10.0s"_). ### The play timeline The blue **▶** on a clip row is **play from here**: it opens the same player parked on that clip's first frame and starts playing, so you can review the back half of a long cut without scrubbing to it. The clip's `⋮` menu has the same action. Rows with no published take, or that are turned off, show the button greyed out — they aren't in the sequence. **Play timeline** opens a full-screen player that runs every clip back-to-back on one global timeline with a single playhead — the live review tool (frame-exact continuous playback is the ffmpeg render). Video clips play their trimmed in→out; stills hold for a set number of seconds. Transport controls (with keyboard shortcuts): - Play / pause — `Space`. - Step one frame back / forward — `←` / `→`. - Previous / next clip — `Shift` + `←` / `Shift` + `→`. - Go to start / end — `Home` / `End`. - Split the current clip at the playhead — `B` (video clips only; makes two clips from the same take). - Trim the current clip's head to the playhead — `I` (drops the frames in front of it). - Trim its tail to the playhead — `O` (drops the frames after it). - Clear the current clip's trim (the restore icon) — plays the whole take again. - Set a loop range over the cut — **Loop In** / **Loop Out** (`\[` / `\]`), cleared with `\\`. - Turn looping on / off — `L` (the repeat icon; with no range set it loops the whole cut). - Delete the clip at the playhead — `Del` (ripples, leaving no gap). - Preview another published take of the current shot in place — `↑` newer / `↓` older, or the `vN` stepper in the transport. The picture swaps with the same trim and position; an amber _PREVIEW_ tag shows it isn't saved. **Use** pins the clip to that take (the same as choosing it in the list); the undo arrow drops back to the clip's own take. Previews are forgotten when you close the player. - Toggle a timecode / shot-name overlay burned into the picture. The transport shows elapsed / total time and _"Clip N / M"_ with the current shot name. The strip below is a **scrub band** — click or drag anywhere on it to seek. Each clip is a block sized by its duration, highlighted when current, with a **colored top border showing its conform status**. Flip on **reorder mode** (the swap icon) to drag blocks into a new order right on the timeline, with a blue insertion marker. When the cut contains stills, a **Still hold** control sets how many seconds each still lingers. Note: The timeline is for scrub, split, trim, delete, and reorder — there's no zoom/fit, and trimming is done by parking the playhead and pulling the head or tail to it, not by dragging the timeline blocks. For typing exact frame numbers, use the list's Trim editor — both write the same frame-accurate in/out. ### Loop range To watch one section over and over, park the playhead and click **Loop In** (`\[`), then park it at the end and click **Loop Out** (`\]`). Playback cycles between the marks; the range is drawn on the timeline as an amber band with handles you can drag, and the two timecodes next to the buttons jump the playhead to either mark. Note: The loop range is a _viewing_ aid — it never changes the cut. That is why it has its own keys: `I` and`O` still trim the current clip, which does edit the cut. Clear the range with the ⌫ icon or `\\`. ### Conform & takes Because clips reference slots, a cut **auto-conforms** to the latest published take of each shot — publish a new take and the cut picks it up, no re-linking. Each clip's badge shows its state: Live — showing the latest published take. Updated — the slot was re-published; the clip relinked to the newer take. Range — trimmed past the end of the current take — it'll be clamped. No take — the slot has no published take yet. To fix a clip to a specific take, use the **version pill** — the up/down chevrons _Upgrade_ / _Degrade_ one take at a time, or click the pill for **Choose version**, where _"Latest published"_auto-follows and any `vN` pins it (a pin icon marks a pinned clip). Each take in that list shows a **swatch**, its date and its **publish note**; the eye icon opens the take in the file viewer so you can watch it before choosing — arrow through the ladder there and press **Use this version** to pin the clip to the take on screen. **Track stream** narrows which stream on the slot a clip follows. ### Cut versions A **version** freezes the current assembly as an immutable snapshot you can re-render or roll back to: - Actions ▸ Save version — name it (optional); Loft records the clip count and notes any unresolved clips as gaps. - Actions ▸ Version history… — the Cut versions list shows each snapshot's clips, gaps, resolution@fps, and render count. - Per version: Render re-renders that frozen assembly to a new .mp4; Restore replaces the working cut with that version (confirmed first). ### Exporting & delivery All under **Actions ▸ Export & deliver**: - Export video… — opens the Export cut dialog: an Output name (auto-timestamped if blank), a Resolution (1080p, 720p, 4K, vertical, or square), an FPS (24 / 25 / 30 / 60), and Still hold for any stills. Render runs in the background like a generation: a "Rendering…" placeholder appears in the cut's Files and the Queue while it works, and the notification bell tells you when the .mp4 is ready (or why it failed). Include audio (on by default) carries each clip's own sound into the .mp4 — stills, silent takes and muted clips get silence; untick it for a video-only render. Music and voice-over live in the Audio section below. - Mute a clip — the speaker icon on a clip row (or Mute audio in its ⋯ menu) keeps its picture but silences it in the player, the render, and the EDL (a V-only event instead of AA/V). - Audio section (below the clip list) — music, voice-over or ambience tracks that sit under the picture. Add audio… lists every asset in the project with a published audio take (.wav / .mp3 / .m4a…). Each track has a Start time on the timeline, optional source In/Out, a Gain in dB, mute, on/off and remove. Tracks play in the timeline player (lanes under the clip strip) and are mixed into the render when Include audio is on; Download package bundles them in an audio/ folder with a CUE\_SHEET.txt, since a CMX3600 EDL can't carry them. Tracks anchor to absolute timeline time — re-cutting the picture doesn't move them. - Export EDL — writes a CMX3600 EDL and reports the event count. - Turnover — the handoff to a finishing editor. Saves a new cut version, then writes a turnover/ folder under the cut: a media/ pool of the source takes (filenames carry the shot and the take's code, so they never change and a take reused later maps to the same file), plus this version's .edl and a manifest. Run it again after re-cutting and only the new takes are added — an editor's Resolve or Premiere project relinks the new EDL against the same pool with no manual relinking. The folder is what a sandbox syncs to the editor. - Finishing files — the editor's own project (a Resolve .drp, a Premiere .prproj, a Final Cut .fcpxml) lives under the cut, like any DCC file. Every new cut starts with a finishing/ and a conform/ folder (project files in, timeline exports back). Upload the project into finishing/ from the Files tab; uploads never overwrite, so name iterations yourself (Reel\_01\_v002.prproj). Uploaded files are yours alone until you select them and Publish — that copies the file into the cut's pub/ folder and stamps the next version number. A turnover takes the newest published project per NLE and the package ships it under finishing/. The next editor imports the project, sees the media offline (different machine), and relinks once against media/ — the code in every filename makes that unambiguous. Note: Final Cut Pro cannot import a CMX3600 EDL; FCP editors work from the .fcpxml until FCPXML turnover lands. - Download package… — opens a dialog, then runs a turnover and zips it: media/, audio/ with a CUE\_SHEET.txt, the .edl, the manifest and any published finishing/ project files, with the same filenames as the turnover folder. Scope decides how much media travels. Everything is the full pool. Changes since turnover vN is the update case: the editor already has v3 in Premiere or Resolve, so the package carries only the takes v3's manifest lacks, plus the full current EDL and manifest, plus a CHANGES.txt listing each shot's old filename → new filename (the Replace With Clip list; nothing is renamed, the old file stays in her pool). Changed in the last N days is the fallback when nobody knows which turnover she pulled. The dialog previews the list before you download. Include toggles drop media, audio or finishing files. Save a new cut version is on by default; untick it for a working package (written as \_wip files, no version minted, not a baseline for later updates). - Changed filter — the 1d / 3d / 7d / 14d chips beside Find a clip show only clips whose take was published in that window, the same clock as the package dialog's day scope. Click the active chip again to clear it. Rendered outputs land in the cut's **Files** tab, where you can play, download, or publish them. Progress shows as the button's label (e.g. "Exporting…") with a summary when it finishes. ### Reviewing & collaborating **View clip** (per row) and **Actions ▸ Inspect frames**open the full-screen file viewer over the cut's media; **Open source asset** jumps to the shot a clip came from. Turn on **Sync**in the header to share the session in real time — presence avatars show who's here, and in a synced play timeline everyone's transport (play, pause, scrub) stays together. Tip: Build and order clips in the list, then live-review in the play timeline — use`Space` to play, arrows to step, `B` to split, and reorder mode to rearrange. When the cut looks right, Save a version so you can always re-render or restore it, then Export video. ## LOFTai › Dailies Source: https://docs.loftapps.com/ai/dailies/ ### Overview Dailies is the team review surface. Files are submitted from across the project into a daily asset, where the team can watch, annotate, and leave notes. ### Submitting a File Open a file in File Detail and use the **Submit** tab. Pick which daily to **Submit to** and add an optional **description**. The tab also shows a **Submitted To** list, from which you can unsubmit. ### The Dailies Asset A daily asset opens to two tools — **Submissions** and **Notes**. Click any submission to drop into the File Detail review tool to annotate, change status, and leave feedback the team will see. Tip: For a fast review pass, use File Detail's status filters plus the arrow and number keys to triage without the mouse. ## LOFTai › File Status & Commit Source: https://docs.loftapps.com/ai/commit/ ### Overview The Commit tool provides version control for an asset's files — showing what's changed, committing, and pushing to the server. It's available on the LoftDesktop app, where files live locally. If an asset's repo type isn't set up yet, the tab first shows a short form to configure version control (transport by default, or git for legacy assets); once set up, it shows the file status table described below. ### File Status Table The table lists the asset's files with their status: - OK — committed and up to date - Unknown — new/untracked, not yet committed - Modified — changed since the last commit Each row shows the file path, size, and status. ### Committing & Pushing - Click "Commit Changes," enter a message, and commit - Use "Push to Server" to upload committed changes; a progress bar tracks the upload - Transport is the default; existing Git-based assets keep working ### Additional Tools - Version selection — switch between asset versions - Branch management — switch Git branches (Git repositories) - Commit log — full history with messages and timestamps - Metadata & dependency viewers ## LOFTai › Playbooks Source: https://docs.loftapps.com/ai/playbooks/ ### Overview A **playbook** is free-form standing guidance the Assistant reads _every turn_ — house style, default image sizes, naming conventions, model preferences, anything you'd otherwise have to repeat. Playbooks are how you teach Loft your conventions once instead of restating them each time. ### Where playbooks live - Project Playbook — set from the Project Detail header (book icon). Applies to everything in the project. - Asset Playbook — set from the Asset Detail page. Applies when working on that asset. - User Playbook — your personal defaults, applied across your work. - Model Playbooks — per-model craft guidance that shapes how prompts are compiled for a given model. ### How they're used The Assistant layers playbooks into its context automatically — project, then asset, then your personal guidance — so more specific guidance refines the broader guidance. Keep them short and declarative; they're read on every request, so concise rules beat long prose. A playbook is a set of **defaults**, not a checklist. It fills in what you left unsaid when composing new content. When your message spells out what you want, the Assistant does not add playbook material on top of it, and it does not ask you about playbook items you did not raise. ### Edits to an existing image Select one image and ask for a change to it ("add a glow around her", "remove the sign", "keep everything the same but make the sky dusk") and the Assistant treats it as an **edit in place**: that image is the only input, the prompt locks composition, framing and subject position, and only the change you asked for is described. Playbook lines and asset descriptions stay out of the prompt, and a character's reference is not attached just because you mentioned them — a second image of someone already in the frame makes the model redraw them. Name the file, or say "reference", when you do want one included. Note: Playbooks are distinct from **Primers**: a primer is a reusable prompt template you apply on demand, whereas a playbook is always-on guidance. ## LOFTai › Assistant Source: https://docs.loftapps.com/ai/assistant/ ### Overview The Assistant is a conversational production agent scoped to the current project. It can answer questions, find and search assets, run queries, build dashboards in Composer, generate content, and take multi-step actions across the production. Open it from the **Assistant** button in the header — it appears as a resizable side panel so you can keep working alongside it. ### What You Can Ask - Find content — "show me every shot still missing a final render" - Build views — "build a dashboard of this week's submissions" (renders into Composer) - Investigate — "what's the cost breakdown for shot SH010 this month?" - Generate — "generate a wide establishing shot of the city at dusk" - Take action — bulk updates and deletes (subject to the confirmation thresholds in Project Settings) ### Context Tray Above the input sits the context tray — the assets and files the Assistant is currently working with, plus any files you've attached to this conversation. Click the box icon to open the **Pinned Items** list and review everything at once. Pins are useful outside the Assistant too: the file browser toolbar can pin a selection and open the same list, and the generation input picker has a **Pinned** pill that lists them for binding as references. - Click a file chip to open that file in the file browser, with its detail view already open - Click the folder icon on a file chip to jump to the folder that contains it instead - Click an asset chip to open the asset - Click × to drop something from context; attachments are removed the same way - Click the @ badge on a thumbnail in the context manager — or an attachment's thumbnail in the tray — to drop that file's name into your message, so you can point the Assistant at one item by name Tip: Imperative phrasing executes; desiderative phrasing discusses. Say "generate X" or "delete Y" to act; say "I'd like to explore Z" to talk it through first. The Assistant reads your project, asset, and user **playbooks** every turn. ## LOFTai › Image Builder Source: https://docs.loftapps.com/ai/builder/ ### Overview The Image Builder is a focused conversational workspace for generating images and videos. Describe what you want and it routes your request to the right model, runs it through the queue, and streams results back into the conversation. (It opens at `/builder`; the project Assistant covers the same generation plus the rest of the production.) ### Layout - Session sidebar (left, toggleable) — saved sessions with new/refresh controls - Conversation panel (center) — your exchange with the agent; messages, dropped files, inline status - Artifacts panel (right) — generated images and videos as queue items complete ### Intent, Model & Parameters Tabs above the input let you choose the output kind — Text-to-Image, Image-to-Image, Text-to-Video, Image-to-Video — and the set shifts when you drop an input image in. A model dropdown and a collapsible params bar expose the selected model's controls (dimensions, steps, guidance, seed, LoRAs, and model-specific options). Defaults are sensible; expand the bar only to tune. ### Sessions Each conversation auto-saves as a session. You can: - Open the session sidebar to switch between sessions - Start a fresh session - Resume any prior session — history and artifacts are restored - Link directly via /builder/ Tip: Be specific — style, mood, lighting, composition, and the role of each input image when you attach multiple references. ## LOFTai › Sessions Source: https://docs.loftapps.com/ai/sessions/ ### Overview Sessions are saved conversations with the Assistant and the Image Builder. Each session keeps the full message history, dropped files, and generated artifacts so you can return to any past conversation and continue. Conversations are personal. The history list and the sessions page show only your own sessions. Someone else's conversation appears only when you ask for it: select a file in the file browser with the history open, and the conversation that created it is listed under "Created the selected file", tagged with its author. You can read it but not delete it. ### Working with Sessions - Open the session sidebar (left edge of the Builder / Assistant) to browse, start, or delete sessions - Each entry shows a title from the first message and the last activity time - Click a session to reopen it — conversation, artifacts, and pending queue jobs reload in place - Link directly to a builder session via /builder/ Tip: Sessions auto-save as you interact — no manual saving. Walk away and your work will be there when you return. ## LOFTai › Queue Source: https://docs.loftapps.com/ai/queue/ ### Overview The Queue monitors every generation job in the project in real time — pending, running, completed, and failed — across all modalities and models. ### Modalities - Image — text-to-image and image-to-image - Video — text-to-video and image-to-video - Audio — generate dialogue and sound from text - 3D — image-to-3D - Lipsync — drive a character's mouth from an audio track - Upscale — enhance the resolution of an existing still or clip; a finishing pass, so it takes no prompt. Precision upscalers keep the source faithful; diffusion upscalers rebuild detail on generated or degraded footage. In the Generate tab you choose the factor (720p to 4K is 3x); when you ask the assistant for a size like "4K", it measures the source and picks the factor for you ### Models You pick from **logical models** — one card per model, with the underlying provider hidden. Which models are available is managed by admins in the **Models** bench and enabled per project under Settings → Services. (When you bring your own key, the model runs on your account instead.) ### Status Filters Filter by clicking the status buttons; you can select several at once: - All — every job - Pending — waiting to process - Running — generating now - Complete — finished successfully - Error — failed ### Paging The list loads 25 jobs at a time, newest first. **Load more** at the bottom fetches the next 25; the line beside it shows how many are loaded out of the total that match the current filters. The KPI tiles above the list count the whole filtered range, not just the jobs loaded so far. ### Job Details & Actions Click a job to expand it and see the prompt, inputs (as thumbnails, grouped by the role each one played), parameters, output previews, cost, and any error. From a job you can: - Copy Prompt — copy the prompt text - Regenerate — submit a new job with the same parameters - Credits used — each card's header shows what that job cost (a coin icon and the credit count, or dollars in dollar mode), next to its status. Legacy jobs without a recorded credit cost show the estimate converted at your tier rate. - Open in flow — the branch icon in the card header opens the lineage canvas with every output of the job selected; the same icon on a single thumbnail opens the flow for just that output - Delete — remove the job (with confirmation) - Open the linked asset The expanded prompt keeps its line breaks, and a long one scrolls inside its block after ten lines so the outputs stay in view. Note: The queue auto-refreshes every 5 seconds while jobs are pending or running, so you can watch progress live. ## LOFTai › Primers Source: https://docs.loftapps.com/ai/primers/ ### Overview Primers are reusable prompt templates. They store prompts you use often so you can apply them when generating without retyping. ### Primers List The primers table shows Name, Scope, Description, Tags, and Usage Count (how many generations have used the primer). ### Primer Detail Click a primer to see its full information, the complete prompt text, and a grid of renders generated with it. Note: A primer is applied on demand; a **playbook** is always-on guidance the Assistant reads every turn. Use primers for repeatable prompts, playbooks for standing rules. ## LOFTai › Generation Source: https://docs.loftapps.com/ai/generation/ The **Generate** tab generates images, video, audio, or 3D _for the asset you're on_, and delivers the results straight into that asset's files. You always work in the same rhythm: **pick a model**, set up its **inputs, prompt, and parameters**, then **Generate** and watch the results arrive in the queue beside you. **1 · Pick a model** Choose from a gallery of models. The model you pick decides the modality — image, video, audio, 3D, lipsync, or upscale. **2 · Set it up** Attach source images, write a prompt with reusable primers, and adjust the model's parameters and output count. **3 · Generate & review** Submit; the job runs in the queue on the right and finished takes land in the asset's files. Note: The Generate tab needs a **published (server-side) asset** to run against — it appears on assets that exist on the server. When you pick a model the view splits in two: the **setup** form on the left and the live **generation queue** on the right. ### Step 1 — Pick a model The panel opens on a model gallery headed **"Select a model to get started."** There's no separate "what do I want to make" switch — the model carries its modality, so choosing a model _is_ choosing the output type. To narrow the list: - Search — type in "Search models…" to filter by name or description. - Type pills — filter by modality: All, Text to Image, Image to Image, Text to Video, Image to Video, Video to Video, Text to Audio, Lipsync, Image to 3D, and Upscale. - Recently Used — your last-used models sit at the top (with a use-count badge) so repeat work is one click. Each card shows the model's name and a short description; the provider is hidden (one card per logical model). A model that runs on your own key shows a **"your key"** badge (_"Runs on your desktop using your local provider key"_). Click a card to select it; use **← Back** in the header to switch models. A few cards are **opt-in only** — Flux Kontext Pro and Flux Kontext Pro Edit today. They are fully available here and you can pick them from this gallery like any other model, but the Assistant will never choose one _for_ you: not as a default, and not as a stand-in when the model you named is switched off for this project. Kontext is flagged this way because its provider moderates the endpoint on its own side and returns all-black frames for a lot of ordinary production content. If you want it, name it ("use Kontext") or pick it here. ### Step 2 — Add inputs Models that take media (image-to-image, image-to-video, lipsync, upscale, and so on) show input slots above the prompt. Each slot is labeled by the _role_ it plays: - First Frame / End Frame — the start and end images for a video. - Reference Images — one or more images the model draws style or subject from. - Input Video — the clip a video-to-video model transforms. - Reference Audio — audio to drive lipsync or scoring. Click a slot to open the picker, which browses **this asset's own files** — navigate categories and folders, then **Done**. The **Pinned** pill switches the grid to whatever is pinned in the Assistant's context, from anywhere in the project, so a reference you were just discussing is one click away. It uses the full-resolution source, not the thumbnail. Every tile shows its **status badge**, and a **status dropdown** next to the swatch slider controls what's offered. The default is **Published** files from anywhere, plus **Selected** files that belong to this asset — another asset's work-in-progress is never offered, only what it has published. Untick or tick statuses in the menu to widen or narrow that (Show All, or opt into New, Dropped or Untracked); **Default** restores the rule. When everything in a folder is hidden, the picker says how many files the filter is holding back. Reference images get **@-mention badges** (`@Image1`, `@Image2`…) you can name in the prompt to say how each one should be used. To drop an input, click the **×** on its thumbnail in the form — no need to reopen the picker. Picking the same file again in the picker toggles it off rather than adding it twice. Note: Some models offer **scenario modes** — for example "First / Last Frame" vs "References" — as a toggle above the inputs. Only the active scenario's slots are shown and submitted, so you can't accidentally mix incompatible inputs. ### Step 3 — Write the prompt The **Prompt** box is a resizable, multi-line field. Above it sits a small toolbar for reusing prompt language: - Primers — inject reusable prompt blocks into the prompt. - Save current prompt as primer — keep good language to reuse later. - Browse previous prompts — pull from prompts used before on this asset. **Primers** come in three scopes: _System_ (always included, can't be turned off), _Project_, and your personal _My Primers_. The prompt actually sent is the composition of the active primers plus your typed text (see the Primers topic). Prompt-less models (image-to-3D, and upscalers, which are directed by their parameters instead) hide the prompt box; a negative-prompt field only appears if the chosen model defines one. ### Step 4 — Set parameters & count Parameters are generated from the model's own definition, so you only ever see controls the model actually supports (resolution, aspect ratio, duration, and the like). Rarely-touched fields — seed, steps, guidance — are tucked behind an **Advanced (N)** disclosure; defaults are sensible, so expand it only to tune. A **Number of Images** / **Number of Videos** stepper sets how many outputs to make — **default 1**, up to 10. Ask for more only when you want variations to choose between. Note: When a model offers it, a **Content filter** toggle (Filtered / Unfiltered) appears; Unfiltered routes to a dedicated no-content-filter endpoint. It defaults to the model's / project's policy. ### Step 5 — Generate & review Press **Generate** (or **Cancel** to back out). Loft checks that the prompt and any required fields are filled, then submits the job to the **queue** on the right, where it moves through **Pending → Running → Complete** (or Error), refreshing every few seconds. 1. Finished results appear as thumbnails on the queue card — click one to open the full-screen preview (videos play; siblings show as a filmstrip). 2. Expand a card for **Copy prompt**, **Regenerate**, the inputs grouped by slot (First frame, References, …), and a details table (model, size, seed, steps, and more). 3. Completed takes are delivered into this asset's files — the asset-name link on the card jumps you there. Remove a queued item with Delete. ### Who runs the job & what it costs A live **cost estimate** shows next to the prompt toolbar before you submit — in credits or dollars depending on your billing mode (it's hidden if the model has no pricing on file). Two ways a job can run: - Loft keys — the Loft server runs the job and bills your credit balance. The default for Virtual projects. - BYOK ("your key") — a model marked with the your-key badge runs on LoftDesktop using your own provider key, billed to your provider account, not Loft. For a Local project with no desktop key, the server can still generate on Loft keys and deliver the output back into your local folder. Actual spend is recorded per job and rolls up in Costing and your wallet — see the **Credits & Billing** and **Queue** topics. If your credit balance won't cover the estimate, the **Generate**button is disabled and the panel shows how many credits are needed versus available, with a **Purchase credits** link to billing. Tip: The same generation panel appears in a few places — the Assistant's Generate action, file-detail regenerate, and library detail — so this workflow carries over wherever you start a generation. Keep the default of **one** output while you dial in the prompt, then raise the count once the setup looks right. Note: Standalone **LoRA training** (the Train tab on LoRA assets) is in development. LoRAs can still be applied as parameters during image generation; a dedicated training flow will follow. ## LOFTai › All Tasks Source: https://docs.loftapps.com/ai/all_tasks/ ### Overview The Tasks page under MANAGE shows every task in the current project, regardless of assignee — the management view for leads and administrators. ### Features It uses the same interface as My Tasks: - A KPI summary row (total, complete, in progress, pending, overdue, people) - List and Calendar views - Filtering by project, process, status, and people - Search and click-through to task details ### Difference from My Tasks **My Tasks** shows only tasks assigned to you; **Tasks**shows the complete list. Use it for the full picture of workload and progress. ## LOFTai › Types Source: https://docs.loftapps.com/ai/asset_types/ ### Overview Types (MANAGE ▸ Types) define the kinds of assets your project works with (e.g. character, shot, cut, daily, LoRA). Each type carries the load-bearing facets that shape an asset: its tool profile, its metadata schema, its folder structure, and its repo type. Types are listed one per row. ### Type Rows Each row surfaces the type's facets as chips: - Tools — how many tools (tabs) the type opens with - Schema — the number of structured metadata fields - Folders — the folder structure created for new assets of this type - Repo — the repository type used for its files ### Built-in vs Custom **Built-in** types are seeded by Loft and read-only, but each can be toggled on or off per project. **Custom** types are project-scoped — use **Add Type** to create one with its own name, tools, schema, and folders. Editing a built-in **Customizes** it: Loft saves a project-specific copy that overrides the shared default for this project only. ### Editing a Type Click a row to open the editor. It's organized into sections: - Basic — name, code (fixed once the type exists), icon, and description - Default tools — the tabs every new asset of this type opens with; users can still add or remove tools per-asset later - Metadata schema — the structured fields shown under the Properties tool (users can still add per-asset custom fields there without touching the schema) - Folder layout — repo type plus the folders created when an asset is initialized The **Metadata schema** is a list of compact cards — one per field, showing its label, key, type, and group at a glance. Click a card to edit that field in a modal, use the trash icon to remove it, or **Add field**to create one. Each field has a key (machine name, auto-derived from the label), a label, a type (text / number / date), an optional group header, and optional placeholder hint. ### Repo Type A type's **repo type** decides how its files are version-controlled: - None — no version control configured yet - transport — Loft's resumable upload to the server (the default for new assets) - git — legacy Git/LFS history and branches; opt-in for small text-based assets New types default to **None**; an asset created without an explicit repo type gets **transport**. The Commit tab is opt-in — it appears only when the type (or an individual asset) includes the Commit tool. When it's shown for an asset whose repo isn't set up yet, the tab offers a form to configure version control (transport, or git for legacy assets) for that asset. ### Visibility Not every registered type appears in the **Add Asset** picker. A few built-ins are kept out of it on purpose but still show here, badged: - Hidden — plumbing or tool-only types (e.g. Library, AI Generation, Image Gallery) that back features under the hood; you don't hand-create them. - Beta — types whose authoring flow isn't ready yet (e.g. AI Checkpoint, AI LoRA). This is separate from enable/disable: **Disabled** is a per-project opt-out you control, while Hidden/Beta are ship defaults. Anything hidden stays fully active — generation and libraries keep working; it just isn't offered as a thing you manually add. ## LOFTai › Libraries Source: https://docs.loftapps.com/ai/asset_libraries/ ### Overview Libraries organize your project's assets into groups. They appear in the sidebar under LIBRARIES, and **MANAGE ▸ Libraries** shows them as a card grid with an asset count on each. Clicking a card opens the library's files; the gear on a card opens its **detail page**. ### Adding a Library Use **New Library**. Each library captures: - Name — the display name shown in the sidebar and throughout the app - Description — optional - External folder path — optional; point the library at a folder outside the project to browse it in place - S3 location — optional; browse a bucket in place (read-only) A library has one root: a folder path or an S3 location, not both. ### Library Detail Page Each library has its own page. The header shows where its files live, how many assets it holds, and how many groups can see it, with **Open**to jump to its files and a back arrow to the list. Below are tabs: - Details — rename the library, edit its description, or change its external folder / S3 root. Renaming keeps the library's code and its assets. - Access — which groups can see this library. Switch a group on to share the library with it; groups that hold View All Assets already see everything and are marked as such. The same grants appear on the group's page under its Libraries tab. - Notes — discussion attached to the library itself **Delete** (trash icon in the header) removes the library. If it still holds assets you are warned first; the assets themselves are not deleted. ### Common Libraries - Characters — character models, rigs, and references - Environments — scenes, backgrounds, and environment assets - Props — objects used in scenes - Shots — shot-based work organized by sequence - Editorial — cuts assembled from shots ## LOFTai › Users Source: https://docs.loftapps.com/ai/users/ ### Overview The Users page (ADMIN) shows everyone in your organization: what license each person holds, which groups they belong to, and what they've been working on. A KPI row at the top summarizes total users, who's active now, task counts, and generations. ### Users and crew Loft knows two kinds of person. A **user** has an account, signs in, and holds a seat. **Crew** are the people you manage, schedule and budget who never sign in: a record with a name, a role and maybe an email, but no account and no seat. A crew list for a show is mostly crew; the handful who will actually work in Loft are users. The Users page lists users; crew appear in their own section below, and they are not counted as users. Crew can become users later. Inviting someone who is already crew promotes the same record when they accept, so their roles, rates and assignments stay with them. ### Adding people Users join by invitation. Accounts and seats live in the portal, so an account created inside the app would have no way to sign in and no seat attached to it. Crew are simply added. There are two ways in: - Import people — paste a list and let Loft do the rest (below). Use this for a crew, a department, a whole show, whether they are users, crew, or a mix. - Invite one — opens your organization page for a single invite. ### Import people **Import people** takes whatever you have. Paste cells from a spreadsheet, an email thread, a call sheet, a crew list, or upload a CSV or Excel file. There is no template and no header row to match. Loft reads the list, finds each person, and shows you a **plan**: who is new, who is already a member, who already has an invite pending, and who has no email yet. It proposes a group for each person from the groups you have, based on their department or title, and tells you what it decided. - Choose the default first: invite them as users, or add them as crew. Then flip anyone in the plan the other way — a new person's Outcome column is a switch. - Every cell in the plan is editable — fix a name, add a missing email, change the group or seat. - Or say what's wrong in words ("Sam is in Comp, not Lighting", "skip the vendors") and the plan updates. - Uncheck a row to leave that person alone. Nothing is sent until you press the button. - Commit sends one invite per new user. Their group and seat are applied the moment they accept, so they arrive able to work. - Crew rows are written immediately as records. No email is needed, nothing is sent, and no seat is used. - Someone already here only changes group; seats for existing members are assigned on the organization page. - Only the organization owner can send invites. Anyone who can manage users can prepare the plan and add crew. The assistant knows this too: paste the list into the chat, or attach the spreadsheet, and say "add these people". It opens the import with the plan ready for you to check. ### License Each person shows the seat they hold — **Free**, or the name of a paid tier. The license is a ceiling: it sets the most a person can do, and their group decides what they actually do within it. Free members can browse and build but cannot run generation. Seats are assigned on the organization page. ### Groups A person's groups are listed on their row — click one to open it. To change membership, open the user (click their name) and use the Groups section, or work from the other direction on the group's Members tab. An amber group chip means the membership points at a group that no longer exists and grants nothing. ### Removing someone The organization **owner** can remove a member with the icon at the end of their row. This releases their seat back into the pool and revokes their access; their work stays where it is. The owner cannot be removed, and you can't remove yourself. ## LOFTai › Groups Source: https://docs.loftapps.com/ai/groups/ ### Overview The Groups page (ADMIN) is where you decide what people can do. Each row states what the group grants and how many members it has, so you can see the shape of your permissions without opening anything. A group is one half of the picture: it chooses what a person does within the limits of the license (seat) they hold. A group can never grant more than the license allows — see Users for the license side. ### Managing Groups - New group — name it, describe it, and optionally start from a copy of another group's permissions - Permissions (shield icon) — choose what the group grants - Edit (pencil) — change the name or description - Delete (bin) — remove the group; you'll be told how many members it has first - Open — the group's detail page, where you manage its members ### Permissions The shield icon opens the permissions panel, which is split into two halves. Every setting there carries a short description of what it controls, so the summary below is only the shape of it. **Modules** decide what the group can reach — the sidebar entries and the pages behind them. Turning off **Manage** hides the whole Manage and Admin area, including every sub-setting indented beneath it. Modules control visibility only: being able to see the Generate page is a different setting from being allowed to run a generation. **Actions** decide what the group may change — creating, editing and deleting assets, and running generation. These are allow or deny, with no middle setting, and they are checked on the server, so they apply to the assistant and the desktop client as well as the web app. Manage sub-settings use **view** for read-only and **edit** for the write half of that page. On Queue, for example, view shows the project's whole generation queue while edit is what allows deleting other people's queue items — without it, a person can only delete their own. ### System groups Groups marked **System** (such as loft\_free and loft\_admin) are created by the platform, and every member of the organization depends on one of them. You can change what they grant, but they can't be renamed or deleted. Tip: A group tagged "Grants nothing" has no permissions set. Adding someone to it has no effect — set its permissions, or use a different group. ### Group Detail & Members Open a group to manage its members. On the Members tab, pick a user and click Add to place them in the group, or remove a member with the close icon. The same membership can be managed from the other direction on a user's detail page — under Groups, use "Add to group…" or the remove icon on a group chip. The Security tab configures the group's access permissions. ### Access Control Each group can have specific permissions that control which project areas and features its members can access. Open the security configuration from the access icon in the table or the group's Security tab. Membership in a Loft group is also what opens the app itself. A user with no Loft group (for example someone added only to Resource) does not see Loft in the portal and is shown a "not a member" screen if they open a Loft link directly. Add them to a group such as **loft\_user** to let them in; which projects and libraries they then see is decided by project visibility and library sharing. ## LOFTai › Costing Source: https://docs.loftapps.com/ai/costing/ ### Overview Costing tracks spend across the project — both generation and Assistant usage. It shows summary KPIs at the top and detailed breakdowns underneath. Amounts here are shown in dollars; your **credit** balance lives in the header chip and wallet (see Credits & Billing). ### Summary Cards Four KPI cards show Total Spend, This Month, Last Month, and Avg Cost / Shot. Each splits its value into generation vs AI-assistant spend. ### Breakdowns Four tabs offer different views: - By Service (default) — Generation vs AI Assistant vs Resource Assistant - By Asset — nested: category → parent/shot → asset → queue items; rows with budgets show a green/red variance indicator - By Model — count and spend per model - By Month — count and spend per month ### Cost Display Costs under $0.01 show 4 decimals; everything else uses 2. Zeros display as $0.00 so empty cells stay visible. ## LOFTai › Project Settings Source: https://docs.loftapps.com/ai/settings/ ### Overview Project Settings configures how the project stores files, how aggressively the Assistant acts, and which services and tools are available. The page **autosaves** — a status chip shows Saving / Saved, so there's no Save button to press. Settings are organized into tabs; the **Access** tab appears only if you can manage users. ### General — File Access Mode - Server — files live on the server; works from any browser, no client software - Local — files live on a local/shared drive; requires LoftDesktop. Configure the drive path (e.g. Z:\\Projects\\PROJECT0002) and the publish folder name (default "pub") See the Modes topic for the full comparison. ### General — Beta Features **Show Beta Features** is off by default. Turning it on adds the **Composer** and **Flows** entries to the sidebar for everyone working on this project. These tools still change without notice, so leave the switch off on a project doing real work. ### Access — Visibility & Team Who can see this project, and who is on it. The same controls are on the project page (the people icon in the header); this tab is the fuller view. - Visibility: Everyone — anyone with an account on the site sees the project in their list. This is the default, including for every project created before the setting existed - Visibility: Assigned team only — the project is hidden from everyone except the team below, plus admins and owners, who always see every project - Team — the project's crew. Add a person to let them see a restricted project; adding them also grants the access group they need to use the app, if they don't already carry one The team is the same roster Resource staffs, so someone staffed on the project there is admitted here automatically. Removing a person takes them off this project only — they keep access to any other project they're on, and they keep their account. Tip: Visibility scopes the project _list_. Restricting a project hides it from discovery; it isn't a lock on a URL someone already has. ### Generation — Defaults Standing preferences every generation starts from. Each is optional; left unset, generation behaves exactly as it did before. - Preferred Models — which model the Assistant reaches for when a request doesn't name one, set separately for image, video, and image-to-video. A model you name in the request always wins; otherwise the model selected in the chat's model bar comes first, then this preference, then the Assistant's own pick. A preference pointing at a model that's since been disabled falls back automatically rather than failing - A model that accepts a start frame under a text-to-video card is offered in both the Video and Image to Video slots, and is picked for animating an image just like a dedicated image-to-video model - Aspect Ratio — the shape of the frame, translated to each model's own format automatically - Video Resolution — the resolution tier for models that offer one; higher tiers cost more - Generate Sound — off by default, because native audio bills extra on every provider that offers it. Asking for sound in a specific request still works Defaults apply only to models that accept the setting, and never override a value the request already specified. Reruns reproduce the original job's settings and ignore these entirely. ### Assistant — Limits Thresholds that trigger a confirmation before the Assistant does something expensive or destructive. Set `-1` on any limit to disable it (never ask). - Video Generation — max videos in one batch before confirming - Image Generation — max images in one batch before confirming - Bulk Delete — max items to delete before confirming - Bulk Update — max items to update before confirming ### Services & Tools The **Services** tab toggles built-in models and registers external services; the **Tools** tab registers local editor applications. See the Services & Tools topic for details. Tip: The Assistant limits are a safety net, not a wall — the Assistant asks once and proceeds if you confirm. Set them to match how much you trust its judgment on this project. ## LOFTai › Account Source: https://docs.loftapps.com/ai/account/ ### User Menu Click your name or the person icon in the top-right corner to open the user menu: - Theme — switch between Dark and Light mode (saved automatically) - Help — open the documentation - Account — manage your account (see below) - Business — jump to your organization page in the portal - Logout — sign out of LOFTai ### Account Page — Provider Keys On the LoftDesktop app, the Account page manages your own **provider API keys**, stored securely in the OS keychain. These power BYOK generation — models run on your account with your keys. This is separate from billing and credits (see Credits & Billing). ## LOFTai › Credits & Billing Source: https://docs.loftapps.com/ai/credits/ ### Overview When generation runs on Loft's keys, it's billed against your **credit** balance. The header shows a credits chip; click it to open your wallet. ### The Wallet The credit audit modal shows: - Your current balance - Recent spend - A grant/spend statement from the authoritative credit ledger - Click any generation charge to open its queue item in the pane on the right — model, prompt, parameters, timing and outputs - A "Manage billing" button that opens the portal billing page ### How credits work Behind the scenes Loft stores real dollar costs and presents them as credits. Monthly plans grant credits into your ledger; each Loft-keys generation deducts from your balance. BYOK generations run on your own provider account and don't draw Loft credits. ### Seats — who may create and generate Credits are what your organization may _spend_; a **seat** is who may _act_. Each member holds at most one paid seat, assigned by the organization owner from the seats the organization has bought. Without a seat you can browse, view, comment and annotate, but not run generation — and you can create only one project. A seat is a separate thing from a role. Being an admin, or even the owner, does not grant one: ownership says what you're allowed to do, a seat says what has been paid for. An owner who provisions the whole team and forgets to assign themselves a seat hits the same limits as anyone else. ### "You need a seat to create a project" Creating a project past the free allowance of one requires a paid seat. If you hit that message, the dialog tells you which case you're in: - Your organization has unassigned seats — nothing to buy. The owner assigns one to you on the organization page in the portal. - No seats are free — an owner can add one from Plans & Billing; anyone else needs to ask the owner. The limit lifts as soon as the seat is assigned; nothing needs to be recreated. Note: Credits are the header/wallet display; the **Costing** page shows the same spend broken down by service, asset, model, and month in dollars. # LOFT Resource Production management: scheduling, crew and role planning, timesheets, materials and cost reports. ## LOFT Resource › Why Teams Use LOFT Resource Source: https://docs.loftapps.com/resource/why/ LOFT Resource helps studios, agencies and service firms plan who works on what, and see what that plan will cost before they commit to it. ### The problem it solves Most studios plan their people in spreadsheets. One sheet holds the schedule, another the rates, another the budget, and they are never quite in sync. Double-booked artists, idle weeks and under-priced bids tend to surface only when the invoices arrive, when it is too late to fix them. ### What makes it different #### The schedule and the money are the same picture Assign people to roles week by week on a visual timeline. Switch the same view to cost and you see what each week of each person costs, what you are billing the client for it, and the margin left over. A staffing change and its financial effect are never in two different places. #### Try a plan before you commit to it Make a copy of your plan, move people around, and compare the two side by side. When one is better, make it the real plan. Nothing changes for the team until you decide. #### See every project at once Load several projects together and see clashes straight away: people who are booked twice, and people who have free time. The crew view flips it around and shows each person's workload across everything they are on. #### Compare the plan with what really happened People record the hours they actually worked. Reports set those hours against the plan, and utilization reports show who is overloaded and where you have spare capacity. Each new bid is then based on what really happened last time, not on a guess. #### More than people Software licenses, hardware and other costs sit alongside labor, so a project's budget shows its true cost. #### Built for teams in several countries Rates and costs can be held in different currencies and converted automatically. #### Sensitive numbers stay private Salaries, rates and budgets are only visible to the people you choose. Everyone else can still see the schedule they need. ### Who it is for Production leaders, producers and studio managers in film, animation, visual effects, games, advertising and other professional services, anywhere the main cost is people's time and margins depend on planning it well. ### How it fits with LOFTai LOFT Resource and [LOFTai](https://docs.loftapps.com/ai/why/) share the same organization, the same people and the same sign-in. Hours your team logs in LOFTai count toward the plan-versus-actual reports in Resource. You can use either one on its own, or both together. ### Getting started Start with [Welcome to LOFT Resource](https://docs.loftapps.com/resource/welcome/), then the [Role Planner](https://docs.loftapps.com/resource/role_planner/), which is where most planning happens. ## LOFT Resource › Welcome to LOFT Resource Source: https://docs.loftapps.com/resource/welcome/ ### What is LOFT Resource? LOFT Resource is a workforce planning and resource management platform built for studios, agencies, and professional services firms. It brings together scheduling, cost tracking, utilization reporting, and team management into a single workspace so production leaders can plan with confidence and protect their margins. ### Key Features - Role Planner — Visual timeline for scheduling people across projects with drag-and-drop - Crew Planner — Manage crew assignments and availability across your organization - Cost Tracking — Real-time cost analysis with bid rate, loaded rate, salary, and net margin views - Scenario Planning — Model alternative staffing plans side-by-side before committing - Utilization Reports — Track team utilization rates and identify capacity gaps - Cost Reports — Periodic cost breakdowns by project, role, and time period - Material Tracking — Manage software licenses, hardware, and other cost categories - Timesheet — Record and review actual hours worked against planned schedules - Multi-Currency — Full support for global teams with automatic currency conversion ### Getting Started When you first sign in, you will see the **Projects** overview. From there you can create projects, set up your organizational groups, and begin planning your workforce. - Set up your organizational Groups (departments, divisions, locations) - Add Crew members with their roles, rates, and availability - Create Projects and define their timelines - Open the Role Planner to start scheduling people to projects - Switch to Cost mode to see the financial impact of your staffing plan - Use Reports to track utilization and costs over time ### Navigation Use the **sidebar** on the left to navigate between sections. The sidebar is organized by what you are doing: - PROJECTS — the portfolio; open one and the sidebar switches to that project's Plan, Produce and Account views - PLAN — Role Planner, Crew Planner, and Task Gantt across all projects - TRACK — Timesheet and Work Hours as they are logged and approved - REPORTS — Weekly Status, Utilization, Cost Report, and Composer - SETUP — Crew, Groups, Pipelines, Cost Categories, Software, Hardware, and Security Groups Tip: Click the theme toggle icon in the top-right corner to switch between dark and light mode. ## LOFT Resource › Projects Source: https://docs.loftapps.com/resource/projects/ ### Overview The Projects page provides a high-level overview of all active projects in your organization. It serves as a dashboard where you can see project status, timelines, and financial summaries at a glance. ### Project Summary Each project displays key information including: - Project name, code, and color-coded identifier - Start and end dates with timeline visualization - Budget and cost summary - Current status and progress indicators ### Creating Projects - Click the add button to create a new project - Enter the project name, code, and description - Set the start date, end date, and color for identification - Configure budget and rate information - The project will appear in the Role Planner for scheduling ### Project Detail Click on any project to open its detail view where you can see a full breakdown of assigned roles, planned costs, material expenses, and timeline information. You can also manage project-specific settings and metadata from this view. ## LOFT Resource › Assets Source: https://docs.loftapps.com/resource/assets/ ### Overview The Assets page lets you track and manage equipment, tools, and other physical assets across your organization. Assets can be assigned to projects, teams, or individuals. ### Managing Assets - Browse all assets in a searchable, sortable table - Filter by type, status, or assignment - Click any asset to view its full details and history - Add new assets with the create button ## LOFT Resource › Timesheet Source: https://docs.loftapps.com/resource/timesheet/ ### Overview The Timesheet page allows team members to record their actual hours worked against planned schedules. This data feeds into cost reports and utilization analysis, providing the ground truth for how time is actually being spent. ### Entering Time - Select the week you want to enter time for using the date navigator - Enter hours for each day against the projects and roles you're assigned to - Hours are auto-saved as you type - Use the total row to verify your weekly hours ### Reported vs. Planned Timesheet data represents **reported** (actual) hours. When viewing cost reports, you can compare reported hours against **planned** hours from the Role Planner to identify variances and improve future estimates. Tip: Regularly entering accurate timesheet data helps your organization build better cost estimates for future projects. ## LOFT Resource › Role Planner Source: https://docs.loftapps.com/resource/role_planner/ ### Overview The Role Planner is the core scheduling tool in LOFT Resource. It provides a visual timeline where you can assign people to projects, see availability at a glance, and understand the cost impact of every staffing decision. ### Loading Projects Before you can start planning, you need to load one or more projects into the planner. - Click the Load Project button in the toolbar - Select one or more projects from the dropdown - Projects will appear in the timeline with their assigned roles - You can load multiple projects simultaneously for cross-project planning ### Scheduling The timeline grid shows weeks (or months) across the top and roles down the left side. - Click on a cell to assign a person to that role for that week - Drag across multiple cells to assign for a range of weeks - Each cell shows the allocated percentage or days - Color coding indicates availability: green (available), red (overbooked), yellow (partial) - Use the date navigator to scroll through the timeline Tip: Hold Shift while clicking to select multiple cells, then use bulk actions to assign or clear them. ### Display Modes The Role Planner supports four display modes, accessible from the toolbar: - Schedule — Default view showing assigned people with color-coded cells - Label — Shows text labels for each assignment - Day — Shows the number of days allocated per cell - Cost — Switches to financial view showing dollar amounts per person-week ### Cost Mode When you switch to **Cost** display mode, the planner shows the financial impact of your staffing plan. You can choose between different cost calculation methods: - Bid Rate — The rate charged to the client for this role - Loaded Rate — The fully loaded cost including overhead and benefits - Salary — The base salary cost of the assigned person - Net — The profit margin (bid rate minus salary cost) Total rows at the bottom aggregate costs across all visible roles, giving you a clear picture of project-level and portfolio-level financial health. Note: Cost mode requires budget view and reports module permissions. If you don't see the Cost option, contact your administrator. ### Scenarios Scenarios let you model alternative staffing plans without affecting your current schedule. - Create a new scenario from the Compare menu - Make changes in the scenario without affecting the main plan - Compare scenarios side-by-side to evaluate trade-offs - Promote a scenario to become the active plan when ready ### Saving Layouts You can save and restore your planner configuration including display mode, cost mode, loaded projects, and filter settings. - Click the layout menu to save your current view - Give your layout a name for easy identification - Saved layouts preserve display mode, cost mode, filters, and project selections - Load a saved layout to quickly restore a previous view ### Total Rows The planner can display aggregated total rows at the bottom of the grid. Available totals include: - Cost — Total cost across all visible roles per time period - Revenue — Total revenue (bid rate) per time period - Net — Profit margin per time period - Milestones — Key project milestones on the timeline ## LOFT Resource › Crew Planner Source: https://docs.loftapps.com/resource/crew_planner/ ### Overview The Crew Planner provides a people-centric view of your workforce. While the Role Planner organizes by project and role, the Crew Planner shows each person's workload across all their assignments. ### Viewing Crew Assignments - Each row represents a team member - The timeline shows all their project assignments - Color coding indicates utilization: under-booked, fully booked, or over-booked - Filter by department, location, or role to focus on specific teams ### Managing Availability Use the Crew Planner to identify scheduling conflicts, find available people for new projects, and balance workloads across your team. Tip: Cross-reference the Crew Planner with the Role Planner to ensure you're not over-committing key people across multiple projects. ## LOFT Resource › Work Hours Source: https://docs.loftapps.com/resource/work_hours_planner/ ### Overview The Work Hours planner lets you define working schedules, holidays, and availability patterns for your organization. This information is used by the Role Planner and cost calculations to determine actual available capacity. ### Configuration - Set standard work hours per day and days per week - Define holidays and company-wide days off - Configure location-specific schedules for global teams - Set individual overrides for part-time or flexible schedules Note: Work hours directly affect cost calculations. A person working 4 days/week will show proportionally lower costs than someone on a 5-day schedule. ## LOFT Resource › Task Planner Source: https://docs.loftapps.com/resource/task_planner/ ### Overview The Task Planner provides a task-level view of project work. While the Role Planner focuses on high-level scheduling, the Task Planner breaks work down into specific deliverables that can be assigned, tracked, and completed. ### Managing Tasks - Create tasks and assign them to team members - Set priorities, due dates, and status - Track progress through customizable pipeline stages - Filter and sort tasks by project, assignee, status, or priority ### Task Status Tasks move through pipeline stages as work progresses. Common stages include Not Started, In Progress, Review, and Complete. Your administrator can customize these stages to match your workflow. ## LOFT Resource › Task Gantt Source: https://docs.loftapps.com/resource/task_gantt/ ### Overview The Task Gantt provides a traditional Gantt chart view of your project tasks, showing dependencies, durations, and milestones on a visual timeline. ### Using the Gantt Chart - Tasks appear as bars on the timeline, with length indicating duration - Drag bar edges to adjust start and end dates - Draw arrows between tasks to create dependencies - Milestones appear as diamond markers on the timeline - Use zoom controls to view different time scales (days, weeks, months) Tip: The Gantt chart is particularly useful for identifying scheduling conflicts and understanding the critical path of your project. ## LOFT Resource › Cost Categories Source: https://docs.loftapps.com/resource/materials/ ### Overview Cost Categories let you define and track non-labor costs such as software licenses, hardware, subscriptions, and other project expenses. These costs can be included in project budgets and cost reports alongside labor costs. ### Managing Categories - Create custom cost categories to match your organization's expense types - Assign costs to specific projects or across the organization - Set recurring vs. one-time costs - View category breakdowns in cost reports ### Integration with Cost Reports Cost categories appear alongside labor costs in the Role Planner's cost mode and in the dedicated Cost Report. This gives you a complete picture of total project costs, not just headcount expenses. ## LOFT Resource › Software Source: https://docs.loftapps.com/resource/software_report/ ### Overview The Software page tracks software licenses and subscriptions across your organization. It helps you manage per-seat costs, license utilization, and renewal schedules. ### Tracking Software - Add software applications with their license type and cost - Track the number of seats/licenses owned vs. in use - Set renewal dates and get visibility into upcoming renewals - Assign software to specific departments, projects, or individuals - View total software spend in cost reports ## LOFT Resource › Hardware Source: https://docs.loftapps.com/resource/hardware_report/ ### Overview The Hardware page tracks physical equipment and devices across your organization including workstations, monitors, peripherals, and other hardware assets. ### Managing Hardware - Add hardware items with their specifications and cost - Track assignment to team members or departments - Monitor asset lifecycle and depreciation - View hardware costs as part of your overall project budgets ## LOFT Resource › Utilization Report Source: https://docs.loftapps.com/resource/utilization_report/ ### Overview The Utilization Report shows how effectively your team's available capacity is being used. It compares planned or booked hours against total available hours to calculate utilization rates by person, department, or organization. ### Reading the Report - Each row represents a person or group (depending on summary level) - Columns show time periods (weekly or monthly) - Values represent utilization percentage (booked hours / available hours) - Color coding highlights under-utilized and over-utilized periods ### Date Navigation Use the date navigator at the top to change the time range. You can view utilization on a weekly or monthly basis. Adjust the number of periods shown to zoom in or out on the data. ### Summary Levels Use the Summary menu to aggregate data at different levels: - By Project — See which projects are consuming the most capacity - By Person — See individual workload and availability - By Department/Division — See team-level utilization patterns Tip: A healthy utilization rate is typically 75-85%. Rates above 90% may indicate risk of burnout, while rates below 60% suggest capacity that could be better utilized. ## LOFT Resource › Cost Report Source: https://docs.loftapps.com/resource/cost_report/ ### Overview The Cost Report provides a detailed periodic breakdown of costs across your organization. It shows labor costs over time, broken down by project and person, with support for different cost calculation methods and time periods. ### Data Sources Toggle between three data sources using the shelf buttons: - Planned — Costs based on the Role Planner schedule (what you intend to spend) - Booked — Costs based on confirmed bookings - Reported — Costs based on actual timesheet entries (what was actually spent) Tip: Comparing Planned vs. Reported costs is a powerful way to identify budget variances early and improve future planning accuracy. ### Cost Types Use the Costs menu to select which cost types to include in the report: - Salary — Base salary cost of each person - Bid Rate — The rate charged to clients - Loaded Rate — Fully loaded cost including overhead - Additional cost categories (software, hardware, etc.) as configured Note: Rate-based costs (salary, bid rate, loaded rate) are mutually exclusive — selecting one will deselect the others. Additional cost categories can be combined with any rate type. ### Time Periods Switch between weekly (W) and monthly (M) views using the toggle buttons. Use the date navigator to change the time range and number of periods displayed. ### Summary and Grouping Use the Summary menu to group data by different organizational levels: - By Project — Aggregate costs per project per period - By Person — See individual cost contributions - By Department or Role — Group costs by organizational structure - Combined — Use multiple grouping levels for detailed breakdowns ### Actions - Reload — Refresh the report data - Clear Filters — Remove any active column filters - Export CSV — Download the report data for use in spreadsheets ## LOFT Resource › Groups Source: https://docs.loftapps.com/resource/groups/ ### Overview Groups define the organizational structure of your team. They represent departments, divisions, locations, or any other grouping that helps you organize and filter your workforce. ### Managing Groups - Create groups to represent your organizational hierarchy - Groups can have multiple levels (e.g., Division > Department > Team) - Assign crew members to groups for organizational reporting - Groups are used as filter and summary options throughout the application ### Group Levels Your administrator can configure custom group levels that match your organization's structure. Common examples include Division, Department, Location, and Studio. These levels appear as filter and summary options in the Role Planner, Cost Report, and Utilization Report. ## LOFT Resource › Crew Source: https://docs.loftapps.com/resource/crew/ ### Overview The Crew page is where you manage your team members. Each crew member has a profile with their role, rates, group assignments, and availability information. ### Crew Profiles Each crew member profile includes: - Name, initials, and contact information - Role and title within the organization - Group assignments (department, division, location) - Rate information: salary, bid rate, and loaded rate - Currency for rate calculations - Availability and working schedule ### Rates and Costs Crew member rates are the foundation of all cost calculations in LOFT Resource: - Salary (Rate) — The base cost of employing this person per day - Bid Rate — The rate charged to clients for this person's time - Loaded Rate — The fully loaded cost including benefits, overhead, and taxes Note: Changes to crew rates will affect future cost calculations but will not retroactively change historical cost data. ### Adding Crew Members - Click the add button to create a new crew member - Fill in their profile information and rate details - Assign them to the appropriate groups - They will immediately be available for assignment in the Role Planner ## LOFT Resource › Security Groups Source: https://docs.loftapps.com/resource/security_groups/ ### Overview Security Groups control what each user can see and do within LOFT Resource. By assigning users to security groups, administrators can restrict access to sensitive information like salary data, budgets, and reports. ### Common Permissions - budget — View or edit budget and cost information - salary — View individual salary and rate data - reports\_module — Access to the Reports section - schedule\_module — Access to scheduling tools (Role Planner, Crew Planner) - manage\_module — Access to administration pages (Groups, Crew, Security) - role\_planner edit — Permission to modify schedules (vs. view-only) ### Managing Access - Create security groups that match your organization's access patterns - Assign users to one or more security groups - Configure permissions for each group - Users inherit the combined permissions of all their groups Tip: Start with a restrictive approach and grant additional permissions as needed. It's easier to add access than to remember to remove it. # LOFT Portal Sign-in, organizations, members, plans and billing, your account and the LoftDesktop download. ## LOFT Portal › Welcome Source: https://docs.loftapps.com/portal/welcome/ The Portal is the front door to Loft. It decides who gets in, what they're entitled to, and how it's billed — the creative work itself happens in the Loft apps it launches. ### Where things live - **Home** — your dashboard: recent projects, every app you can open, and what needs attention. - **My Organizations** — the organizations you belong to, and the way in to members, plan, billing and settings. - **Download App** — the Loft desktop app, with automatic updates. - **Documentation** — the full product documentation, searchable. - **Profile** — your name, email and password. ### How billing works, in one paragraph An organization buys a pool of seats at a tier. Seats are prepaid — you buy N of them for the period, then assign and move them between people freely, with no trip to Stripe. Each seat also contributes tokens and storage to the organization's shared pool, which everyone in the org draws from. Tip: This help panel follows you. Open it on any page and it shows the topic for what's on screen — including the tab you're on. ## LOFT Portal › Home Source: https://docs.loftapps.com/portal/home/ Home is your dashboard across every organization you belong to — the fastest way back into work you already started. ### What's on this page - **Jump back in** — the projects you opened most recently, across all organizations. - **Your organizations** — one card per organization with an Open button straight into its app. When an organization runs more than one tool, each tool gets its own door. - **Plan at a glance** — owners see seats, tokens and monthly cost in one line under the organization name, with Manage leading to the full detail. - **Get started** — next steps when an organization is new or empty. ### Nothing here yet? A brand-new account has no organization. Create one, buy at least one seat, and the apps it unlocks appear here. 1. Create an organization from the welcome card or My Organizations. 2. Open its Billing tab and buy seats at the tier you need. 3. Assign yourself a seat on the Members tab, then invite your team. Note: Home and My Organizations are different pages on purpose: Home is the whole dashboard, My Organizations is only the organization panels. ## LOFT Portal › Creating an Account Source: https://docs.loftapps.com/portal/register/ One account gets you into every organization you're invited to, and every app your seats unlock. ### Signing up - Continue with Google, or register with an email address and password. - Use the address the invitation was sent to — that's how you're matched to the organization. - After signing up you land on Home, where you can create an organization or open one you were invited to. ## LOFT Portal › Accepting an Invitation Source: https://docs.loftapps.com/portal/invite/ Someone invited you to their organization. Accepting links your account to it and gives you whatever seat the owner assigned. ### What happens 1. Sign in, or create an account if you don't have one — use the invited email address. 2. Accept the invitation. You appear on the organization's member list straight away. 3. Open the apps your seat unlocks from Home or the organization's page. Note: No apps after accepting? The owner hasn't assigned you a seat yet — access comes from the seat, not from membership alone. ## LOFT Portal › My Organizations Source: https://docs.loftapps.com/portal/organizations/ Every organization you belong to, with your role in each. An organization is a customer account — its own isolated database, its own members, its own plan. ### Owner or member **Owner** Invites and removes people, assigns seats, buys plans and changes settings. Sees the Members, Plan, Billing and Settings tabs. **Member** Opens the apps their seat unlocks. Sees only the organization's overview — billing and the member list stay with the owner. ### Creating an organization 1. Click Create Organization and give it a name and a short code. 2. The code identifies it everywhere — in URLs and in app links — so keep it short and permanent. 3. The organization is provisioned with its own database, and you become its owner. Note: The code can't be changed after creation. Pick something you'll still be happy with in a year. Tip: Click any organization card to open its detail page. ## LOFT Portal › Overview Source: https://docs.loftapps.com/portal/org_applications/ The tools this organization runs, and the ones your seat lets you open. Each one is a door, named for what you do behind it. ### What the doors are - **Generate** — Loft: create images, video and audio with AI. - **Schedule** — Resource: plan crew, sets and resources. Most members see one door. If you see two, they are two different tools in the same organization, sharing its members and its plan. ### Opening an app Click Open to enter. You're signed in automatically — the Portal carries your identity across, so there's no second login. ### Why an app might be missing - You don't have a seat in this organization yet — ask the owner to assign you one on the Members tab. - Your seat's tier doesn't include that app. Tiers are a ladder: each one includes everything below it. - The organization hasn't been provisioned with that app yet. Tip: Owners: the Plan tab shows exactly what each tier of seat unlocks. ## LOFT Portal › Members & Seats Source: https://docs.loftapps.com/portal/org_members/ Everyone in this organization, and which seat each person holds. This is where you invite people and hand out seats from the pool you've bought. ### Inviting someone 1. Click Invite User and enter their email address (a name is optional). 2. They get an email with a link that walks them through creating an account or signing in. 3. Until they accept, they show in the list with an Invited badge — you can resend or revoke the invitation. Note: Invitations are email-only by design. There's no directory of existing users to pick from — you invite the address, and the person on the other end decides. ### Assigning a seat Each member has a seat dropdown listing the tiers you have free slots for. Pick one and the seat is assigned immediately — no checkout, no proration, because the seats are already paid for. - Choosing “No seat” releases the slot back to the pool for someone else. - Moving someone between tiers just swaps which pool slot they occupy. - If a tier has no free slots, buy more on the Billing tab first. ### Removing someone Removing a member releases their seat back to the pool and revokes access to every app in this organization. Their work stays where it is. ## LOFT Portal › Plan Source: https://docs.loftapps.com/portal/org_plan/ What this organization is paying for right now: the seat pool by tier, the monthly cost, and the pooled tokens and storage those seats contribute. ### The rollups - **Monthly cost** — what the current pool bills each period. - **Tokens / month (pooled)** — the token allowance the seats add to the shared wallet. - **Storage (pooled)** — the storage allowance, also shared across the whole organization. - **Seats filled** — how many of your prepaid slots are actually assigned to people. ### Prepaid pool, not per-person billing You buy N seats at a tier for the period. Assigning, moving and releasing them is free and instant — billing only changes when you buy or reduce the pool itself. Tip: Seats filled well below seats bought means you're paying for slots nobody is using. Reassign them, or reduce the pool at renewal. ### What each seat unlocks The tiers are a ladder — each tier includes everything in the tiers below it, then adds its own apps and modules. The table on this tab is the authoritative list for your current plan. ## LOFT Portal › Organization Settings Source: https://docs.loftapps.com/portal/org_settings/ Name, preview image and the destructive operations — owner only. ### Identity - The display name can be changed at any time; it's what everyone sees in lists and headers. - The code is permanent — it's baked into URLs, app links and the organization's database. - The preview image is the thumbnail on the organization card. Upload any image; it's cropped to fit. ### Deleting an organization Deletion is permanent and takes the organization's database with it — every project, asset and record inside. You're asked to type the code to confirm, precisely because there's no undo. Note: Cancel the subscription first if one is active, otherwise it keeps billing against an organization nobody can reach. ## LOFT Portal › Plans & Billing Source: https://docs.loftapps.com/portal/billing/ The checkout. Choose how many seats you want at each tier, add token or storage packs, and pay. ### Building an order 1. Switch between Individual and Team pricing at the top. 2. Use the steppers on the tier cards to set how many seats of each tier you want. 3. Add token packs if you expect to outrun the monthly allowance. 4. Check the order summary, then continue to checkout and pay with Stripe. ### What a seat buys A seat is a slot in your organization's pool, not a named person. Buying five seats lets you assign five people at that tier — and reassign them whenever you like from the Members tab. Every seat also adds tokens and storage to the organization's shared pool, so a bigger team raises the pooled allowance automatically. ### The tier ladder Tiers are cumulative — each one includes everything below it and adds more. Pick the tier per person by the highest thing they need to do; you can mix tiers freely within one organization. Tip: Buy the seats you need now, not the ones you might need. Adding seats later takes a minute, and they're assignable the moment the payment lands. ## LOFT Portal › Billing Source: https://docs.loftapps.com/portal/org_billing/ The money view for this organization: the token balance, the transaction history, and the way through to buying more. ### The token wallet Tokens are pooled for the whole organization — every seat contributes to one balance, and anyone's work in the apps draws it down. There's no per-person allowance to manage. - Seats top the wallet up each period. - Token packs add a one-off amount when a busy stretch outruns the allowance. - The transaction list shows every credit and debit with its source. ### Buying more Plans & Billing opens the checkout page, where you set seat counts per tier and pick token or storage packs. Payment is handled by Stripe; the balance and pool update as soon as the payment is confirmed. Note: If a purchase went through but the balance hasn't moved, give it a moment and reload — the credit is applied when the payment confirmation arrives, not at the click. ## LOFT Portal › Plans & Pricing Source: https://docs.loftapps.com/portal/plans/ The public pricing page — what each tier costs and what it includes, with no sign-in required. ### Reading the cards - Individual and Team pricing are two views of the same ladder — toggle at the top. - Each tier includes everything in the tiers below it. - Tokens and storage listed on a tier are what each seat contributes to the organization's shared pool. ### Ready to buy Purchasing happens inside an organization. Sign in (or create an account), create your organization, then buy seats from its Billing tab. ## LOFT Portal › Your Profile Source: https://docs.loftapps.com/portal/profile/ Your account details — the identity that carries into every organization and every app. ### What you can change - Display name — what other members see next to your seat. - Email — used for invitations and account recovery. - Password — set or change it here. If you signed up with Google, you sign in with Google. Note: Your profile is yours, not the organization's. Leaving an organization doesn't touch it, and one account can belong to several organizations at once. ## LOFT Portal › Desktop App Source: https://docs.loftapps.com/portal/desktop/ Download the Loft desktop app for macOS, Windows or Linux. It gives the web apps access to your local machine — real folders, real files, no browser upload dance. ### Installing 1. Pick the download for your operating system — the page highlights the one that matches your machine. 2. Run the installer and sign in with the same account you use here. 3. Signing in with Google opens your web browser. If you're already signed in there, confirm the account with Continue; otherwise sign in as usual. Loft Desktop finishes on its own. 4. The web apps detect it automatically once it's running. 5. Updates download in the background and apply the next time you start the app. An Update ready button appears in the header when one is waiting; the account menu shows your version and has Check for updates. 6. Need a second window? Use the new-window button next to Back/Forward in the apps, the New window item in your account menu, or Ctrl+N (⌘N on Mac). Links that open a new tab still go to your web browser. ### Updates The app checks for updates on its own and installs them after verifying the signature on each release, so you stay current without re-downloading from this page. Note: If a download link doesn't work, the build for that platform hasn't been published yet — the page only lists what's actually available. ## LOFT Portal › Documentation Source: https://docs.loftapps.com/portal/docs/ The full product documentation — the long-form companion to this panel. ### Using it - Search filters the table of contents by title and keywords. - Click a topic to jump to it; the contents highlight where you are as you scroll. - Sections mirror the product: getting started, billing, platform, operations. Tip: Use this help panel for “what do I do on this page”, and the documentation for “how does this actually work”.