Endpoint
POST /translate/v1/translate
curl -X POST https://api.case.dev/translate/v1/translate \
-H "Authorization: Bearer sk_case_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"q": "The plaintiff filed a motion for summary judgment.",
"target": "es"
}'
casedev translate:v1 translate \
--q "The deposition will be held on Monday." \
--target es
import Casedev from 'casedev';
const client = new Casedev({ apiKey: 'sk_case_YOUR_API_KEY' });
const result = await client.translate.v1.translate({
q: 'The plaintiff filed a motion for summary judgment.',
target: 'es'
});
console.log(result.data.translations[0].translatedText);
// "El demandante presentó una moción de juicio sumario."
import casedev
client = casedev.Casedev(api_key='sk_case_YOUR_API_KEY')
result = client.translate.v1.translate(
q='The plaintiff filed a motion for summary judgment.',
target='es'
)
print(result.data.translations[0].translated_text)
# "El demandante presentó una moción de juicio sumario."
result, _ := client.Translate.V1.Translate(ctx, casedev.TranslateV1TranslateParams{
Q: casedev.F("The deposition will be held on Monday at 10:00 AM."),
Target: casedev.F("es"),
})
fmt.Println(result.Data.Translations[0].TranslatedText)
Response
{
"data": {
"translations": [
{
"translatedText": "El demandante presentó una moción de juicio sumario.",
"detectedSourceLanguage": "en"
}
]
}
}
Parameters
Required
| Parameter | Type | Description |
|---|---|---|
q | string or string[] | Text to translate. Can be a single string or array for batch translation. |
target | string | Target language code (ISO 639-1), e.g., es, fr, de, zh |
Optional
| Parameter | Type | Default | Description |
|---|---|---|---|
source | string | auto-detect | Source language code. If omitted, language is automatically detected. |
format | string | text | Format of source text: text or html |
model | string | nmt | Translation model: nmt (neural) or base |
Batch translation
Translate multiple strings in a single request:casedev translate:v1 translate \
--q "The deposition will be held on Monday." \
--target es
const result = await client.translate.v1.translate({
q: [
'Hello',
'Goodbye',
'Thank you',
'Please sign here'
],
target: 'fr',
source: 'en'
});
result.data.translations.forEach((t, i) => {
console.log(t.translatedText);
});
// "Bonjour"
// "Au revoir"
// "Merci"
// "Veuillez signer ici"
result = client.translate.v1.translate(
q=[
'Hello',
'Goodbye',
'Thank you',
'Please sign here'
],
target='fr',
source='en'
)
for t in result.data.translations:
print(t.translated_text)
# "Bonjour"
# "Au revoir"
# "Merci"
# "Veuillez signer ici"
result, _ := client.Translate.V1.Translate(ctx, casedev.TranslateV1TranslateParams{
Q: casedev.F("The deposition will be held on Monday at 10:00 AM."),
Target: casedev.F("es"),
})
fmt.Println(result.Data.Translations[0].TranslatedText)
HTML preservation
Preserve HTML tags during translation withformat: 'html':
curl -X POST https://api.case.dev/translate/v1/translate \
-H "Authorization: Bearer sk_case_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"q": "<p>The <strong>defendant</strong> denies all allegations.</p>",
"target": "de",
"format": "html"
}'
casedev translate:v1 translate \
--q "The deposition will be held on Monday." \
--target es
const result = await client.translate.v1.translate({
q: '<p>The <strong>defendant</strong> denies all allegations.</p>',
target: 'de',
format: 'html'
});
console.log(result.data.translations[0].translatedText);
// "<p>Der <strong>Beklagte</strong> bestreitet alle Anschuldigungen.</p>"
result = client.translate.v1.translate(
q="<p>The <strong>defendant</strong> denies all allegations.</p>",
target="de",
format="html"
)
print(result.data.translations[0].translated_text)
# "<p>Der <strong>Beklagte</strong> bestreitet alle Anschuldigungen.</p>"
result, _ := client.Translate.V1.Translate(ctx, casedev.TranslateV1TranslateParams{
Q: casedev.F("<p>The <strong>defendant</strong> denies all allegations.</p>"),
Target: casedev.F("de"),
Format: casedev.F("html"),
})
fmt.Println(result.Data.Translations[0].TranslatedText)
Common language codes
| Language | Code |
|---|---|
| English | en |
| Spanish | es |
| French | fr |
| German | de |
| Chinese (Simplified) | zh |
| Chinese (Traditional) | zh-TW |
| Japanese | ja |
| Korean | ko |
| Arabic | ar |
| Portuguese | pt |
| Russian | ru |
| Italian | it |
See the Supported Languages endpoint for a complete list.
Examples
Translate a legal document
casedev translate:v1 translate \
--q "NOTICE OF MOTION - PLEASE TAKE NOTICE that the undersigned..." \
--target es
const document = `
NOTICE OF MOTION
PLEASE TAKE NOTICE that the undersigned will move this Court
at the Courthouse located at 100 Centre Street, New York, NY
on the 15th day of January, 2025, at 9:30 a.m., for an order...
`;
const result = await client.translate.v1.translate({
q: document,
target: 'es'
});
document = """
NOTICE OF MOTION
PLEASE TAKE NOTICE that the undersigned will move this Court
at the Courthouse located at 100 Centre Street, New York, NY
on the 15th day of January, 2025, at 9:30 a.m., for an order...
"""
result = client.translate.v1.translate(q=document, target='es')
document := `
NOTICE OF MOTION
PLEASE TAKE NOTICE that the undersigned will move this Court
at the Courthouse located at 100 Centre Street, New York, NY
on the 15th day of January, 2025, at 9:30 a.m., for an order...
`
result, _ := client.Translate.V1.Translate(ctx, casedev.TranslateV1TranslateParams{
Q: casedev.F(document),
Target: casedev.F("es"),
})
Auto-detect source language
casedev translate:v1 translate \
--q "Bonjour, comment puis-je vous aider?" \
--target en
// Source language is detected automatically
const result = await client.translate.v1.translate({
q: 'Bonjour, comment puis-je vous aider?',
target: 'en'
});
console.log(result.data.translations[0].detectedSourceLanguage); // "fr"
console.log(result.data.translations[0].translatedText); // "Hello, how can I help you?"
# Source language is detected automatically
result = client.translate.v1.translate(
q='Bonjour, comment puis-je vous aider?',
target='en'
)
print(result.data.translations[0].detected_source_language) # "fr"
print(result.data.translations[0].translated_text) # "Hello, how can I help you?"
// Source language is detected automatically
result, _ := client.Translate.V1.Translate(ctx, casedev.TranslateV1TranslateParams{
Q: casedev.F("Bonjour, comment puis-je vous aider?"),
Target: casedev.F("en"),
})
fmt.Println(result.Data.Translations[0].DetectedSourceLanguage) // "fr"
fmt.Println(result.Data.Translations[0].TranslatedText) // "Hello, how can I help you?"
Pricing: $0.05 per 1,000 characters. A 50,000 character document costs $2.50.

