Public browser demo · EN / FR · verified with synthetic content

The complete Studio guide.

A practical guide to every tab, flow, export and connection boundary in the current Baste Studio.

Open Studio →

A short Studio walkthrough.

Narrated walkthrough · 1 min 53 s. Aria guides you through personas, measurements, tokens, feedback, OpenPencil and saving your work.

Read the full instructions below. The downloads are optional copies for offline use.

Read the video transcript

Design for a person.

Make an interface feel like it belongs to someone. In Baste, start with a persona’s films, music, spaces and working habits. The fitting makes that world visible through colour, type and interface details.

Take specific measurements.

Tailor a copy or measure a new persona. Give it a name and a clear description. Add concrete influences, values and software preferences. Choose the aesthetic axes and visual keywords. Save deliberately; the completion meter measures filled fields, not design quality.

Keep a usable pattern.

In Tokens, compare spacing, edges and motion, then export CSS, Tailwind, Panda or JSON. Downloaded files stay on your device. The demo uses built-in token examples; custom measurements do not start fresh generation.

Show it what fits.

Build a moodboard from image references, tags and notes. Pin the important references; leave the notes field to save it. In Taste, name an asset, explain your verdict and ask for more or less of that style. Inspect the feedback that later prompts can use.

Draft before you generate.

Start Generate with a dry run and inspect the prompt. This browser demo simulates jobs and makes no paid calls. OpenPencil edits a separate document. Real generation, website decomposition, native files and saved projects need the appropriate server or account connection.

Keep the work. Know the limits.

Explore the material room, save a recipe and reload it when you want another fitting. Remember: reloading Studio clears demo work, while downloads and material preferences survive. The full English and French guide documents every screen, export and connection boundary.

01 / 25

Find your way around

The left rail is your wardrobe: choose a persona, create one, tailor a copy, decompose a site, or remix two personas. The selected persona supplies the seven tabs across the worktable. Settings and Projects open separate workroom views.

Check the connection indicator before working. Demo means the built-in client is running in this browser tab. Live means a Baste API answered the connection check; it does not by itself mean you are signed in or have generation credit.

Use the language selector for English or French. Links from this guide carry your language. Persona IDs, font names, code exports, model IDs and text you enter keep their original values.

Start with the Cyberbotanist fitting, try another base persona, then tailor a copy before changing measurements. Base personas are read-only. A browser reload resets the demo’s in-memory wardrobe, moodboard, feedback, jobs and documents.

Open this view →

Actual demo screen · Find your way around
Actual demo screen · Find your way around

02 / 25

Read the fitting

Fitting turns the persona into a visible system: palette roles, typography, spacing, edges, motion and an interface specimen. Compare the preview with the cultural measurements rather than choosing a palette in isolation.

Scroll through the specimen to inspect buttons, fields, cards, navigation, status and messaging. Hover interactive samples to feel motion. Changing the selected persona updates the fitting and the other tabs.

The fitting is a preview, not a deployed application. Contrast, content length and interactions still need validation in the interface where you will use the tokens. Demo custom personas borrow the nearest built-in token fixture; their measurements do not trigger fresh token generation.

Open this view →

Actual demo screen · Read the fitting
Actual demo screen · Read the fitting

03 / 25

Create a persona

Choose New persona. Enter a name, check its generated slug, add a region and a short description. The slug is a lowercase identifier used in routes and file names; it is separate from the display name.

Fill Culture with subcultures and values. In Influences, list films, anime or shows, music genres, musicians and visual artists. Habitat covers spaces, tools and obsessions. Behaviour captures software values and pet peeves. Separate list items with commas.

In The cut, choose the aesthetic axes, then add visual and mood keywords. Be concrete: a named film, a familiar place and an actual working habit give a clearer brief than a generic adjective. The completion meter counts filled measurements; it is not a quality score.

Select Add to wardrobe. A successful save selects the new persona and returns to Fitting. A name is required. Keep a unique slug to avoid replacing another custom persona. Cancel returns without saving the form.

Open this view →

Actual demo screen · Create a persona
Actual demo screen · Create a persona

04 / 25

Tailor, edit and remove

Tailor a selected base persona to open a prefilled copy. Give the copy its own name and slug, preserve useful influences, and replace the details that do not fit your audience. The original base persona remains unchanged.

Custom personas expose editing controls. Edit updates measurements while keeping the existing slug. Save measurements returns to the fitting. Form edits are not autosaved; cancel discards them.

Removal is available for custom personas through the hold-to-delete control in the selected persona’s header. Hold it deliberately; base personas cannot be removed. Demo deletions affect this tab only. Export anything you need before resetting the demo.

