# Kindle / KDP — Especificacoes Tecnicas

> Tudo que precisa saber para gerar EPUB 3 aceito pela Amazon.

---

## FORMATOS ACEITOS PELO KDP

| Formato | Status | Nota |
|---------|--------|------|
| **EPUB 3** | Recomendado | Melhor para geracao programatica |
| KPF | Aceito | Saida do Kindle Create (GUI, nao automatizavel) |
| DOCX | Aceito | Menos controle de formatacao |
| HTML (zip) | Aceito | Funciona mas EPUB e melhor |
| MOBI | Descontinuado | Nao aceito desde junho 2024 |
| PDF | So print | NAO usar para ebook Kindle |

---

## ESTRUTURA EPUB 3

```
livro.epub (ZIP)
├── mimetype                     ← PRIMEIRO arquivo, sem compressao
├── META-INF/
│   └── container.xml            ← Aponta para content.opf
└── OEBPS/
    ├── content.opf              ← Metadados + manifest + spine
    ├── toc.ncx                  ← TOC EPUB 2 (compatibilidade)
    ├── nav.xhtml                ← TOC EPUB 3 (obrigatorio)
    ├── styles.css               ← CSS simplificado
    ├── cover.xhtml              ← Pagina da capa
    ├── toc-inline.xhtml         ← Sumario clicavel inline
    ├── intro.xhtml              ← Introducao
    ├── cap-01.xhtml             ← Capitulo 1
    ├── cap-02.xhtml             ← Capitulo 2
    ├── ...                      
    ├── about.xhtml              ← Sobre o autor
    └── images/
        └── cover.jpg            ← Capa 2560x1600
```

### mimetype
```
application/epub+zip
```
Sem newline final. Sem compressao. Primeiro no ZIP.

### container.xml
```xml
<?xml version="1.0" encoding="UTF-8"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
  <rootfiles>
    <rootfile full-path="OEBPS/content.opf" media-type="application/oebps-package+xml"/>
  </rootfiles>
</container>
```

### content.opf (template)
```xml
<?xml version="1.0" encoding="UTF-8"?>
<package xmlns="http://www.idpf.org/2007/opf" version="3.0" unique-identifier="uid">
  <metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
    <dc:identifier id="uid">urn:uuid:GERAR-UUID-AQUI</dc:identifier>
    <dc:title>TITULO DO LIVRO</dc:title>
    <dc:creator>NOME DO AUTOR</dc:creator>
    <dc:language>pt-BR</dc:language>
    <dc:publisher>EDITORA OU SELF-PUBLISH</dc:publisher>
    <dc:description>DESCRICAO CURTA</dc:description>
    <meta property="dcterms:modified">2026-01-01T00:00:00Z</meta>
  </metadata>

  <manifest>
    <item id="nav" href="nav.xhtml" media-type="application/xhtml+xml" properties="nav"/>
    <item id="ncx" href="toc.ncx" media-type="application/x-dtbncx+xml"/>
    <item id="css" href="styles.css" media-type="text/css"/>
    <item id="cover-image" href="images/cover.jpg" media-type="image/jpeg" properties="cover-image"/>
    <item id="cover" href="cover.xhtml" media-type="application/xhtml+xml"/>
    <item id="toc-inline" href="toc-inline.xhtml" media-type="application/xhtml+xml"/>
    <item id="intro" href="intro.xhtml" media-type="application/xhtml+xml"/>
    <!-- Adicionar cada capitulo aqui -->
    <item id="cap-01" href="cap-01.xhtml" media-type="application/xhtml+xml"/>
    <item id="about" href="about.xhtml" media-type="application/xhtml+xml"/>
  </manifest>

  <spine toc="ncx">
    <itemref idref="cover"/>
    <itemref idref="toc-inline"/>
    <itemref idref="intro"/>
    <!-- Adicionar cada capitulo aqui -->
    <itemref idref="cap-01"/>
    <itemref idref="about"/>
  </spine>

  <guide>
    <reference type="cover" title="Cover" href="cover.xhtml"/>
    <reference type="toc" title="Table of Contents" href="toc-inline.xhtml"/>
  </guide>
</package>
```

