Translate
Text Translate
Translate text from one language to another with support for multiple text formats.
POST
/
v1
/
ai
/
translate
import { JigsawStack } from "jigsawstack";
const jigsaw = JigsawStack({ apiKey: "your-api-key" });
const response = await jigsaw.translate.text({
"text": [
"Hello",
"How are you?",
"Thank you"
],
"target_language": "zh"
})
from jigsawstack import JigsawStack
jigsaw = JigsawStack(api_key="your-api-key")
response = jigsaw.translate.text({
"text": [
"Hello",
"How are you?",
"Thank you"
],
"target_language": "zh"
})
curl https://api.jigsawstack.com/v1/ai/translate \
-X POST \
-H 'Content-Type: application/json' \
-H 'x-api-key: your-api-key' \
-d '{"text":["Hello","How are you?","Thank you"],"target_language":"zh"}'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.jigsawstack.com/v1/ai/translate');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'x-api-key: your-api-key',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"text":["Hello","How are you?","Thank you"],"target_language":"zh"}');
$response = curl_exec($ch);
curl_close($ch);
require 'net/http'
require 'json'
uri = URI('https://api.jigsawstack.com/v1/ai/translate')
req = Net::HTTP::Post.new(uri)
req.content_type = 'application/json'
req['x-api-key'] = 'your-api-key'
req.body = {
'text' => [
'Hello',
'How are you?',
'Thank you'
],
'target_language' => 'zh'
}.to_json
req_options = {
use_ssl: uri.scheme == 'https'
}
res = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(req)
end
package main
import (
"fmt"
"io"
"log"
"net/http"
"strings"
)
func main() {
client := &http.Client{}
var data = strings.NewReader(`{"text":["Hello","How are you?","Thank you"],"target_language":"zh"}`)
req, err := http.NewRequest("POST", "https://api.jigsawstack.com/v1/ai/translate", data)
if err != nil {
log.Fatal(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-api-key", "your-api-key")
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
bodyText, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", bodyText)
}
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpRequest.BodyPublishers;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.jigsawstack.com/v1/ai/translate"))
.POST(BodyPublishers.ofString("{\"text\":[\"Hello\",\"How are you?\",\"Thank you\"],\"target_language\":\"zh\"}"))
.setHeader("Content-Type", "application/json")
.setHeader("x-api-key", "your-api-key")
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
import Foundation
let jsonData = [
"text": [
"Hello",
"How are you?",
"Thank you"
],
"target_language": "zh"
] as [String : Any]
let data = try! JSONSerialization.data(withJSONObject: jsonData, options: [])
let url = URL(string: "https://api.jigsawstack.com/v1/ai/translate")!
let headers = [
"Content-Type": "application/json",
"x-api-key": "your-api-key"
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = data as Data
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
if let error = error {
print(error)
} else if let data = data {
let str = String(data: data, encoding: .utf8)
print(str ?? "")
}
}
task.resume()
import 'package:http/http.dart' as http;
void main() async {
final headers = {
'Content-Type': 'application/json',
'x-api-key': 'your-api-key',
};
final data = '{"text":["Hello","How are you?","Thank you"],"target_language":"zh"}';
final url = Uri.parse('https://api.jigsawstack.com/v1/ai/translate');
final res = await http.post(url, headers: headers, body: data);
final status = res.statusCode;
if (status != 200) throw Exception('http.post error: statusCode= $status');
print(res.body);
}
import java.io.IOException
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.RequestBody.Companion.toRequestBody
val client = OkHttpClient()
val MEDIA_TYPE = "application/json".toMediaType()
val requestBody = "{\"text\":[\"Hello\",\"How are you?\",\"Thank you\"],\"target_language\":\"zh\"}"
val request = Request.Builder()
.url("https://api.jigsawstack.com/v1/ai/translate")
.post(requestBody.toRequestBody(MEDIA_TYPE))
.header("Content-Type", "application/json")
.header("x-api-key", "your-api-key")
.build()
client.newCall(request).execute().use { response ->
if (!response.isSuccessful) throw IOException("Unexpected code $response")
response.body!!.string()
}
using System.Net.Http.Headers;
using System.Net.Http.Json;
HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "https://api.jigsawstack.com/v1/ai/translate");
request.Headers.Add("x-api-key", "your-api-key");
request.Content = JsonContent.Create(new
{
text = new List<string> { "Hello", "How are you?", "Thank you" },
target_language = "zh"
});
request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
HttpResponseMessage response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
{
"success": true,
"translated_text": [
"你好",
"你好吗?",
"谢谢"
],
"_usage": {
"input_tokens": 18,
"output_tokens": 18,
"inference_time_tokens": 178,
"total_tokens": 214
}
}
Request Parameters
Body
string | string[]
required
The text to translate. Supports two formats:
- Single string:
{"text": "Hello, how are you doing"} - Array of strings:
{"text": ["Hello", "How are you doing"]}
string
required
The language code of the target language to translate to. All supported
language codes can be found
here.
string
The language code of the source text. If not provided, the API will attempt to
auto-detect the language. All supported language codes can be found
here.
Header
string
required
Your JigsawStack API key
Response Structure
boolean
Indicates whether the call was successful.
object
string
A unique identifier for the request
string | string[]
The translated text. The format matches your input: - If you sent a single
string, you’ll receive a single translated string - If you sent an array of
strings, you’ll receive an array of translated strings
import { JigsawStack } from "jigsawstack";
const jigsaw = JigsawStack({ apiKey: "your-api-key" });
const response = await jigsaw.translate.text({
"text": [
"Hello",
"How are you?",
"Thank you"
],
"target_language": "zh"
})
from jigsawstack import JigsawStack
jigsaw = JigsawStack(api_key="your-api-key")
response = jigsaw.translate.text({
"text": [
"Hello",
"How are you?",
"Thank you"
],
"target_language": "zh"
})
curl https://api.jigsawstack.com/v1/ai/translate \
-X POST \
-H 'Content-Type: application/json' \
-H 'x-api-key: your-api-key' \
-d '{"text":["Hello","How are you?","Thank you"],"target_language":"zh"}'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.jigsawstack.com/v1/ai/translate');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'x-api-key: your-api-key',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"text":["Hello","How are you?","Thank you"],"target_language":"zh"}');
$response = curl_exec($ch);
curl_close($ch);
require 'net/http'
require 'json'
uri = URI('https://api.jigsawstack.com/v1/ai/translate')
req = Net::HTTP::Post.new(uri)
req.content_type = 'application/json'
req['x-api-key'] = 'your-api-key'
req.body = {
'text' => [
'Hello',
'How are you?',
'Thank you'
],
'target_language' => 'zh'
}.to_json
req_options = {
use_ssl: uri.scheme == 'https'
}
res = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(req)
end
package main
import (
"fmt"
"io"
"log"
"net/http"
"strings"
)
func main() {
client := &http.Client{}
var data = strings.NewReader(`{"text":["Hello","How are you?","Thank you"],"target_language":"zh"}`)
req, err := http.NewRequest("POST", "https://api.jigsawstack.com/v1/ai/translate", data)
if err != nil {
log.Fatal(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-api-key", "your-api-key")
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
bodyText, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", bodyText)
}
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpRequest.BodyPublishers;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.jigsawstack.com/v1/ai/translate"))
.POST(BodyPublishers.ofString("{\"text\":[\"Hello\",\"How are you?\",\"Thank you\"],\"target_language\":\"zh\"}"))
.setHeader("Content-Type", "application/json")
.setHeader("x-api-key", "your-api-key")
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
import Foundation
let jsonData = [
"text": [
"Hello",
"How are you?",
"Thank you"
],
"target_language": "zh"
] as [String : Any]
let data = try! JSONSerialization.data(withJSONObject: jsonData, options: [])
let url = URL(string: "https://api.jigsawstack.com/v1/ai/translate")!
let headers = [
"Content-Type": "application/json",
"x-api-key": "your-api-key"
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = data as Data
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
if let error = error {
print(error)
} else if let data = data {
let str = String(data: data, encoding: .utf8)
print(str ?? "")
}
}
task.resume()
import 'package:http/http.dart' as http;
void main() async {
final headers = {
'Content-Type': 'application/json',
'x-api-key': 'your-api-key',
};
final data = '{"text":["Hello","How are you?","Thank you"],"target_language":"zh"}';
final url = Uri.parse('https://api.jigsawstack.com/v1/ai/translate');
final res = await http.post(url, headers: headers, body: data);
final status = res.statusCode;
if (status != 200) throw Exception('http.post error: statusCode= $status');
print(res.body);
}
import java.io.IOException
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.RequestBody.Companion.toRequestBody
val client = OkHttpClient()
val MEDIA_TYPE = "application/json".toMediaType()
val requestBody = "{\"text\":[\"Hello\",\"How are you?\",\"Thank you\"],\"target_language\":\"zh\"}"
val request = Request.Builder()
.url("https://api.jigsawstack.com/v1/ai/translate")
.post(requestBody.toRequestBody(MEDIA_TYPE))
.header("Content-Type", "application/json")
.header("x-api-key", "your-api-key")
.build()
client.newCall(request).execute().use { response ->
if (!response.isSuccessful) throw IOException("Unexpected code $response")
response.body!!.string()
}
using System.Net.Http.Headers;
using System.Net.Http.Json;
HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "https://api.jigsawstack.com/v1/ai/translate");
request.Headers.Add("x-api-key", "your-api-key");
request.Content = JsonContent.Create(new
{
text = new List<string> { "Hello", "How are you?", "Thank you" },
target_language = "zh"
});
request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
HttpResponseMessage response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
{
"success": true,
"translated_text": [
"你好",
"你好吗?",
"谢谢"
],
"_usage": {
"input_tokens": 18,
"output_tokens": 18,
"inference_time_tokens": 178,
"total_tokens": 214
}
}
Was this page helpful?
Previous
Embedding v2v2 Generate vector embeddings from various content types including text, images, audio, and PDF files with speaker fingerprint support.
Next
⌘I
import { JigsawStack } from "jigsawstack";
const jigsaw = JigsawStack({ apiKey: "your-api-key" });
const response = await jigsaw.translate.text({
"text": [
"Hello",
"How are you?",
"Thank you"
],
"target_language": "zh"
})
from jigsawstack import JigsawStack
jigsaw = JigsawStack(api_key="your-api-key")
response = jigsaw.translate.text({
"text": [
"Hello",
"How are you?",
"Thank you"
],
"target_language": "zh"
})
curl https://api.jigsawstack.com/v1/ai/translate \
-X POST \
-H 'Content-Type: application/json' \
-H 'x-api-key: your-api-key' \
-d '{"text":["Hello","How are you?","Thank you"],"target_language":"zh"}'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.jigsawstack.com/v1/ai/translate');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'x-api-key: your-api-key',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"text":["Hello","How are you?","Thank you"],"target_language":"zh"}');
$response = curl_exec($ch);
curl_close($ch);
require 'net/http'
require 'json'
uri = URI('https://api.jigsawstack.com/v1/ai/translate')
req = Net::HTTP::Post.new(uri)
req.content_type = 'application/json'
req['x-api-key'] = 'your-api-key'
req.body = {
'text' => [
'Hello',
'How are you?',
'Thank you'
],
'target_language' => 'zh'
}.to_json
req_options = {
use_ssl: uri.scheme == 'https'
}
res = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(req)
end
package main
import (
"fmt"
"io"
"log"
"net/http"
"strings"
)
func main() {
client := &http.Client{}
var data = strings.NewReader(`{"text":["Hello","How are you?","Thank you"],"target_language":"zh"}`)
req, err := http.NewRequest("POST", "https://api.jigsawstack.com/v1/ai/translate", data)
if err != nil {
log.Fatal(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-api-key", "your-api-key")
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
bodyText, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", bodyText)
}
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpRequest.BodyPublishers;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.jigsawstack.com/v1/ai/translate"))
.POST(BodyPublishers.ofString("{\"text\":[\"Hello\",\"How are you?\",\"Thank you\"],\"target_language\":\"zh\"}"))
.setHeader("Content-Type", "application/json")
.setHeader("x-api-key", "your-api-key")
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
import Foundation
let jsonData = [
"text": [
"Hello",
"How are you?",
"Thank you"
],
"target_language": "zh"
] as [String : Any]
let data = try! JSONSerialization.data(withJSONObject: jsonData, options: [])
let url = URL(string: "https://api.jigsawstack.com/v1/ai/translate")!
let headers = [
"Content-Type": "application/json",
"x-api-key": "your-api-key"
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = data as Data
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
if let error = error {
print(error)
} else if let data = data {
let str = String(data: data, encoding: .utf8)
print(str ?? "")
}
}
task.resume()
import 'package:http/http.dart' as http;
void main() async {
final headers = {
'Content-Type': 'application/json',
'x-api-key': 'your-api-key',
};
final data = '{"text":["Hello","How are you?","Thank you"],"target_language":"zh"}';
final url = Uri.parse('https://api.jigsawstack.com/v1/ai/translate');
final res = await http.post(url, headers: headers, body: data);
final status = res.statusCode;
if (status != 200) throw Exception('http.post error: statusCode= $status');
print(res.body);
}
import java.io.IOException
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.RequestBody.Companion.toRequestBody
val client = OkHttpClient()
val MEDIA_TYPE = "application/json".toMediaType()
val requestBody = "{\"text\":[\"Hello\",\"How are you?\",\"Thank you\"],\"target_language\":\"zh\"}"
val request = Request.Builder()
.url("https://api.jigsawstack.com/v1/ai/translate")
.post(requestBody.toRequestBody(MEDIA_TYPE))
.header("Content-Type", "application/json")
.header("x-api-key", "your-api-key")
.build()
client.newCall(request).execute().use { response ->
if (!response.isSuccessful) throw IOException("Unexpected code $response")
response.body!!.string()
}
using System.Net.Http.Headers;
using System.Net.Http.Json;
HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "https://api.jigsawstack.com/v1/ai/translate");
request.Headers.Add("x-api-key", "your-api-key");
request.Content = JsonContent.Create(new
{
text = new List<string> { "Hello", "How are you?", "Thank you" },
target_language = "zh"
});
request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
HttpResponseMessage response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
{
"success": true,
"translated_text": [
"你好",
"你好吗?",
"谢谢"
],
"_usage": {
"input_tokens": 18,
"output_tokens": 18,
"inference_time_tokens": 178,
"total_tokens": 214
}
}