Open this view →

Actual demo screen · Tailor, edit and remove
Actual demo screen · Tailor, edit and remove

05 / 25

Export design tokens

Open Tokens and choose CSS variables, Tailwind, Panda or JSON. The code panel updates for the selected format. CSS produces .css, Tailwind .js, Panda .ts and JSON .json.

Copy sends the displayed export to the browser clipboard. Download saves a file named after the persona. If clipboard access is denied, use Download or select the code manually. The code and variable identifiers stay unchanged when the UI language changes.

The side panels show the spacing scale, radius and shadow samples, and easing curves. Hover an easing row to preview motion. These are integration references, not an automatic installation into your app.

Downloads survive a demo reset because they are browser files. In the demo, saving an OpenPencil document does not regenerate these exports; export tokens and the editable document are separate demo stores.

Open this view →

Actual demo screen · Export design tokens
Actual demo screen · Export design tokens

06 / 25

Draft prompts and generate

Generate has an order form, progress panel, job history and prompt previews. Start with Dry run enabled. Choose Asset suite or Full UI kit, select an image provider, and leave the model empty for the configured server default or enter a supported model ID.

Use Draft the prompts, wait for Finished, then inspect the image, SVG and video briefs. The browser demo simulates a short job and displays fixture prompts. It makes no paid provider requests and creates no real assets, even when Dry run is unchecked.

On a local server, disabling Dry run starts real provider generation using server-side configuration. Confirm your selected persona, output type, provider and model first. Watch the job log for completion or an error; opening a job in history shows its recorded state.

Hosted Not Organic generation currently supports hero and background images with asset judging. A full kit still needs local SVG and video providers. No hosted generation, sign-in or billing was executed for this guide.

Open this view →

Actual demo screen · Draft prompts and generate
Actual demo screen · Draft prompts and generate

07 / 25

Understand hosted run limits

Choose Not Organic to load the connected account’s authorized image models and wallet. If the catalog, judging model or verified balance is unavailable, follow the account prompt before attempting paid generation.

Iterations, Batch size and Per purpose determine how many candidates and final outputs the run explores. Maximum spend for this run is a USD ceiling, initially $1. The live plan counts image and judging requests before enabling a paid run.

If the plan exceeds your maximum, reduce candidate counts or explicitly raise the maximum. If it exceeds the operator’s server limit, reduce the maximum or candidates, or contact the operator. Insufficient or blocked wallet credit also prevents the run.

Conservative request ceilings are spending limits, not quoted provider prices. Refresh the account to verify a missing balance. Prompt drafts remain available when paid generation is blocked.

Open this view →

Actual demo screen · Understand hosted run limits
Actual demo screen · Understand hosted run limits

08 / 25

Build a moodboard

Paste an image URL under Pin a reference, add comma-separated tags and select Pin it. The card appears on the board. Use your own or appropriately licensed references; Baste does not grant rights to external images.

Pin or Unpin changes priority; pinned cards sort first. Split copies a card’s URL into the sheet cutter. The remove control deletes the reference from the board, not the upstream image.

Edit Vibe words as a comma-separated list. Notes save when you leave the field, so click elsewhere after typing and check the saved message. These notes and references are associated with the selected persona.

The demo keeps the board in memory. External image loading depends on network access and the source host; a broken image does not prove the reference was not saved. This guide uses a synthetic local texture, without external image requests.

Open this view →

Actual demo screen · Build a moodboard
Actual demo screen · Build a moodboard

09 / 25

Cut a reference sheet

In Split a sheet, provide an image URL or local path and choose Columns and Rows, each from 1 to 8. Cut into shows the resulting cell count. A successful server response displays the cell grid.

Sheet cutting requires the local server. The demo can collect the URL and grid choices but returns a server-required error when you try to cut. It does not generate a fake grid. Check the connection before retrying.

Open this view →

Actual demo screen · Cut a reference sheet
Actual demo screen · Cut a reference sheet

10 / 25

Inspect a brand kit

Brand Kit is populated by website decomposition. Its empty state for a built-in persona is expected: use Decompose a site to create a persona with an extracted kit.

A returned kit includes source URL and capture time, logo, description, palette roles, full palette, fonts and stylesheet signals, plus an Open Graph image and sampled imagery when found. Compare these with the original source before using them.

Extraction can miss dynamically loaded content, inaccessible fonts or protected images. A populated kit was not available in this browser demo; the screenshot documents the actual empty state, not an invented successful extraction.

Open this view →

Actual demo screen · Inspect a brand kit
Actual demo screen · Inspect a brand kit

