API Docs/SDK Python
lectorai

SDK Oficial de Python

Integra LectorAI en tus aplicaciones Python para automatizar la traducción de libros.

Instalación
#pip
pip install lectorai
#poetry
poetry add lectorai
Inicio Rápido
Traduce un libro en menos de 10 líneas de código
from lectorai import LectorAI

# Inicializar cliente
client = LectorAI(api_key='lector_xxx')

# 1. Subir libro
book = client.books.upload('libro.epub', title='Mi Libro')

# 2. Iniciar traducción
client.translate.start(
    book.id,
    source_language='en',
    target_language='es',
    model='gpt-4o-mini'
)

# 3. Esperar completado con progreso
def on_progress(book):
    print(f"Progreso: {book.progress}%")

result = client.books.wait_for_completion(book.id, on_progress=on_progress)

# 4. Descargar EPUB traducido
client.download.epub(book.id, 'traducido.epub')

Características

Type Hints Completos

SDK 100% tipado con Pydantic para autocompletado y validación en tu IDE.

Context Manager

Usa with para manejo automático de recursos.

Callbacks de Progreso

Recibe actualizaciones en tiempo real durante la traducción.

Excepciones Específicas

Manejo de errores granular con excepciones para cada tipo de error.

Referencia de API

client.books
  • .list(status, limit, offset) - Listar libros
  • .get(book_id) - Obtener un libro
  • .upload(file, title, author) - Subir libro
  • .delete(book_id) - Eliminar libro
  • .get_chapters(book_id) - Obtener capítulos
  • .wait_for_completion(book_id, timeout, on_progress) - Esperar traducción
client.translate
  • .start(book_id, source_language, target_language, model) - Iniciar
  • .pause(book_id) - Pausar traducción
  • .resume(book_id) - Reanudar traducción
  • .cancel(book_id) - Cancelar traducción
  • .get_status(book_id) - Estado detallado
client.download
  • .epub(book_id, output_path) - Descargar EPUB
  • .pdf(book_id, output_path) - Descargar PDF
  • .original(book_id, output_path) - Archivo original
  • .get_epub_bytes(book_id) - EPUB como bytes
  • .get_pdf_bytes(book_id) - PDF como bytes
client.usage
  • .get() - Obtener uso actual
  • .get_limits() - Obtener límites
client.health
  • .check() - Estado de salud completo
  • .ping() - Verificar conexión

Manejo de Errores

from lectorai import (
    LectorAI,
    LectorAIError,
    AuthenticationError,
    NotFoundError,
    RateLimitError,
)

try:
    book = client.books.get('invalid_id')
except NotFoundError:
    print("Libro no encontrado")
except AuthenticationError:
    print("API key inválida")
except RateLimitError:
    print("Límite de requests excedido")
except LectorAIError as e:
    print(f"Error: {e.message} (código: {e.status_code})")

Modelos Disponibles

ModeloIDDescripción
GPT-4ogpt-4oMáxima calidad
GPT-4o Minigpt-4o-miniRápido y económico
Claude Sonnetclaude-sonnetBalance calidad/velocidad
Claude Haikuclaude-haikuEl más rápido

Requisitos

  • Python3.8+
  • httpx>= 0.24.0
  • pydantic>= 2.0.0

Obtén tu API Key

Crea una API key en configuración para empezar a usar el SDK