cURL
curl -X POST "https://api.neuraldraft.io/v1/content/hero.headline/translate" \
-H "Authorization: Bearer ndsk_live_yourkey" \
-H "Content-Type: application/json" \
-d '{"target_langs":["fr","de","es"]}'
const job = await nd.content.translate("hero.headline", { targetLangs: ["fr","de","es"] });
const finished = await nd.jobs.wait(job.id);
job = requests.post(
"https://api.neuraldraft.io/v1/content/hero.headline/translate",
headers={"Authorization": f"Bearer {key}"},
json={"target_langs": ["fr","de","es"]},
).json()
<?php
$job = json_decode((string) $client->post('content/hero.headline/translate', [
'headers' => ['Authorization' => 'Bearer '.$key],
'json' => ['target_langs' => ['fr','de','es']],
])->getBody(), true);
{
"id": "job_2Ngd9KqLmRpW",
"type": "translation.batch",
"status": "pending",
"progress": 0,
"created_at": "2026-04-19T10:14:02Z"
}{
"type": "https://api.neuraldraft.io/errors/bad_request",
"title": "Bad request",
"status": 400,
"detail": "Request body could not be parsed.",
"code": "bad_request",
"instance": "req_2Nh4PqRsTuVw"
}{
"type": "https://api.neuraldraft.io/errors/unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "API key missing or invalid.",
"code": "unauthorized",
"instance": "req_2Nh4PqRsTuVw"
}{
"type": "https://neuraldraft.com/errors/payment-required",
"title": "Payment Required",
"status": 402,
"detail": "This project has no credits remaining for the current period.",
"code": "insufficient_credits",
"cost": 1,
"balance": 0,
"instance": "req_2Nh4PqRsTuVw"
}{
"type": "https://api.neuraldraft.io/errors/forbidden",
"title": "Forbidden",
"status": 403,
"detail": "This API key does not have the `commerce:write` scope.",
"code": "forbidden",
"instance": "req_2Nh4PqRsTuVw"
}{
"type": "https://api.neuraldraft.io/errors/not_found",
"title": "Not found",
"status": 404,
"detail": "No such resource.",
"code": "not_found",
"instance": "req_2Nh4PqRsTuVw"
}{
"type": "https://api.neuraldraft.io/errors/service_unavailable",
"title": "Service unavailable",
"status": 503,
"detail": "A required upstream service is temporarily unavailable. Retry in 5 seconds.",
"code": "service_unavailable",
"instance": "req_2Nh4PqRsTuVw"
}Content
Translate a content key
POST
/
content
/
{key}
/
translate
cURL
curl -X POST "https://api.neuraldraft.io/v1/content/hero.headline/translate" \
-H "Authorization: Bearer ndsk_live_yourkey" \
-H "Content-Type: application/json" \
-d '{"target_langs":["fr","de","es"]}'
const job = await nd.content.translate("hero.headline", { targetLangs: ["fr","de","es"] });
const finished = await nd.jobs.wait(job.id);
job = requests.post(
"https://api.neuraldraft.io/v1/content/hero.headline/translate",
headers={"Authorization": f"Bearer {key}"},
json={"target_langs": ["fr","de","es"]},
).json()
<?php
$job = json_decode((string) $client->post('content/hero.headline/translate', [
'headers' => ['Authorization' => 'Bearer '.$key],
'json' => ['target_langs' => ['fr','de','es']],
])->getBody(), true);
{
"id": "job_2Ngd9KqLmRpW",
"type": "translation.batch",
"status": "pending",
"progress": 0,
"created_at": "2026-04-19T10:14:02Z"
}{
"type": "https://api.neuraldraft.io/errors/bad_request",
"title": "Bad request",
"status": 400,
"detail": "Request body could not be parsed.",
"code": "bad_request",
"instance": "req_2Nh4PqRsTuVw"
}{
"type": "https://api.neuraldraft.io/errors/unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "API key missing or invalid.",
"code": "unauthorized",
"instance": "req_2Nh4PqRsTuVw"
}{
"type": "https://neuraldraft.com/errors/payment-required",
"title": "Payment Required",
"status": 402,
"detail": "This project has no credits remaining for the current period.",
"code": "insufficient_credits",
"cost": 1,
"balance": 0,
"instance": "req_2Nh4PqRsTuVw"
}{
"type": "https://api.neuraldraft.io/errors/forbidden",
"title": "Forbidden",
"status": 403,
"detail": "This API key does not have the `commerce:write` scope.",
"code": "forbidden",
"instance": "req_2Nh4PqRsTuVw"
}{
"type": "https://api.neuraldraft.io/errors/not_found",
"title": "Not found",
"status": 404,
"detail": "No such resource.",
"code": "not_found",
"instance": "req_2Nh4PqRsTuVw"
}{
"type": "https://api.neuraldraft.io/errors/service_unavailable",
"title": "Service unavailable",
"status": 503,
"detail": "A required upstream service is temporarily unavailable. Retry in 5 seconds.",
"code": "service_unavailable",
"instance": "req_2Nh4PqRsTuVw"
}Authorizations
Project API key. Pass as Authorization: Bearer ndsk_live_.... Manage
keys via /projects/me/api-keys. Test-mode keys use
the ndsk_test_ prefix.
Path Parameters
Translation key in dot.notation.
Example:
"hero.headline"
Body
application/json
Response
Translation job queued.
Example:
"job_2Ngd9KqLmRpW"
Available options:
blog_post.generate, social_post.generate, image.generate, translation.batch, content_plan.generate, website.generate Available options:
pending, processing, completed, failed, cancelled Required range:
0 <= x <= 100Show child attributes
Show child attributes
Result payload when status is completed. Shape depends on type:
blog_post.generate→{ post_id, slug, title }social_post.generate→{ social_post_id, title, platforms }image.generate→{ url, key, width, height }translation.batch→{ keys_translated: int, locales: [string] }
Show child attributes
Show child attributes