{"openapi":"3.1.0","info":{"title":"Epublys API","version":"1.0.0","description":"EPUB/PDF ebook manipulation API. Merge, split, compress, convert, validate, and edit metadata. All file data is base64-encoded JSON. Get a free API key at https://epublys.com/account. Pro ($9/mo) for higher limits: https://epublys.com/pricing","contact":{"url":"https://epublys.com"}},"servers":[{"url":"https://epublys.com/v1"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key (epl_xxx). Get one at https://epublys.com/account"}}},"paths":{"/merge":{"post":{"summary":"Merge multiple EPUBs","operationId":"mergeEpub","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"},"minItems":2,"description":"Base64-encoded EPUB files"},"title":{"type":"string"},"author":{"type":"string"},"dividers":{"type":"boolean","default":true}}}}}}}},"/split":{"post":{"summary":"Split EPUB into chapters","operationId":"splitEpub","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","description":"Base64-encoded EPUB"},"chapterStart":{"type":"integer"},"chapterEnd":{"type":"integer"},"keepMetadata":{"type":"boolean","default":true}}}}}}}},"/compress":{"post":{"summary":"Compress EPUB","operationId":"compressEpub","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","description":"Base64-encoded EPUB"},"level":{"type":"integer","minimum":1,"maximum":9,"default":6},"stripUnused":{"type":"boolean","default":false}}}}}}}},"/metadata":{"post":{"summary":"Read EPUB metadata","operationId":"readMetadata","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","description":"Base64-encoded EPUB"}}}}}}}},"/metadata/edit":{"post":{"summary":"Edit EPUB metadata","operationId":"editMetadata","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","description":"Base64-encoded EPUB"},"title":{"type":"string"},"author":{"type":"string"},"language":{"type":"string"},"publisher":{"type":"string"},"description":{"type":"string"}}}}}}}},"/epub-to-pdf":{"post":{"summary":"Convert EPUB to PDF","operationId":"epubToPdf","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","description":"Base64-encoded EPUB"},"pageSize":{"type":"string","enum":["a4","letter"]},"fontSize":{"type":"integer"}}}}}}}},"/pdf-to-epub":{"post":{"summary":"Convert PDF to EPUB","operationId":"pdfToEpub","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","description":"Base64-encoded PDF"},"chapterMode":{"type":"string","enum":["auto","every-n","single"]},"extractImages":{"type":"boolean","default":true}}}}}}}},"/validate":{"post":{"summary":"Validate EPUB","operationId":"validateEpub","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","description":"Base64-encoded EPUB"},"deepScan":{"type":"boolean","default":true},"autoFix":{"type":"boolean","default":false}}}}}}}},"/generate-cover":{"post":{"summary":"Generate AI book cover (Pro only)","description":"Generates a book cover image from a text description using FLUX. Pro tier required — free-tier keys receive 403. Returns a base64-encoded JPEG.","operationId":"generateCover","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["description"],"properties":{"description":{"type":"string","maxLength":2000,"description":"Visual description of the cover (subject, mood, style)"},"title":{"type":"string","maxLength":200},"author":{"type":"string","maxLength":200},"genre":{"type":"string","default":"literary"},"seed":{"type":"integer","description":"Optional seed for reproducible output"}}}}}}}}}}