POST
/
translation
/
stream
curl --request POST \
  --url https://client.camb.ai/apis/translation/stream \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '{
  "text": "<string>",
  "source_language": 1,
  "target_language": 1,
  "formality": 1,
  "gender": 0
}'
"<string>"

Example Request for translation from English to Hindi

translation_payload = {
    "text": "Jupiter, the largest planet in our solar system, is a gas giant with swirling storms like the iconic Great Red Spot. Its 79 moons, including Europa and Ganymede, spark scientific",
    "source_language": 1,  # English
    "target_language": 81,  # Hindi
}

async def create_translation_task(session: aiohttp.ClientSession, payload: dict) -> str:
    """Create a translation task and print the translated text."""
    async with session.post("https://client.camb.ai/apis/translation/stream", json=payload, headers={"x-api-key": <api-key>}) as res:
        translated_text = ""
        async for chunk in res.content.iter_any():
            if chunk:
                try:
                    decoded = chunk.decode("utf-8")
                    translated_text += decoded
                    print(decoded, end="", flush=True)
                except Exception as e:
                    continue
    return translated_text

async def main():
    async with aiohttp.ClientSession() as session:
        translation = await create_translation_task(session, translation_payload)
        print("Translation: ", translation)
asyncio.run(main())

Specifying Gender

Gender is specified in the payload as an integer. The following values are supported:

NOT_KNOWN = 0
MALE = 1
FEMALE = 2
NOT_APPLICABLE = 9

Specifying Formality

Formality is specified in the payload as an integer:

INFORMAL = 1
FORMAL = 2

Specifying Languages

Check the /source-languages endpoint for supported source languages and /target-languages endpoint for supported target languages.

Response Format

The endpoint returns a streaming response with text/event-stream content type containing the translated text which will have to be decoded with utf-8. The response includes an X-Credits-Required header indicating the number of credits required for this request.

Authorizations

x-api-key
string
header
required

The x-api-key is a custom header required for authenticating requests to our API. Include this header in your request with the appropriate API key value to securely access our endpoints. You can find your API key(s) in the 'API' section of our studio website.

Body

application/json
text
string
required
source_language
enum<integer>
required
Available options:
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148
target_language
enum<integer>
required
Available options:
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148
formality
enum<integer> | null
default:
2
Available options:
1,
2
gender
enum<integer> | null
default:
1

The gender of the speaker.

Available options:
0,
1,
2,
9

Response

200
text/event-stream
Text translation stream

The response is of type string.