How to use AI-powered match summaries
O endpoint /summary gera resumos de jogos usando inteligencia artificial. Dependendo do status do jogo, o formato da resposta muda automaticamente: atualizacoes curtas para jogos ao vivo, previews para jogos futuros, e artigos completos para jogos encerrados.
The /summary endpoint generates match summaries using AI. Depending on match status, the response format changes automatically: short updates for live matches, previews for upcoming, and full articles for finished matches.
O endpoint recebe o ID do jogo e o idioma desejado:
const API_KEY = 'YOUR_API_KEY';
const BASE = 'https://football.api.insyde.one';
async function getSummary(fixtureId, lang = 'pt') {
const url = `${BASE}/summary?id=${fixtureId}&lang=${lang}&key=${API_KEY}`;
const res = await fetch(url);
return res.json();
}
const summary = await getSummary(1500872, 'pt');
| Codigo | Idioma / Language | Estilo / Style |
|---|---|---|
pt | Portugues | Dramatico, apelidos de times (Mengao, Verdao, Timao), minutos por tempo |
en | English | Energetic but restrained, standard minute notation |
es | Espanol | Vivid, colorful, standard minute notation |
Jogo ao vivo (1H, HT, 2H, ET, P): Formato curto de ticker ao vivo.
{
"fixture_id": 1500872,
"status": "2H",
"language": "pt",
"score": "Fluminense 1-0 Flamengo",
"minute": "52'",
"headline": "Serna abre o placar para o Flu no classico!",
"situation": "Kevin Serna recebeu de Samuel Moreno e abriu o placar. Flamengo tenta reagir mas encontra dificuldade para furar a defesa tricolor.",
"last_event": "Gol de K. Serna aos 52 do segundo tempo — Fluminense 1-0",
"key_events": "9' 1T Allan (FLA) Cartao Amarelo\n52' 2T K. Serna (FLU) 1-0",
"pulse": "HEATED"
}
Jogo encerrado (FT, AET, PEN): Artigo completo.
{
"fixture_id": 1500872,
"status": "FT",
"language": "pt",
"title": "Fluminense vence Flamengo 2-1 no Rio pela 4a rodada do Carioca",
"subtitle": "Classico carioca fica com o Flu apos virada no segundo tempo",
"introduction": "Fluminense recebeu o Flamengo no Rio de Janeiro pela Carioca - 1, quarta rodada...",
"key_moments": "Aos 52 do segundo tempo, K. Serna abriu o placar com assistencia de S. Moreno...",
"stats_narrative": "Flamengo dominou a posse de bola (60%), mas Flu finalizou 10 vezes com 6 no alvo...",
"conclusion": "A vitoria garante ao Flu tres pontos importantes no inicio da campanha do Carioca."
}
Jogo futuro (NS, TBD): Preview com expectativas.
{
"fixture_id": 1500872,
"status": "NS",
"language": "en",
"title": "Fla-Flu: Fluminense host Flamengo in Carioca Round 4",
"subtitle": "Rio derby at the Maracana — Carioca Regular Season",
"introduction": "Fluminense and Flamengo meet again in the biggest derby in Rio...",
"key_moments": "Fluminense won the last encounter 2-1; Flamengo dominated possession...",
"stats_narrative": "Recent head-to-head: Flu won 2, Fla won 1 of the last 3 meetings...",
"conclusion": "A heated Carioca derby with both sides chasing early-season momentum."
}
| Status do jogo | CDN Cache | Storage Cache |
|---|---|---|
| Ao vivo (1H, HT, 2H, ET, P) | 5 minutes | 5 minutes |
| Nao iniciado (NS, TBD) | 1 hour | 1 hour |
| Encerrado (FT, AET, PEN) | 7 days | Permanente |
| Cancelado/Adiado (PST, CANC) | 7 days | Permanente |
pulse (HEATED, CALM, TENSE, etc.) para indicadores visuais na sua UI.
pulse field for visual indicators in your UI.
async function showMatchSummary(fixtureId) {
const data = await getSummary(fixtureId, 'pt');
if (data.pulse) {
// Live match — short update format
console.log(`[${data.pulse}] ${data.score} (${data.minute})`);
console.log(data.headline);
console.log(data.situation);
} else {
// Finished or upcoming — full article
console.log(data.title);
console.log(data.subtitle);
console.log('\n' + data.introduction);
console.log('\n' + data.key_moments);
console.log('\n' + data.stats_narrative);
console.log('\n' + data.conclusion);
}
}