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

MethodPathWhat it doesStatus
POST/v1/translate1–32 texts between bci, fra and eng; styles everyday, tale, bible. Baoulé ↔ English goes through French and returns the French too.Live
GET/v1/languagesSupported languages and stylesLive
GET/v1/modelsModel names and versions in useLive
POST/v1/transcriptionsBaoulé audio → textPlanned
POST/v1/speechBaoulé text → audioPlanned

The OpenAPI 3.1 specification is sent with your key.

Languages and styles

CodeLanguageNotes
bciBaouléModern spelling (ɛ ɔ ɲ); styles everyday, tale, bible
fraFrenchDirect to and from Baoulé
engEnglishThrough French; the French step is returned in pivot.fra

Errors and limits

  • Errors come back as application/problem+json with a stable code.
  • Every response carries an X-Request-Id; send an Idempotency-Key to 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

Voice assistants

An agent that hears Baoulé, reasons in French, and answers out loud in Baoulé.

Health and farming messages

Draft French advice, deliver it in Baoulé, by text or voice.

Customer service

Understand voice notes from customers who speak Baoulé.

Research

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
IvoireTranscriber
Baoulé audio → text
IvoireTranslator
bci ↔ fra ↔ eng
IvoireSpeaker
Baoulé text → speech
create_voice_agent
Listen → think → speak, in LangGraph
ivoire-mcp
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 request

Commercial

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 us

Keys 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.