### nav.xhtml (EPUB 3 TOC)
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops">
<head><title>Sumario</title></head>
<body>
  <nav epub:type="toc" id="toc">
    <h1>Sumario</h1>
    <ol>
      <li><a href="intro.xhtml">Introducao</a></li>
      <li><a href="cap-01.xhtml">Capitulo 1 — Titulo</a></li>
      <!-- Adicionar cada capitulo -->
      <li><a href="about.xhtml">Sobre o Autor</a></li>
    </ol>
  </nav>
  <nav epub:type="landmarks">
    <ol>
      <li><a epub:type="cover" href="cover.xhtml">Capa</a></li>
      <li><a epub:type="toc" href="toc-inline.xhtml">Sumario</a></li>
      <li><a epub:type="bodymatter" href="intro.xhtml">Inicio</a></li>
    </ol>
  </nav>
</body>
</html>
```

### toc.ncx (EPUB 2 compatibilidade)
```xml
<?xml version="1.0" encoding="UTF-8"?>
<ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1">
  <head>
    <meta name="dtb:uid" content="urn:uuid:MESMO-UUID"/>
  </head>
  <docTitle><text>TITULO</text></docTitle>
  <navMap>
    <navPoint id="intro" playOrder="1">
      <navLabel><text>Introducao</text></navLabel>
      <content src="intro.xhtml"/>
    </navPoint>
    <navPoint id="cap-01" playOrder="2">
      <navLabel><text>Capitulo 1 — Titulo</text></navLabel>
      <content src="cap-01.xhtml"/>
    </navPoint>
    <!-- Adicionar cada capitulo -->
  </navMap>
</ncx>
```

### Template XHTML de capitulo
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Capitulo N — Titulo</title>
  <link rel="stylesheet" type="text/css" href="styles.css"/>
</head>
<body>
  <div class="chapter">
    <h1>Capitulo N</h1>
    <h2>Titulo do Capitulo</h2>
    
    <p>Conteudo do capitulo...</p>
    
    <div class="exercise-box">
      <h3>Exercicio: Nome</h3>
      <p>Instrucoes...</p>
    </div>
  </div>
</body>
</html>
```

### cover.xhtml
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Capa</title>
<style>
  body { margin: 0; padding: 0; text-align: center; }
  img { max-width: 100%; max-height: 100%; }
</style>
</head>
<body>
  <img src="images/cover.jpg" alt="Capa do livro"/>
</body>
</html>
```

---

## CAPA — ESPECIFICACOES

| Spec | Valor |
|------|-------|
| Dimensao ideal | **2560 x 1600 px** (altura x largura) |
| Proporcao | 1.6:1 |
| Minimo | 1000 x 625 px |
| Formato | JPEG, RGB |
| Resolucao | 300 DPI ideal |
| Tamanho maximo | 50 MB |

### Regras da Capa
- Titulo na capa DEVE ser identico ao metadado
- Nome do autor visivel
- NAO incluir: precos, "gratis", texto promocional, logos de outras lojas
- Legivel em thumbnail (300x187 px)
- Sem bleed (diferente de capa de livro fisico)

---

## CSS PARA KINDLE — O QUE FUNCIONA

### Funciona (usar livremente)
```css
/* Tipografia */
font-family: Georgia, serif;       /* fallback sempre */
font-size: 1em;                    /* RELATIVO sempre */
font-weight: bold;
font-style: italic;
text-align: left | center | right | justify;
text-indent: 1.5em;
text-decoration: underline;
line-height: 1.6;
letter-spacing: 0.02em;

/* Espacamento */
margin-top: 1em;
margin-bottom: 0.5em;
padding: 1em;