11 / 25

Teach the next round

Enter the asset ID you are rating, explain Why, and add comma-separated Tags. Select More like this for a positive verdict or Less like this for a negative one. Without an asset ID, the form asks you to name it.

The learned-taste panel shows total, positive and negative counts, a net score, recent trends and common up/down tags. Recent verdicts retain the asset ID and your explanation. Open What gets injected into prompts to inspect the feedback document.

Ratings are guidance for later prompts, not image edits or a guarantee of model quality. The demo proves feedback storage and display in this tab; it does not prove that fixture prompt previews are regenerated from that feedback.

Open this view →

Actual demo screen · Teach the next round
Actual demo screen · Teach the next round

12 / 25

Edit an OpenPencil document

Open the Editor tab to see tokens grouped by category. Filter tokens searches names and values. Edit the text value directly; recognized hex colours also have a colour picker. Names, IDs and code values are technical document data.

Select Save document explicitly. For base personas this saves a separate OpenPencil document; base measurements remain read-only. The local server can write edited tokens back onto custom personas. In the demo, document edits persist only in this tab and do not update token-export fixtures.

Write .op file asks the local server to create a native file and displays its returned path. Watch file for changes enables server-side synchronization with OpenPencil; stop watching when finished. These operations are unavailable in account mode and return a server-required error in the demo.

Rationale explains the document’s cultural context. Open OpenPencil is an external link; it does not install the application or automatically transfer a demo document.

Open this view →

Actual demo screen · Edit an OpenPencil document
Actual demo screen · Edit an OpenPencil document

13 / 25

Decompose a website

Provide the source URL. Slug and Display name are optional overrides; otherwise the server derives them from the domain and title. Seed the moodboard adds extracted imagery as references. Deep render runs page JavaScript through Playwright for sites that need it.

Mirror assets saves the logo, Open Graph image and thumbnails to disk. Start version history tracks later persona changes. Choose only the options you need, then Decompose. Progress labels describe the stages; a successful result offers See the fitting and Open brand kit.

The demo disables the submit button and explains how to start the server. Live extraction depends on source access and rendering support. This guide verified the disabled state; successful live extraction was not tested.

Open this view →

Actual demo screen · Decompose a website
Actual demo screen · Decompose a website

14 / 25

Remix two personas

Choose two different personas as Warp and Weft. The woven swatch compares their primary palettes; it is a preview, not a generated asset. Enter an optional slug and name, or use the suggested combination.

Weave them together asks the server to create a new persona from crossed influences and brand kits, then selects its fitting. Selecting the same persona twice shows a validation message. Remix submission is disabled in the browser demo; live results were not tested.

Open this view →

Actual demo screen · Remix two personas
Actual demo screen · Remix two personas

15 / 25

Keep a saved project

Projects separates the application brief from a design persona. Saving requires a live Baste server with the account integration configured and an authenticated account. The browser demo shows a connection gate instead of pretending to save a project.

The connected UI contains a project list, a name and brief form, optional audience selection, editable details and version history. Choosing an existing persona gives the project its own audience copy. Save brief and Save audience are explicit actions.

If a newer revision conflicts with your draft, load the latest saved version, compare it, then keep your draft for the next save or replace it with the saved version. Restore creates a revision from earlier content. These connected behaviors are documented from the current source; they were not exercised against a real account.

Open this view →

Actual demo screen · Keep a saved project
Actual demo screen · Keep a saved project

16 / 25

Connect the workroom

Settings contains the account section, Connection and Generation defaults. API URL identifies the Baste server; Reconnect tries it and Default restores the default URL. A failed health check falls back to the browser demo. Reconnecting replaces the active client, so download important demo exports first.

Generation defaults controls the local image provider/model, QD generations and assets kept. Save defaults is disabled in demo mode and in hosted account mode. Hosted operator defaults are managed by the server operator; choose your available image model in Generate.

Provider keys stay in the server environment or local configuration, never in a Studio form. Do not paste an OpenAI, Google, QuiverAI or fal key into API URL. This guide’s screenshots contain no account data or keys.

Open this view →

Actual demo screen · Connect the workroom
Actual demo screen · Connect the workroom

17 / 25

Account, wallet and checkout

On a configured server, use Sign in / create profile in Settings. Not Organic creates or authenticates an account profile; a Baste design persona is a separate object. Manage your handle and account through the linked Not Organic portal.

The wallet displays verified available credit and only the offers advertised by the provider. Select an offer to open checkout and review its current price before paying. On return, refresh the wallet: a redirect alone does not prove payment or credit delivery.

