Baoulé in your product,
through one API.
Translate between Baoulé, French and English today; transcription and speech endpoints are next. Use the HTTP API directly, or the langchain-ivoire package for LangChain and LangGraph agents.
Quick start
Send French, get Baoulé back. Every request carries your key as a Bearer token. Base URL: https://baoule.abyshire.co.uk/v1
curl https://baoule.abyshire.co.uk/v1/translate \
-H "Authorization: Bearer $IVOIRE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"texts": ["Venez manger."],
"source": "fra", "target": "bci",
"style": "everyday"}'
{
"texts": ["An bla wa di like."],
"source": "fra", "target": "bci", "style": "everyday",
"model": {"mt": "v3-nllb1.3b", "pivot": "nllb-200-distilled-1.3B",
"tier": "research"},
"usage": {"characters": 13, "segments": 1},
"timings_ms": {"mt_fra_bci": 2699, "total": 2701},
"request_id": "92290effebc841269dca3cd3cb98ef23"
}
A real response from 9 Oct 2026 (“Venez manger.” → “An bla wa di like.”), recorded while the server ran on CPU; on GPU the same call takes 0.12–0.25 s.
Endpoints
| Method | Path | What it does | Status |
|---|---|---|---|
| POST | /v1/translate | 1–32 texts between bci, fra and eng; styles everyday, tale, bible. Baoulé ↔ English goes through French and returns the French too. | Live |
| GET | /v1/languages | Supported languages and styles | Live |
| GET | /v1/models | Model names and versions in use | Live |
| POST | /v1/transcriptions | Baoulé audio → text | Planned |
| POST | /v1/speech | Baoulé text → audio | Planned |
The OpenAPI 3.1 specification is sent with your key.
Languages and styles
| Code | Language | Notes |
|---|---|---|
| bci | Baoulé | Modern spelling (ɛ ɔ ɲ); styles everyday, tale, bible |
| fra | French | Direct to and from Baoulé |
| eng | English | Through French; the French step is returned in pivot.fra |
Errors and limits
- Errors come back as
application/problem+jsonwith a stablecode. - Every response carries an
X-Request-Id; send anIdempotency-Keyto retry safely. - Rate limits per key: 30 requests a minute and 500 a day; texts up to 1,000 characters, 32 per request. Typical latency is 0.12–0.25 s per request on our GPU server.
What you can build with it
An agent that hears Baoulé, reasons in French, and answers out loud in Baoulé.
Draft French advice, deliver it in Baoulé, by text or voice.
Understand voice notes from customers who speak Baoulé.
Transcribe and translate field recordings at scale.
Python: langchain-ivoire
Every component is a LangChain Runnable. with_language lets any chat model take Baoulé in and give Baoulé back; IvoireLanguageMiddleware does the same for a create_agent agent while its tools keep working in French.
pip install langchain-ivoire
from langchain.chat_models import init_chat_model
from langchain_ivoire import with_language
chat = with_language(init_chat_model("…"), lang="bci") # any chat model
chat.invoke("N tɛ, an ti sɛn?").content
Baoulé audio → text
bci ↔ fra ↔ eng
Baoulé text → speech
Listen → think → speak, in LangGraph
The same tools for any MCP client
The package is in private preview: it is shared with API key holders and is not on PyPI yet. Ask for it when you request your key.
Keys and tiers
Research
Our highest-scoring translator into Baoulé, built on a non-commercially licensed base. Non-commercial use only: research, evaluation, prototypes.
Free during the preview, on requestCommercial
Models built on a commercially licensed base, for every step including English ↔ French. For products and paid services.
Priced per volume during the preview: ask usKeys are issued by hand while we are in preview. Write to api@abyshire.ci with your name, organisation and intended use. Measured quality for each tier is on the results page.