The CRAIG API provides secure, instant translation services, tailored exclusively to each client. It enables seamless access to client-specific translation configurations — whether optimized for latency or translation quality. The interface is simple, robust, and purpose-built to support customized, production-ready language workflows.
https://craig-api.all-in.global
API access requires a valid API key issued per client, tied to a usage plan aligned with their subscription tier. Each request must include the key in the headers:
x-api-key: YOUR_CLIENT_API_KEY
You can request yours by contacting sales(at)all-in.global
All requests and responses use:
Content Type: application/json
For technical doubts, please contact craig.support(at)all-in.global
This translation service is optimized for quality. Translations are tailored to each client and content type, including two layers: one of customized neural machine translation and one of genAI-based automatic post-editing, carefully crafted on the backend by the CRAIG team to meet client-specific requirements and needs. This method accepts specific instructions per request.
x-api-key: YOUR_CLIENT_API_KEY
Content-Type: application/json
Parameters
service
string - required
Use the specific service name provided by the CRAIG team, which corresponds to a service crafted to each client and use case.
source_language
string - required
ISO 639-1 language code (e.g., en, fr, ja). Please confirm with the CRAIG team the availability of a specific language as a source for your use case. Find the list of language codes below.
target_language
string - required
ISO 639-1 target language code. Please confirm with the CRAIG team the availability of a specific language as a target for your use case. Find the list of available languages below.
source_text
string - required
Text to be translated. The recommended text extension ranges between 500 and 1000 characters, with 1000 being the maximum length. Multiple sentences can be bundled together using the delimiter ¤ in the string. Alternative solutions for sentence bundling delimiters can be discussed with the CRAIG team.
instructions
string - optional
Additional specific instruction for the translation of the source text.
POST /translate
{
"service": "CustomServiceName",
"source_language": "en",
"target_language": "es",
"source_text": "Hello world¤This is a test."
}
{
"status": 200,
"translation": "Hola mundo.¤Esto es una prueba."
}
❌ Common Errors
400 - Invalid request body. Please check the request format and any missing or malformed input objects.
403 - Forbidden. Missing or invalid API key.
429 - Limit Exceeded. Monthly API quota exceeded, according to the client subscription.
You can use this as a model to test it via curl or adapt it accordingly to your environment:
curl -X POST https://craig-api.all-in.global/translate \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_CLIENT_API_KEY" \
-d '{
"service": "CustomServiceName",
"source_language": "en",
"target_language": "es",
"source_text": "Hello world.¤This is a test."
}'
This translation service is optimized for latency. Translations are tailored to each client and content type, using a neural machine translation layer, customized with client-specific translation memory (if available).
x-api-key: YOUR_CLIENT_API_KEY
Content-Type: application/json
Parameters
service
string - required
Use the specific service name provided by the CRAIG team, which corresponds to a service crafted to each client and use case.
source_language
string - required
ISO 639-1 language code (e.g., en, fr, ja). Please confirm with the CRAIG team the availability of a specific language as a source for your use case. Find the list of language codes below.
target_language
string - required
ISO 639-1 target language code. Please confirm with the CRAIG team the availability of a specific language as a target for your use case. Find the list of available languages below.
source_text
string - required
Text to be translated. The recommended text extension ranges between 500 and 1000 characters, with 1000 being the maximum length. Multiple sentences can be bundled together using the delimiter ¤ in the string. Alternative solutions for sentence bundling delimiters can be discussed with the CRAIG team.
POST /translate-lite
{
"service": "CustomServiceName",
"source_language": "en",
"target_language": "es",
"source_text": "Hello world¤This is a test."
}
{
"status": 200,
"translation": "Hola mundo.¤Esto es una prueba."
}
❌ Common Errors
400 - Invalid request body. Please check the request format and any missing or malformed input objects.
403 - Forbidden. Missing or invalid API key.
429 - Limit Exceeded. Monthly API quota exceeded, according to the client subscription.
You can use this as a model to test it via curl or adapt it accordingly to your environment:
curl -X POST https://craig-api.all-in.global/translate-lite \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_CLIENT_API_KEY" \
-d '{
"service": "CustomServiceName",
"source_language": "en",
"target_language": "es",
"source_text": "Hello world.¤This is a test."
}'
These are the languages supported by CRAIG with their respective language codes (ISO 639-1 format). Please confirm with the CRAIG team the availability of a specific language as a source or target for your use case.
Arabic - ar
Armenian - hy
Arabic - ar
Armenian - hy
Bosnian - bs
Bulgarian - bg
Chinese (Simplified) - zh-CN
Chinese (Traditional) - zh-TW
Croatian - hr
Czech - cs
Danish - da
Dutch - nl
Estonian - et
Finnish - fi
French (France) - fr
German - de
Greek - el
Hindi - hi
Hungarian - hu
Indonesian - id
Italian - it
Japanese - ja
Korean - ko
Malay - ms
Norwegian - no
Polish - pl
Portuguese (Brazil) - pt-BR
Portuguese (Portugal) - pt-PT
Romanian - ro
Russian - ru
Serbian (Latin) - sr-Latn
Slovak - sk
Spanish - es
Spanish (Latin America) - es-419
Swedish - sv
Turkish - tr
Ukrainian - uk
CRAIG, by All-in Global. 2025