File size: 697 Bytes
2fb7227
14fc11e
 
2fb7227
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from typing import TypedDict
import requests

class InputSchema(TypedDict):
    text: str
    source_lang: str
    target_lang: str

class OutputSchema(TypedDict):
    translated_text: str

def translate_text(inputs: InputSchema) -> OutputSchema:
    url = "https://libretranslate.de/translate"
    payload = {
        "q": inputs["text"],
        "source": inputs["source_lang"],
        "target": inputs["target_lang"],
        "format": "text"
    }
    headers = {"Content-Type": "application/json"}

    response = requests.post(url, json=payload, headers=headers)
    response.raise_for_status()
    translated = response.json()["translatedText"]

    return {"translated_text": translated}