Levizr TTS · Generation History

Never lose a generation again.

Every TTS generation you produce in Levizr is automatically saved for 15 days. Re-download MP3s without spending credits. Replay audio in the panel. Copy the system prompt that got a great result. Track credits per generation. Delete what you don't need. All from one slide-in panel — no separate page, no extra steps.

15 days
Retention window
15 per page
Loaded at a time
re-downloads
Credits: 0
12 features
Per generation card

What every generation card shows you

Each card in the History panel is a compact but complete record of that generation. In collapsed view it shows the essentials. Expanding a card reveals the full picture — every piece of data that was submitted to and returned from the neural model.

Script Preview
First 2 lines of your TTS text. Expand to see the full script.
Voice Model
The neural voice used — color-coded to match the voice identifier.
File Size
MP3 output size in bytes, KB, or MB.
Credits Deducted
Exact credits charged for this generation, including any system prompt surcharge.
Generation Date
Date the audio was produced, formatted as Mon DD, YYYY.
System Prompt
Full prompt text (in expanded view). Click to copy to clipboard.
Audio Format
Always MP3 in the current version.
Play Button
Streams audio from CDN directly in the panel — no download required.
Download Button
Re-downloads the MP3 file. Does not cost credits.
Delete Button
Permanently removes the entry. Shows a confirmation modal first.

Every feature of Generation History — explained

The History panel is not just a list of past audio files. It is a full production record for every generation — with playback, metadata, re-download, credit tracking, and archive management built in. Here is every feature in detail.

🗂

15-day generation archive

Every TTS generation you produce is automatically saved to your Levizr account history and retained for 15 days. You do not need to manually save anything — the moment a generation completes successfully, it is added to your history. This gives you a rolling two-week window to revisit, re-download, or review any audio you have produced.

The 15-day window applies from the timestamp of each individual generation, not from the start of a session or billing period. Generations expire on a rolling basis — older entries drop off automatically as they cross the 15-day threshold.

Re-download any generation without spending credits

Every generation stored in your history includes a Download MP3 button that re-fetches the audio from the Levizr CDN and saves it to your device. Re-downloading from history does not deduct any credits — the generation was already paid for. This means you never lose a file just because you forgot to download it after the initial generation.

The download uses the same forced-download CDN method as the main Studio — files are served with a content-disposition header that triggers a native browser save prompt. Auto-naming follows the format: levizr-[voicename]-[generationid].mp3.

In-history audio playback

You can listen to any generation directly inside the History panel without downloading it first. Each history card has a play/pause button that streams the audio from the CDN. Only one track plays at a time — starting a new track automatically pauses the current one. The player stops cleanly when you close the History panel.

The play button is styled with the unique color associated with the voice model used for that generation. For example, generations made with Kore appear with a mint green play button, while Fenrir generations use amber. This makes it easy to visually identify which voice a track was produced with at a glance.

🎨

Voice-color coded cards

Each history card is visually tagged with a unique color associated with the voice model used for that generation. The play button, chip labels, and card accents all inherit the voice color — making it immediately obvious which voice produced which audio without reading any text. This is especially useful when you are producing multiple pieces with different voices in the same session.

Voice colors include: Kore — mint green, Puck — sky blue, Charon — rose pink, Fenrir — amber, Aoede — soft violet. All other voices default to an indigo accent.

📋

Expandable generation cards with full metadata

Each history card starts in a collapsed view showing the script preview, voice chip, file size, credits deducted, and generation date. Clicking any card expands it to reveal the full metadata: the complete script text (not truncated), the system prompt used, voice model, audio format, and file size in a structured stats grid.

The expansion animation is smooth and uses spring physics — it does not cause jarring layout shifts in the surrounding cards. The expanded state persists as you scroll through the history list, so you can compare multiple expanded cards at once if needed.

📝

System prompt viewer with one-click copy

When you expand a generation card, the system prompt used for that generation is displayed in a scrollable text block inside the card. Clicking anywhere on the prompt block copies it to your clipboard. A toast notification confirms the copy. This makes it easy to retrieve and reuse a system prompt that produced a result you liked — without searching through your notes or browser history.

The prompt copy feature uses the navigator.clipboard API with a graceful fallback. If the clipboard API is unavailable (e.g., non-HTTPS environments), the copy silently fails without throwing a visible error. The copied text is the raw prompt string exactly as it was submitted to the neural model.

🪙

Per-generation credit tracking

Each history card displays the exact number of credits deducted for that generation as a chip label. This gives you a granular record of how your credits were used across different scripts, voices, and system prompt configurations — useful for understanding which types of content are most credit-efficient and for auditing your usage over the 15-day window.

Credits shown represent the total deducted for that specific generation request, including any system prompt surcharge. The value displayed is the same figure recorded server-side at the time of the API call.

💾

File size display per generation

Every history entry shows the file size of the generated MP3 in a human-readable format — bytes, KB, or MB depending on the file's size. Longer scripts with richer emotion tags and system prompt instructions tend to produce larger files. This stat helps you understand the relationship between script complexity and output file size, and gives you a rough sense of storage usage before downloading.

File size is stored server-side at the time of generation and retrieved directly from the database — it is not calculated client-side by inspecting the downloaded blob. The formatting follows standard binary conventions: 1 KB = 1,024 bytes, 1 MB = 1,024 KB.

Cursor-based infinite scroll with 15 records per page

The History panel loads your 15 most recent generations on first open and automatically fetches the next page as you scroll toward the bottom. This is powered by an Intersection Observer — there is no "Load More" button to click. The panel uses cursor-based pagination rather than offset pagination, which means the list remains stable and consistent even as new generations are added while you browse.

