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}