/* Cores e Bordas */
color: #333333;
background-color: #FFF8EE;
border: 2px solid #E8A838;
border-left: 4px solid #4A90D9;
border-radius: 0.5em;

/* Layout */
display: block;
display: inline;
display: none;
width: 100%;
max-width: 100%;

/* Listas */
list-style-type: disc | decimal | none;

/* Quebra de pagina */
page-break-before: always;         /* novo capitulo */
page-break-inside: avoid;          /* manter junto */
```

### NAO funciona (nunca usar)
```css
/* PROIBIDOS no Kindle */
display: flex;          /* ❌ */
display: grid;          /* ❌ */
position: absolute;     /* ❌ */
position: fixed;        /* ❌ */
float: left/right;      /* ❌ instavel */
box-shadow: ...;        /* ❌ */
transform: ...;         /* ❌ */
animation: ...;         /* ❌ */
transition: ...;        /* ❌ */
calc(...);              /* ❌ */
vw, vh;                 /* ❌ */
columns: ...;           /* ❌ */
overflow: ...;          /* ❌ */

/* NUNCA usar unidades absolutas para texto */
font-size: 16px;        /* ❌ */
font-size: 12pt;        /* ❌ */
```

---

## METADADOS KDP (para formulario de upload)

| Campo | Obrigatorio | Nota |
|-------|------------|------|
| Titulo | Sim | Identico a capa |
| Subtitulo | Nao | Aparece na listagem |
| Autor | Sim | Ate 3 autores |
| Descricao | Sim | Ate 4000 chars, HTML basico (b, i, br, h4-h6) |
| Keywords | Sim | 7 slots, ate 50 chars cada |
| Categorias | Sim | 3 categorias |
| Idioma | Sim | Portugues (Brasil) |
| ISBN | Nao | Amazon gera ASIN gratis |
| Preco | Sim | R$5,99-24,99 para 70% royalty |

---

## ROYALTIES

| Faixa | Royalty | Delivery Fee |
|-------|--------|-------------|
| USD $2.99-9.99 | **70%** | ~$0.15/MB |
| USD $0.99-2.98 ou $10+ | 35% | Nenhum |
| BRL R$5,99-24,99 | **70%** | Sim |
| BRL fora da faixa | 35% | Nenhum |

**Recomendacao:** Precificar na faixa de 70% e manter arquivo leve (<10 MB).

---

## BUILD DO EPUB — SCRIPT

### Criar EPUB via shell
```bash
#!/bin/bash
# build-epub.sh — Gera EPUB 3 valido a partir da estrutura

EPUB_DIR="kindle-src"
OUTPUT="ebook.epub"

cd "$EPUB_DIR"

# mimetype DEVE ser primeiro, sem compressao (-0), sem extra fields (-X)
zip -0 -X "../$OUTPUT" mimetype
# Restante com compressao
zip -r -X "../$OUTPUT" META-INF OEBPS

cd ..

echo "EPUB gerado: $OUTPUT"
echo "Tamanho: $(du -h "$OUTPUT" | cut -f1)"

# Validar
if command -v npx &> /dev/null; then
  echo "Validando com epubcheck..."
  npx epubcheck "$OUTPUT"
else
  echo "AVISO: epubcheck nao instalado. Instale com: npm i -g epubcheck"
  echo "Validacao manual: https://validator.w3.org/check"
fi
```

### Validacao obrigatoria
```bash
npx epubcheck ebook.epub
```
Se passa sem erros → KDP aceita.

---

## MOTIVOS DE REJEICAO COMUNS

1. EPUB nao passa no epubcheck
2. Capa < 1000x625 ou ratio errado
3. Titulo na capa ≠ titulo nos metadados
4. TOC com links quebrados
5. Imagens faltando ou corrompidas
6. Descricao com URLs/emails (proibido)
7. Capa com texto "gratis" ou preco
8. Nao declarar uso de IA (obrigatorio desde 2024)
9. Excesso de erros ortograficos
10. Arquivo > 650 MB