Cursor-based pagination tracks position using an opaque server-side cursor rather than a page number. This prevents duplicate entries and missing records that can occur with offset pagination when items are added or deleted during a browsing session.

🗑

Safe delete with confirmation modal

Deleting a generation from history requires a two-step confirmation. Clicking the trash icon on a card opens a focused confirmation modal with a clear warning that the deletion is permanent. The modal uses a backdrop blur overlay that locks focus to the confirmation action. A loading state during the delete request prevents double-clicks and gives visual feedback that the operation is in progress.

Deleted generations are removed optimistically from the local list immediately after the API call succeeds — you do not need to wait for a page refresh. The total generation count in the header also updates immediately. If the delete API call fails, the error is caught and the item remains in the list.

📊

Total generation count display

The History panel header shows the total number of generations in your 15-day archive as a running count — for example "47 syntheses". This count updates live when you delete entries. The count is fetched from the API on each panel open and reflects your true server-side record count, not just the number of cards currently loaded in the local scroll list.

The count label uses correct singular/plural grammar — "1 synthesis" versus "2 syntheses". While the panel is loading, the header shows "Loading records..." to prevent a flash of a stale or zero count.

Keyboard shortcut to close — Escape key

The History panel listens for the Escape key while it is open. Pressing Escape at any time closes the panel cleanly — stopping any currently playing audio and unmounting the panel from the DOM. This follows standard modal UX conventions and makes keyboard-driven workflows faster for power users who prefer not to reach for the close button.

The keydown event listener is added when the panel opens and removed when it closes, so it does not persist and interfere with other keyboard interactions on the page. Audio playback is explicitly stopped before the panel exit animation begins.

How to access your Generation History

The History panel lives inside Levizr Studio and is available to all registered users. Here is exactly where to find it and how to use it.

01

Sign in to your Levizr account

The Generation History feature is only available to logged-in users. The History button is hidden for guests. Sign up for a free Levizr account to enable history tracking — all generations you produce after signing in are saved automatically.

02

Click the History button in the Studio

Inside Levizr Studio, look for the History button in the top-right of the Configuration panel (right column). It appears as a clock/history icon. Clicking it slides the History panel in from the right side of the screen.

03

Browse, play, and download

Scroll through your generation cards. Click any card to expand it and see the full script, system prompt, and stats. Use the play button to preview audio. Click Download MP3 in the expanded card to save the file to your device.

04

Manage your archive

Delete generations you no longer need by clicking the trash icon on a card and confirming in the modal. Deletions free up your visual history but do not refund any credits used for those generations.

📅

15-day rolling retention — how it works

Each generation has its own independent 15-day clock that starts at the moment of creation. If you generated audio on June 1, it expires on June 16 — regardless of when you first opened the History panel or whether you have made other generations since.

This rolling model means your History panel always contains your most recent 15 days of work — not a fixed monthly allocation or a capped number of entries. Prolific producers who generate daily will have dense history; occasional users will see a sparser but complete record of everything they have produced.

Why cursor pagination makes the list more reliable

Most paginated lists use offset pagination — "give me records 16 through 30". The problem is that if a new generation is added while you are on page 2, every record shifts by one and you see duplicates. If you delete one, you miss an entry.

Levizr uses cursor-based pagination — a server-side pointer that always knows exactly where you are in the list regardless of insertions or deletions. Scroll to the bottom and the next 15 records load perfectly, every time. No duplicates. No missing entries. No page refresh needed.

Your generations are waiting.

Every TTS file you have produced in the last 15 days is already in your History — ready to replay, re-download, or reference. Open Levizr Studio, sign in, and click the History button to see everything.

Open Generation History →

Free for all registered Levizr users. No credit card.

Frequently Asked Questions

How long does Levizr keep my generation history?

Levizr retains your generation history for 15 days from the date of each individual generation. Entries expire on a rolling basis — each generation has its own 15-day countdown from its creation timestamp, not from the start of your account period or billing cycle.

Can I re-download audio from my history without spending credits?

Yes. Downloading audio from Generation History is always free — no credits are deducted. The credits for that generation were already charged when the audio was first produced. You can re-download the same file as many times as you want within the 15-day retention window.

Does Generation History save my system prompt?

Yes. Every generation entry stores the system prompt that was active at the time of generation. You can view it by expanding the history card. Clicking the prompt text copies it to your clipboard — useful for reusing prompts that produced results you liked.

Is there a limit to how many generations are stored?

There is no hard cap on the number of generations stored within the 15-day window. Every successful generation is saved regardless of volume. The History panel loads 15 entries at a time and fetches more automatically as you scroll.

Does deleting a generation from history refund my credits?

No. Deleting a generation from your history removes the record and the associated audio file from Levizr's servers, but it does not refund the credits used to produce that audio. Credits are consumed at the time of generation and are non-refundable through the delete flow.

Can I access my history on a different device?

Yes. Generation History is server-side and tied to your Levizr account — not to a specific device or browser. As long as you are logged in to the same account, you can access your history from any device or browser.

What happens to my history if I delete my Levizr account?

If you delete your Levizr account, all associated generation history, audio files, and metadata are permanently removed from our servers. This action cannot be undone.

Why does the History panel use cursor-based pagination?

Cursor-based pagination ensures that the history list remains stable even when new generations are added or old ones deleted while you are browsing. Offset-based pagination (page 1, page 2…) can produce duplicate or missing entries in these situations. Cursor pagination avoids that entirely by tracking position with a server-side pointer.