Generi un tabellone esport a doppia eliminazione
Trasformi un elenco ordinato di squadre in una struttura completa a doppia eliminazione senza disegnare manualmente i turni.
Esegui gratis nel browser
Il generatore interpreta l’ordine come teste di serie, amplia il campo alla potenza di due successiva, assegna i bye necessari e restituisce i tabelloni vincenti e perdenti collegati. Ogni posto successivo indica la partita e il risultato da cui proviene, mentre la finalissima include il reset condizionale richiesto se il finalista dei perdenti vince il primo incontro per il titolo. Il risultato è deterministico e pronto per software di torneo, grafiche televisive, iscrizioni o controlli prima di un evento esport.
Prepari le teste di serie e comprenda i bye
Inserisca le squadre dalla testa di serie più forte alla più debole. Il primo nome riceve il seed uno, il secondo il seed due e così via; il generatore non modifica mai casualmente questa graduatoria. Ogni nome deve contenere testo visibile ed essere univoco senza distinzione tra maiuscole e minuscole, perché due partecipanti indistinguibili renderebbero ambigui i risultati. Un campo a doppia eliminazione si rappresenta meglio con una potenza di due: sei squadre diventano otto posti, mentre otto restano invariate. I posti vuoti sono oggetti bye espliciti, non avversari inventati. Il posizionamento canonico tiene lontane le teste di serie migliori il più a lungo possibile. Una squadra abbinata a un bye avanza senza giocare, ma il posto del primo incontro rimane per garantire identificatori e riferimenti stabili. È particolarmente utile quando le iscrizioni chiudono con un numero irregolare o un ritiro tardivo riduce il campo previsto.
Legga i collegamenti tra vincenti e perdenti
L’output separa winners_bracket e losers_bracket in turni numerati. Gli incontri iniziali contengono squadre classificate oppure bye. Quelli successivi contengono oggetti sorgente perché i partecipanti dipendono dai risultati: kind indica se arriva un vincitore o un perdente, match identifica l’incontro precedente e slot conserva il lato del nuovo abbinamento. Le sconfitte nel tabellone vincenti alimentano quello perdenti a intervalli. Tra questi ingressi, i turni di consolidamento riducono i superstiti prima dell’arrivo di un altro gruppo. Nasce così il ritmo tipico in cui una squadra viene eliminata solo dopo la seconda sconfitta competitiva. Identificatori quali W2M1 e L3M2 sono deterministici. La Sua applicazione può salvare risultati con queste chiavi, risolvere i riferimenti quando termina un incontro e mostrare la topologia come elenco, tabellone classico o grafica broadcast. La struttura descrive l’avanzamento; non prevede vincitori né inventa punteggi.
Gestisca il titolo e integri il risultato
L’oggetto grand_final contiene il primo incontro per il titolo e una partita condizionale di reset. GF1 abbina il finalista imbattuto al superstite del tabellone perdenti. Se vince l’imbattuto, l’evento termina perché l’altro finalista ha ormai due sconfitte. Se vince il finalista dei perdenti, entrambi hanno una sconfitta e GF2 decide il campione a condizioni pari. Esplicitare la condizione evita il comune errore di prevedere una sola finale. Per integrare la struttura, salvi l’intera risposta come definizione del torneo, quindi associ programmazione, server, punteggi e stati nel Suo sistema usando ogni id come chiave stabile. Risolva una sorgente soltanto quando il match citato è definitivo e gestisca i bye secondo il regolamento. Il generatore non usa la rete e non conserva le squadre. Nel browser è gratuito; una richiesta API usa il prezzo base mostrato di $0.002 per automatizzare iscrizioni o gestione eventi.
Casi d'uso
Crei le teste di serie di una qualificazione online
Converta la graduatoria delle iscrizioni in turni collegati anche quando il numero finale richiede bye.
Prepari un tabellone per la diretta
Alimenti le grafiche con id stabili e sorgenti di avanzamento senza ricollegare manualmente ogni turno.
Inizializzi un software per tornei
Memorizzi prima la topologia deterministica, poi aggiunga orari, punteggi, mappe e stati nel Suo sistema.
Domande frequenti
Quante squadre sono necessarie?
Servono almeno quattro nomi univoci e non vuoti; il massimo accettato è 64 squadre.
Come vengono assegnate le teste di serie?
L’ordine di inserimento determina i seed. La prima squadra riceve il seed uno e il posizionamento canonico separa le favorite.
Che cosa accade se il numero non è una potenza di due?
Il campo cresce fino alla potenza di due successiva e i posti inutilizzati diventano bye espliciti.
Il tabellone include il reset della finalissima?
Sì. GF2 si gioca solo se il finalista dei perdenti sconfigge quello imbattuto in GF1.
Lo strumento pianifica gli orari o sceglie i vincitori?
No. Restituisce topologia e riferimenti di avanzamento; il Suo sistema gestisce orari, punteggi e risultati.
Quanto costa una richiesta API?
Il prezzo base per richiesta API è $0.002. Può anche generare gratuitamente il tabellone nel browser.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/sports/esports-bracket-seed-matchups \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"teams":["Aurora","Blaze","Cyclone","Dragons","Eclipse","Falcons"]}'const res = await fetch("https://api.kit.forhosting.com/sports/esports-bracket-seed-matchups", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"teams": [
"Aurora",
"Blaze",
"Cyclone",
"Dragons",
"Eclipse",
"Falcons"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/sports/esports-bracket-seed-matchups",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"teams": [
"Aurora",
"Blaze",
"Cyclone",
"Dragons",
"Eclipse",
"Falcons"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/sports/esports-bracket-seed-matchups", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"teams":["Aurora","Blaze","Cyclone","Dragons","Eclipse","Falcons"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"teams":["Aurora","Blaze","Cyclone","Dragons","Eclipse","Falcons"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/sports/esports-bracket-seed-matchups", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"teams": [
"Aurora",
"Blaze",
"Cyclone",
"Dragons",
"Eclipse",
"Falcons"
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "sports.esports_bracket_seed_matchups",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |