Pembuatan

Endpoint pembuatan menjalankan pipeline AI. Semuanya membutuhkan cakupan generation:run dan bisa memakai kredit Anthropic, Perplexity, dan ElevenLabs.

Hasilkan kerangka

POST/v1/books/{bookId}/outlinecakupan: generation:run

Sinkron. Menjalankan putaran riset Perplexity opsional (jika diaktifkan di instans), lalu meminta kerangka terstruktur dari model dan membuat baris bab darinya. Menggantikan bab yang sudah ada dan menaikkan status buku menjadi writing.

Mengembalikan buku yang diperbarui dan daftar bab yang baru dibuat. Memakan waktu ~10–60 detik, tergantung tingkat model dan apakah riset dijalankan.

Tulis bab (stream)

POST/v1/books/{bookId}/chapters/{chapterId}/writecakupan: generation:run

Mengalirkan prosa bab sebagai text/plain. Saat aliran ditutup, bab yang tersimpan diperbarui dan status buku naik menjadi ready jika semua bab kini sudah berisi.

Panggil bab sesuai order — penulis membaca bagian akhir bab sebelumnya untuk menjaga kesinambungan.

curl -N -X POST "$ANTHRA_BASE/books/$BOOK/chapters/$CH/write" \
  -H "authorization: Bearer $ANTHRA_TOKEN"

Header respons x-chapter-id memuat ulang id bab agar klien yang membaca beberapa aliran secara paralel bisa mencocokkannya.

Tulis ulang bab (stream)

POST/v1/books/{bookId}/chapters/{chapterId}/rewritecakupan: generation:run

Kontrak streaming sama dengan /write, tetapi menerima directive di body dan memakai prosa bab yang sudah ada sebagai sumber. Isi sebelumnya disimpan sebagai snapshot sebelum ditimpa — lihat riwayat revisi di studio untuk mengembalikannya.

curl -N -X POST "$ANTHRA_BASE/books/$BOOK/chapters/$CH/rewrite" \
  -H "authorization: Bearer $ANTHRA_TOKEN" \
  -H "content-type: application/json" \
  -d '{ "directive": "Punch up the dialogue. Cut filler. End on a hook." }'

Narasikan bab

POST/v1/books/{bookId}/chapters/{chapterId}/narratecakupan: generation:run

Menyintesis narasi ElevenLabs untuk bab, mengunggah MP3 ke Vercel Blob, dan menyimpan URL-nya di baris bab. Responsnya adalah bab yang diperbarui (dengan audioUrl, audioStatus, audioDurationSec).

Membutuhkan ELEVENLABS_API_KEY dan BLOB_READ_WRITE_TOKEN yang dikonfigurasi di instans Anthra; jika tidak, mengembalikan 503 feature_disabled.