The server holds the provider session and DPoP key. The browser receives an HttpOnly Baste cookie, CSRF token and the public DID and handle. Sessions expire after eight hours and a server restart requires signing in again.

This guide verified only the public demo’s unavailable account state. Sign-in, a funded wallet, checkout, account-scoped storage and payment return were not tested or photographed with real credentials.

Open this view →

Actual demo screen · Account, wallet and checkout
Actual demo screen · Account, wallet and checkout

18 / 25

Use the material library

The Materials route is a separate public reference page. Inspect the material examples and their available controls, then return to Studio to use the persona’s tokens. Materials do not create a saved project or start provider generation.

Start from one of six studies: Thread current, Shot silk, Interference, Chalk islands, Oxide bath or Radial pleat. Choose a technique and seed, edit ground/warp/weft colours, and adjust hue, scale, density, distortion and dye strength. Palette presets and Shuffle explore alternatives. Pointer movement bends the preview; tapping sends a ripple.

The Specimen route is another public example of the visual system. These pages are useful for comparing typography, surfaces and component states outside the Studio; their remaining English copy is listed in the localization coverage note.

Open this view →

Actual demo screen · Use the material library
Actual demo screen · Use the material library

19 / 25

Know what is saved

Browser demo: persona edits, references, feedback, documents and simulated job history live in memory. Changing a tab keeps them; reloading or reconnecting loses them. Downloaded token files remain on your device. Do not use the demo as your only archive.

Local server: personas and outputs use local storage configured by the server. Local generated output includes SVGs, images, videos and a persona suite manifest under assets/output/. Native OpenPencil export returns the actual server file path.

Connected account: personas and assets belong to the authenticated DID’s separate directory; saved projects require the account service. Config writes and native file/watch operations are unavailable in account mode. Successful live storage was not tested for this guide.

Open this view →

Actual demo screen · Know what is saved
Actual demo screen · Know what is saved

20 / 25

Troubleshoot a fitting

Unexpected demo mode: check that the server is running, inspect API URL and Reconnect, and confirm the /api proxy for your hosting setup. A public static site without a backend can only run the demo.

No new tokens after custom edits: in the demo this is a fixture limitation. No brand kit: built-in personas have no extracted website kit. Split or .op failure: these require the local server. Missing image: check the reference URL and source access.

Blocked hosted generation: refresh the account, model catalog and wallet; check the judging model, positive USD maximum, request budget, server ceiling and available credit. Reduce the candidate plan before retrying. Do not repeatedly launch jobs to diagnose billing.

API errors distinguish authentication (401), insufficient credit (402), denied access (403), busy providers (429) and unavailable services. For support, provide the route, connection mode, language, selected persona ID and a redacted error; exclude tokens, keys and private references.

Open this view →

Actual demo screen · Troubleshoot a fitting
Actual demo screen · Troubleshoot a fitting

21 / 25

What this guide verifies

The screenshots show the actual browser demo with synthetic content, captured in English and French. All seven Studio tabs and the new, tailor, decompose, remix, settings and projects views were opened. Downloads and supported demo interactions are checked in the accompanying verification report.

French localization covers this guide, the Studio shell, fitting, persona forms, tokens, moodboard, feedback, brand-kit empty state and editor controls. Account, payment, projects, generation, Materials and Specimen still contain English copy. French captures retain these real gaps rather than concealing them.

Server-only and authenticated success states are explained from current source, with their limitations stated in each chapter. No credentials were created, no published legal content changed, no paid generation executed and no site deployed for these captures.

Open this view →

22 / 25

Keep a material recipe

Pause motion freezes the live preview. Motion controls are disabled when reduced motion is enabled. The live shader needs WebGL; if it is unavailable you can still edit colours and save a recipe. Reload after a lost WebGL context to resume the preview.

Export PNG downloads the current rendered background. Save recipe downloads the reusable JSON parameters; Load recipe reads that JSON file back. A recipe is editable configuration, not an image. Keep both if you want a finished image and the ability to revise it.

Material adjustments save in device storage, unlike the Studio demo’s in-memory personas. Use behind Baste stores a softer backdrop for this browser; Restore original linen removes that backdrop preference. Neither action changes the published site for other people.

Open this view →

Actual demo screen · Keep a material recipe
Actual demo screen · Keep a material recipe

23 / 25

Inspect the house specimen

The specimen itemises Baste’s three typefaces, eleven working colours, stitch/chalk/pin motifs, cloth shader, icon set and three persona fittings. It is a reference for Baste’s own visual system, not a separate persona editor.

