Get Started with Aeion Manuscript
Set up your AI-powered digital publishing platform in 5 steps. EPUB import, TTS with word timestamps, AI tutoring, flashcards, and reading goal tracking—all in under 20 minutes.
Import EPUB Content
Go to Manuscript → Library → Import.
Import EPUB (API):
```bash POST /manuscript/import Content-Type: multipart/form-data
file: [EPUB file] ```
Response:
typescript
{
"id": "book-xxx",
"title": "The Great Gatsby",
"author": "F. Scott Fitzgerald",
"publisher": "Scribner",
"language": "en",
"totalChapters": 9,
"totalWords": 47094,
"estimatedReadingTime": 188, // minutes
"chapters": [
{
"id": "ch-001",
"title": "Chapter 1",
"wordCount": 5234,
"order": 1
},
// ...
],
"tableOfContents": [
{ "title": "Chapter 1", "href": "#ch-001", "level": 1 },
// ...
]
}
EPUB Structure Parsing:
typescript
interface EPUBImportResult {
id: string;
title: string;
author: string;
description?: string;
coverImage?: string;
chapters: Array<{
id: string;
title: string;
content: string; // Cleaned HTML
wordCount: number;
}>;
tableOfContents: Array<{
title: string;
href: string;
level: number;
}>;
}
Import from URL:
bash
POST /manuscript/import/url
{
"url": "https://example.com/book.epub",
"title": "Custom Title",
"author": "Custom Author"
}
Bulk Import:
bash
POST /manuscript/import/bulk
{
"files": ["book1.epub", "book2.epub", "book3.epub"]
}
Library View (API):
bash
GET /manuscript/books
Response:
typescript
{
"books": [
{
"id": "book-xxx",
"title": "The Great Gatsby",
"author": "F. Scott Fitzgerald",
"cover": "https://...",
"percentComplete": 45,
"totalChapters": 9,
"currentChapter": 4,
"lastReadAt": "2026-05-10T14:30:00Z"
}
],
"meta": {
"total": 12,
"reading": 3,
"completed": 9
}
}
Configure Text-to-Speech
| Provider | Voices | Quality | Latency |
|---|---|---|---|
| OpenAI | alloy, echo, fable, onyx, nova, shimmer | High | Low |
| ElevenLabs | Rachel, Domi, Bella, Antoni, Elli, Josh | Very High | Medium |
| Azure | Jenny, Guy, Sonia, Ryan | High | Medium |
| Polly | Joanna, Matthew, Salli, Amy, Brian | Medium | Low |
Configure AI Analysis
| Type | Use Case | Prompt Style |
|---|---|---|
| explain | General explanation | Explain in clear language |
| translate | Foreign text | Translate to English + define vocabulary |
| analyze | Literary analysis | Themes, tone, style |
| simplify | ESL/simplified reading | Middle-school level |
| define | Vocabulary | Key terms and concepts |
Generate Flashcards
Go to Manuscript → Book → Generate Flashcards.
Generate Flashcards (API):
bash
POST /manuscript/ai/flashcards
{
"text": "The protagonist, Jay Gatsby, throws lavish parties at his mansion in West Egg. He accumulates his wealth through questionable means, bootlegging alcohol during Prohibition. His ultimate goal is to reunite with Daisy Buchanan, his lost love from Louisville.",
"count": 5
}
Response:
typescript
{
"flashcards": [
{
"front": "Who is the protagonist of The Great Gatsby?",
"back": "Jay Gatsby"
},
{
"front": "What does Gatsby do for a living?",
"back": "He accumulates wealth through bootlegging alcohol during Prohibition"
},
{
"front": "Where does Gatsby live?",
"back": "In a lavish mansion in West Egg, Long Island"
},
{
"front": "What is Gatsby's ultimate goal?",
"back": "To reunite with Daisy Buchanan, his lost love"
},
{
"front": "What era is The Great Gatsby set in?",
"back": "The Roaring Twenties, during Prohibition (1920-1933)"
}
]
}
Vocabulary with Definitions (API):
bash
POST /manuscript/ai/vocabulary
{
"text": "The protagonist's ostentatious display of wealth was a manifestation of his deep-seated insecurity."
}
Response:
typescript
{
"vocabulary": [
{
"word": "protagonist",
"definition": "The main character of a story; the central figure around whom the plot revolves."
},
{
"word": "ostentatious",
"definition": "Characterized by vulgar or pretentious display; designed to impress or attract notice."
},
{
"word": "manifestation",
"definition": "A tangible or visible form of an idea, quality, or emotion."
},
{
"word": "deep-seated",
"definition": "Firmly established; difficult to remove or change."
},
{
"word": "insecurity",
"definition": "Lack of confidence or certainty; anxiety about one's worth or abilities."
}
]
}
Study Guide Generation (API):
bash
POST /manuscript/ai/study-guide
{
"bookId": "book-xxx"
}
Response:
typescript
{
"key_concepts": [
"The American Dream and its corruption",
"Social class and class conflict",
"The past's influence on the present",
"Symbolism of the green light",
"The hollowness of upper-class society"
],
"discussion_questions": [
"How does Gatsby's wealth affect his identity?",
"What is the significance of the novel's title?",
"How does Fitzgerald portray the 'new money' vs 'old money'?",
"What role does geography play in the novel?",
"How does the novel critique the American Dream?"
],
"important_quotes": [
{ "quote": "So we beat on, boats against the current, borne back ceaselessly into the past.", "source": "Ch. 9" },
{ "quote": "I hope she'll be a fool—that's the best thing a girl can be in this world, a beautiful little fool.", "source": "Ch. 1, Daisy" }
]
}
Set Up Reading Goals & Annotations
Go to Manuscript → Book → Settings → Reading Goal.
Set Reading Goal (API):
bash
PATCH /manuscript/books/{bookId}/goal
{
"goalType": "chapters",
"goalTarget": 9,
"goalStartDate": "2026-05-01",
"goalEndDate": "2026-05-15"
}
Response:
typescript
{
"bookId": "book-xxx",
"goalType": "chapters",
"target": 9,
"current": 4,
"percentComplete": 44,
"onTrack": true,
"daysRemaining": 10,
"requiredDailyRate": 0.5
}
Add Annotation (API):
bash
POST /manuscript/annotations
{
"book": "book-xxx",
"chapter": "ch-001",
"type": "highlight",
"text": "So we beat on, boats against the current, borne back ceaselessly into the past.",
"color": "yellow",
"tags": ["important-quote", "theme"]
}
Update Annotation:
bash
PATCH /manuscript/annotations/{annotationId}
{
"note": "This is the final line of the novel and encapsulates the futility of Gatsby's efforts.",
"tags": ["important-quote", "theme", "finale"]
}
List Annotations (API):
bash
GET /manuscript/annotations?bookId=book-xxx
Response:
typescript
{
"annotations": [
{
"id": "ann-xxx",
"type": "highlight",
"text": "So we beat on, boats against the current...",
"chapter": "Chapter 9",
"color": "yellow",
"tags": ["important-quote", "theme"]
},
{
"id": "ann-yyy",
"type": "note",
"note": "Gatsby's obsession with Daisy ultimately destroys him.",
"chapter": "Chapter 5",
"createdAt": "2026-05-10T14:30:00Z"
}
],
"meta": {
"total": 24,
"byType": {
"highlight": 15,
"note": 6,
"bookmark": 3
}
}
}
Sync Reading Progress (API):
bash
POST /manuscript/reader/progress
{
"bookId": "book-xxx",
"chapterId": "ch-004",
"position": 5234,
"timestamp": "2026-05-11T10:30:00Z"
}
Get Reader Stats (API):
bash
GET /manuscript/reader/stats
Response:
typescript
{
"totalBooks": 12,
"booksCompleted": 9,
"totalPagesRead": 3240,
"totalReadingTime": 4582,
"averageSessionLength": 35,
"favoriteGenres": ["literary-fiction", "classics"],
"currentStreak": 12,
"longestStreak": 21
}
Quick Reference
Book API:
```bash # Import EPUB POST /manuscript/import
# List books GET /manuscript/books
# Get book GET /manuscript/books/{bookId}
# Set goal PATCH /manuscript/books/{bookId}/goal ```
TTS API:
```bash # List voices GET /manuscript/tts/voices
# Generate audio POST /manuscript/tts/generate
# Check usage GET /manuscript/tts/limit ```
AI API:
```bash # Analyze text POST /manuscript/ai/analyze
# Ask question POST /manuscript/ai/ask
# Generate flashcards POST /manuscript/ai/flashcards
# Generate study guide POST /manuscript/ai/study-guide
# Generate vocabulary POST /manuscript/ai/vocabulary ```
Annotation API:
```bash # Create annotation POST /manuscript/annotations
# List annotations GET /manuscript/annotations?bookId=xxx
# Update annotation PATCH /manuscript/annotations/{id}
# Delete annotation DELETE /manuscript/annotations/{id}
# Export annotations GET /manuscript/annotations/export?bookId=xxx&format=json ```
Reader API:
```bash # Sync progress POST /manuscript/reader/progress
# Get stats GET /manuscript/reader/stats ```
FAQ
Audio is generated through your tenant's configured voice provider — OpenAI, ElevenLabs, Azure, or Amazon Polly. Results are cached automatically so repeat listens are instant. Word-level timestamps (`{word, start, end}`) come back whenever the provider supports them, powering karaoke-style highlighting and click-to-seek. If no speech provider is configured yet, TTS simply isn't available until one is set up — no broken or silent audio.
The tutor reads the book title, author, and chapter context to keep answers grounded in what's actually being read. Conversation history carries forward so follow-up questions build naturally. Powered by GPT-4-class models.
AI generates front/back questions from selected text. Front = question/key term. Back = answer/definition. Count configurable (default: 5).
Upload any EPUB and the platform automatically extracts metadata, chapters, and a table of contents, cleans up formatting, and calculates word counts.
Only the reader who created a highlight, note, or bookmark can update or delete it. Deleting an annotation archives it rather than erasing it outright.
Progress is calculated automatically against your target, with an on-track indicator and the daily pace needed to finish on schedule.
OpenAI (alloy, echo, nova), ElevenLabs (Rachel, Domi, Bella), Azure (Jenny, Guy, Sonia), Polly (Joanna, Matthew). Configurable per user.
Vocabulary mastery moves through four stages, each with a longer review interval: new (review in 1 day), learning (3 days), familiar (7 days), mastered (30 days). Marking a word at a higher mastery level pushes its next review further out; marking it back down shortens the interval again.
Each tenant gets a default daily allowance of 100,000 characters for TTS generation, keeping usage predictable. Check your remaining balance any time via `GET /manuscript/tts/limit`.
Yes — export to JSON, CSV, or PDF, including highlights, notes, vocabulary, and chapter references.
Current chapter, position, and percent complete update automatically as you read, staying in sync across devices.
light (#FFFFFF), sepia (#F4ECD8), dark (#1E1E1E), black (#000000). Font families: serif, sans-serif, monospace. Size 12-32px.
Analysis (explain/translate/analyze/simplify/define) works on selected text passages. Tutoring maintains conversation history and book context for Q&A.
Yes — regenerating the same text with the same voice returns the identical cached audio instead of creating a new one, so playback stays consistent and fast.