Antes de começar
- URL base: https://toonverter.com/api
- Todos os endpoints usam JSON sobre HTTPS
- Limites generosos para teste; fale conosco para mais throughput
Início rápido com cURL
curl https://toonverter.com/api/convert \
-H "Content-Type: application/json" \
-d '{
"input_data": "{\"name\": \"Nova\", \"role\": \"moderator\"}",
"direction": "json_to_toon"
}'
Helper Python com tentativas
import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
session = requests.Session()
session.mount(
"https://",
HTTPAdapter(max_retries=Retry(total=3, backoff_factor=0.5)),
)
payload = {
"input_data": "{\"session\": 42, \"status\": \"active\"}",
"direction": "json_to_toon",
}
resp = session.post("https://toonverter.com/api/convert", json=payload, timeout=10)
resp.raise_for_status()
print(resp.json()["output"])
Exemplo Node/Edge
import fetch from "node-fetch";
export async function convertJsonToToon(payload) {
const response = await fetch("https://toonverter.com/api/convert", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
input_data: JSON.stringify(payload),
direction: "json_to_toon",
}),
});
if (!response.ok) {
throw new Error(`TOON API error: ${response.status}`);
}
const data = await response.json();
return data.output;
}
Valide antes do LLM
Chame /api/validate com a mesma carga para garantir que JSON/TOON inválidos não cheguem aos agentes. As respostas são leves, ideais para guardrails ou jobs de CI.
Dicas para produção
- Envolva a API com sua observabilidade (latência + delta de tokens)
- Cacheie conversões para respostas idempotentes
- Use o histórico da UI para QA manual
- Documente fallbacks (por exemplo, voltar a JSON se a API cair)