Translate a Story by AI
https://mapi.storyblok.com/v1/spaces/:space_id/stories/:story_id/ai_translateThis endpoint returns the story content, translated by AI.
Path parameters
Section titled “Path parameters”- :space_id required number
Numeric ID of a space
- :story_id required number
Numeric id of story
Request body properties
Section titled “Request body properties”- lang string
The official language code (e.g.,
en,de,fr) used for localization. - code string
The custom language identifier defined in the Space Settings under Internationalization.
- overwrite boolean
Indicates whether the current value should replace the existing value for the specified language.
- release_id number
Release ID of the story.
Response properties
Section titled “Response properties”- story The Story Object
A single story object, containing the translated fields in its
contentproperty.
Examples
Section titled “Examples”curl "https://mapi.storyblok.com/v1/spaces/288868932106293/stories/536503907/ai_translate" \ -X PUT \ -H "Authorization: YOUR_OAUTH_TOKEN" \ -H "Content-Type: application/json" \ -d "{\"code\":\"fr\",\"lang\":\"fr\",\"overwrite\":true,\"release_id\":0}"// Using the Universal JavaScript Client:// https://github.com/storyblok/storyblok-js-clientStoryblok.put('spaces/288868932106293/stories/536503907/ai_translate', { "code": "fr", "lang": "fr", "overwrite": true, "release_id": 0}) .then(response => { console.log(response) }).catch(error => { console.log(error) })$client = new \Storyblok\ManagementClient('YOUR_OAUTH_TOKEN');
$payload = ["code" => "fr","lang" => "fr","overwrite" => true,"release_id" => 0];
$client->put('spaces/288868932106293/stories/536503907/ai_translate', $payload)->getBody();HttpResponse<String> response = Unirest.put("https://mapi.storyblok.com/v1/spaces/288868932106293/stories/536503907/ai_translate") .header("Content-Type", "application/json") .header("Authorization", "YOUR_OAUTH_TOKEN") .body({"code":"fr","lang":"fr","overwrite":true,"release_id":0}) .asString();var client = new RestClient("https://mapi.storyblok.com/v1/spaces/288868932106293/stories/536503907/ai_translate");var request = new RestRequest(Method.PUT);
request.AddHeader("Content-Type", "application/json");request.AddHeader("Authorization", "YOUR_OAUTH_TOKEN");request.AddParameter("application/json", "{\"code\":\"fr\",\"lang\":\"fr\",\"overwrite\":true,\"release_id\":0}", ParameterType.RequestBody);IRestResponse response = client.Execute(request);import requests
url = "https://mapi.storyblok.com/v1/spaces/288868932106293/stories/536503907/ai_translate"
querystring = {}
payload = {"code":"fr","lang":"fr","overwrite":true,"release_id":0}headers = { 'Content-Type': "application/json", 'Authorization': "YOUR_OAUTH_TOKEN"}
response = requests.request("PUT", url, data=payload, headers=headers, params=querystring)
print(response.text)require 'storyblok'client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')
payload = {"code" => "fr","lang" => "fr","overwrite" => true,"release_id" => 0}
client.put('spaces/288868932106293/stories/536503907/ai_translate', payload)var request = URLRequest(url: URL(string: "https://mapi.storyblok.com/v1/spaces/288868932106293/stories/536503907/ai_translate")!)request.setValue("YOUR_OAUTH_TOKEN", forHTTPHeaderField: "Authorization")request.httpMethod = "PUT"request.httpBody = try JSONSerialization.data(withJSONObject: [ "code": "fr", "lang": "fr", "overwrite": true, "release_id": 0,])let (data, _) = try await URLSession.shared.data(for: request)print(try JSONSerialization.jsonObject(with: data))val client = HttpClient { install(ContentNegotiation) { json() } install(DefaultRequest) { url { takeFrom("https://mapi.storyblok.com/v1/") headers.append("Authorization", "YOUR_OAUTH_TOKEN") } }}
val response = client.put("spaces/288868932106293/stories/536503907/ai_translate") { contentType(ContentType.Application.Json) setBody(buildJsonObject { put("code", "fr") put("lang", "fr") put("overwrite", true) put("release_id", 0) })}
println(response.body<JsonElement>())You will receive a single story object, containing the translated fields in its content property.
Get in touch with the Storyblok community