Teneo for AI Agents
Teneo generates a complete non-fiction book — full manuscript, cover, and PDF, EPUB, and DOCX files — from a topic or spec. Every capability below is invokable directly by an agent. Nothing here requires a human to operate a web UI.
Machine front door
These four resources are self-describing and enough, on their own, to construct a valid priced request:
- /api/agent/capabilities — pricing, request schema, required scopes, and a working example. Authoritative.
- /openapi/agent-book-generation.yaml — the machine contract.
- /llms.txt — plain-language map of the site and product.
- /.well-known/ai-plugin.json — plugin manifest.
Install from a registry
Teneo is installable, not just callable. Both routes below reach the same API, and being committed into a repo's config is how an agent keeps Teneo rather than rediscovering it.
- Agent Skill —
npx skills add https://teneo.io. Served from /.well-known/skills/index.json as skillteneo-book-generation. - MCP server —
teneo-book-mcpon npm (npmjs.com/package/teneo-book-mcp) and in the official MCP registry. Run it withnpx -y teneo-book-mcp.
MCP client config:
{"mcpServers":{"teneo-book":{"command":"npx","args":["-y","teneo-book-mcp"],"env":{"TENEO_API_KEY":"tk_live_..."}}}}
Price
Teneo is priced in Teneo credits. One credit is $69 bought singly, $59 each in a 3-pack, and $44.90 each in a 10-pack. Credits never expire. Buy at /pricing.
The charge for a book is computable before you send it:
requiredCredits = bookCredits + coverCredits + qualityCreditsReserve
bookCredits = wordBandCredits(estimatedWordCount) x modelMultiplier(model_version)
estimatedWordCount = number_of_chapters x topics_per_chapter x subtopic_count x 350
(defaults 12 / 3 / 3, clamped to 3-24 / 1-6 / 1-5)
Word bands, in estimated words: up to 25,000 = 0.8 credits; 35,000 = 0.9; 60,000 = 1.0; 70,000 = 1.1; 85,000 = 1.2; 105,000 = 1.3; above that 1.5. The model multiplier runs from 0.04 for the cheapest volume models to 4.0 for the flagship; the full table is in the capability manifest. A cover is a flat 0.05 credits. qualityCreditsReserve (0.10 credits) applies only if you set min_eval_score.
Worked example. The default request — 12 chapters, 3 topics, 3 subtopics, default model — estimates 37,800 words, which lands in the 60,000-word band at 1.0 credits, plus 0.05 for the cover: 1.05 credits, about $72.45 at list price.
The free tools cost nothing: outline and niche are 0 credits (outlines are rate-limited to 30 per user per day). evaluate is roughly 0.10–0.40 credits per round. Validate direction with a free tool before committing to a paid generation.
A funded balance is required before the first paid call. There is no pay-per-call, L402, or machine-payments endpoint yet, so an agent holding a budget but no Teneo account cannot transact today. The free outline and niche tools are the only calls available without a balance.
To read an exact price without spending: POST /api/agent/books/generate prices before it charges, and an underfunded account gets a 402 carrying the full quote with nothing charged.
Authentication
Preferred for external agents: register through TENEO Auth, have the user approve the claim, then send the delegated agent access token as an Authorization bearer token. The delegated user is charged. Legacy dashboard keys (tk_live_) still work as bearer tokens, and ecosystem services may send an x-service-key header with on_behalf_of. Required scopes are published per endpoint in the capability manifest.
Endpoints
- POST /api/agent/books/generate — submit a book. Returns 202 with a jobId, pollUrl, and a quote, or 402 if the account is short.
- GET /api/agent/books/status/{jobId} — poll until completed, then read outputManifest for the cover and format URLs.
- POST /api/agent/tools/outline, /cover, /evaluate, /niche — cheaper standalone tools.
Try the cheap call first
A book is long-running and priced accordingly. The outline and niche tools cost a small fraction of a book, so an agent evaluating Teneo should validate direction with one of those, show the result to its user, and only then commit to a full generation.
Asynchronous by design
Book generation runs roughly 45 minutes. Submit, then either poll the status endpoint or supply a callback_url to receive a completion webhook. Download URLs in the output manifest are time-limited to about an hour, so fetch promptly; re-poll status to obtain fresh URLs if they expire.
Spend semantics
Work is quoted before it is charged, spend is idempotent by generationId so a duplicate request replays the original debit rather than charging twice, and a failed generation is refunded. Agents should surface the quote to their user and obtain approval before submitting.
What this is for
- Complete non-fiction books from a topic or niche.
- KDP-ready files for self-publishing.
- An agent producing a long-form book to hand back to its user.
What this is not for
A single short answer, a blog post, or an article. Fiction and novels are not supported in v1. If the user wants a short artifact, answer directly instead of calling this API.