In the cloth shader, adjust Warp and Weft colours, Fold depth, Weave relief, Thread width, Folds per screen and Dye. Reset restores the example’s defaults. These specimen changes are temporary; there is no save or export control on this page.

Open this view →

Actual demo screen · Inspect the house specimen
Actual demo screen · Inspect the house specimen

24 / 25

Run locally and configure providers

From a checkout with Nix and Devenv installed, enter the development shell, install locked dependencies, then start the API and site together. Studio runs at localhost:5173/gui/; its same-origin /api proxy reaches port 3456. BASTE_SITE_PORT and BASTE_API_PORT override those ports. Storybook is optional on port 6006.

Use devenv tasks list for individual commands and checks. baste gui --port 3456 starts the API and bundled GUI. Local provider generation uses OpenAI or Google for images, QuiverAI for SVG and the configured video provider. Copy .env.example to .env and configure only the services you use.

baste config --init creates baste.config.json. Model IDs must be supported by the chosen provider. The CLI uses local configuration and does not inherit the Studio account session. Hosted Studio requests use the connected account instead.

devenv shell
devenv tasks run baste:install
devenv up

# Environment on the server
OPENAI_API_KEY=…
QUIVER_API_KEY=…
GOOGLE_API_KEY=…

25 / 25

Configure an account server

Enable NOTORGANIC_ENABLED, set BASTE_PUBLIC_ORIGIN, and configure the issuer and authorization URL. Register Baste with Not Organic for its origin, callback, product audience, scopes and billing offers. Public checkout needs an HTTPS return origin.

The callback is /api/notorganic/callback on the Studio origin. Production hosting must proxy /api to the Baste server. Account routes require a session, and mutations require X-Baste-CSRF from the status response. Account storage is scoped to the authenticated DID.

The quality-diversity archive explores colour temperature, visual density and abstractness. Judging weights are persona alignment 30%, visual quality and uniqueness 20% each, coherence and usability 15% each. Review selected assets in their intended interface; scores are selection guidance.

NOTORGANIC_ENABLED=true
BASTE_PUBLIC_ORIGIN=http://localhost:5173
NOTORGANIC_ISSUER=https://api.notorganic.info
NOTORGANIC_AUTHORIZATION_URL=https://id.notorganic.info/authorize

assets/output/
  svg/
  images/
  videos/
  {persona}-suite.json

CLI and API reference

These routes and commands are preserved from the existing manual. Use baste --help and the repository README for the complete package interface.

The CLI operates on your local persona store. It does not inherit a Studio account session. Use baste --help for versioning, remix, site decomposition, cultural references and OpenPencil commands.

CommandPurpose
baste listList base and custom personas
baste show cyberbotanistRead a persona and its cultural influences
baste create my-persona --base cyberbotanistMake a custom persona from a base
baste generate cyberbotanist --dry-runInspect the brief without paid provider calls
baste generate cyberbotanistGenerate an asset suite with configured providers
baste ui-kit cyberbotanistGenerate a full kit, including local SVG and video providers
baste tokens cyberbotanist --format cssExport tokens as CSS, JSON, Panda or Tailwind
baste gui --port 3456Run the API and bundled GUI
baste config --initWrite a starting configuration
baste mcp --stdioExpose Baste tools through MCP

The development site proxies these same-origin routes to the local API. Account routes require a connected session. In account mode, personas and generation results are scoped to the authenticated DID. Mutations require X-Baste-CSRF from the status response.

Errors distinguish authentication (401), denied access (403), insufficient credit (402), busy provider (429), and unavailable services. Config writes and native file/watch operations are unavailable in account mode.

RoutePurpose
GET /api/healthServer health
GET /api/personasAvailable personas
POST /api/personasCreate a design persona
GET /api/personas/:idRead a persona
PUT /api/personas/:idUpdate a custom persona
POST /api/tokens/:idExport tokens; JSON body: { format }
POST /api/prompts/:idPreview the image, SVG and video briefs
POST /api/generate/:idStart a job; JSON body: { dryRun, imageProvider, imageModel }
POST /api/generate/:id/planCheck image/judging call ceilings and the required per-run budget
GET /api/jobs/:idRead progress, result or failure
GET /api/assets/images/:filenamePreview or download an image owned by the signed-in account
GET /api/notorganic/statusRead account configuration and CSRF token
POST /api/notorganic/loginStart profile creation or sign-in
GET /api/notorganic/modelsAuthorized live hosted model catalog
GET /api/notorganic/walletVerified balance and available checkout offers
POST /api/notorganic/checkoutGet payment URL for an advertised packId or planId
POST /api/notorganic/logoutEnd the Baste account session

Repository development guide