DOKUMENTACE API V2

GenderAPI.io V2: odpovědi JSON a spolehlivost

Porozumějte polím data a meta v GenderAPI.io V2: pohlaví, důvody neznámých výsledků, spolehlivost, podklady z datové sady, skóre AI, režim přístupu a metadata účtování.

Porozumějte odpovědi JSON

Úspěšné jednotlivé odpovědi obsahují data a meta. Následující příklad z datové sady je skutečná odpověď získaná 1. října 2026 s API klíčem; nahrazen byl pouze zůstatek účtu. Nepředstavuje naměřenou přesnost produktu a požadavek v reálném čase může vrátit jiný výsledek. Požadavky s API klíčem vracejí access.mode: api_key a pole kvót platná jen pro zkušební režim mají hodnotu null; požadavky ve zkušebním režimu podle IP vracejí ip_trial spolu s limitem zkušebního režimu a časem jeho obnovení.

Ilustrativní odpověď JSON
{
  "data": {
    "input": {
      "type": "name",
      "value": "Tomáš",
      "country": "CZ"
    },
    "name": "tomáš",
    "gender": "male",
    "country": "CZ",
    "confidence": 0.9969591659426585,
    "confidence_kind": "observed_frequency",
    "sample_count": 2302,
    "source": "dataset",
    "result_status": "identified",
    "reason": null,
    "country_source": "dataset",
    "match": {
      "name": "tomáš",
      "method": "normalized",
      "scope": "country",
      "country": "CZ"
    }
  },
  "meta": {
    "request_id": "050f6ca4-8761-4a3f-ba00-b7fdd718ec4b",
    "duration_ms": 12,
    "access": {
      "mode": "api_key",
      "reason": null
    },
    "usage": {
      "charged_credits": 1,
      "remaining_credits": 49999,
      "billing_status": "confirmed",
      "resets_at": null,
      "limit": null,
      "period_seconds": null
    }
  }
}

Pole odpovědi s odhadem

PoleTypMůže být nullPříkladPopis
data.inputobjectNe{"type":"name","value":"Tomáš","country":"CZ"}Typ vstupu, hodnota a země. forceToGenderize se uvádí, pokud má hodnotu true.
data.namestringAno"tomáš"Nalezené nebo získané křestní jméno; null, pokud není k dispozici.
data.genderstringAno"male"male, female nebo JSON null. Jde o odhad, nikoli o ověřenou osobní identitu.
data.result_statusstringNe"identified"identified, pokud je vráceno pohlaví; jinak unknown.
data.reasonstringAnonullnull u výsledků identified. Důvody neznámého výsledku: not_found, no_name_candidate, ambiguous nebo insufficient_evidence.
data.confidencenumberAno0.95Skóre 0–1 nebo null. Pohlaví null má spolehlivost null.
data.confidence_kindstringAno"observed_frequency"observed_frequency: počet dominantního pohlaví v datové sadě / celkový počet. model_reported: skóre AI, nikoli kalibrovaná pravděpodobnost. null, pokud není k dispozici.
data.sample_countintegerAno1200Velikost vzorku v datové sadě nebo null. AI si počet vzorků nevymýšlí.
data.sourcestringNe"dataset"dataset, ai nebo none.
data.countrystringAno"CZ"Přiřazení země z dataset nebo ai_association, případně null. Neurčuje státní příslušnost, bydliště ani etnickou příslušnost.
data.country_sourcestringAno"dataset"Původ přiřazení země: dataset, ai_association nebo null.
data.matchobjectNe{"name":"tomáš","method":"normalized","scope":"country","country":"CZ"}Nalezené jméno v datové sadě, metoda (normalized, token, substring nebo model_inference), rozsah country/global a nalezená země. Nedostupné podklady mají hodnotu null.

Vrácená vstupní pole

PoleTypMůže být nullPříkladPopis
data.input.typestringNe"name"Kategorie vstupu: name, email nebo username.
data.input.valuestringNe"Tomáš"Odeslaná hodnota pro odhad.
data.input.countrystringAno"CZ"Odeslaný kontext země; null, pokud byl vynechán.
data.input.forceToGenderizebooleanNetrueUvádí se jen při zapnutém režimu přezdívek; jinak se vynechává.

Pole shody v datové sadě

PoleTypMůže být nullPříkladPopis
data.match.namestringAno"tomáš"Vybraný kandidát z datové sady; null, pokud nebyl vybrán žádný řádek datové sady.
data.match.methodstringAno"normalized"normalized, token, substring nebo model_inference; null, pokud není k dispozici.
data.match.scopestringAno"country"country nebo global u vyhledávání v datové sadě; null u AI nebo chybějících podkladů.
data.match.countrystringAno"CZ"Země vybraného řádku datové sady; null u globálních řádků nebo AI.

Metadata přístupu, účtování a požadavku

PoleTypMůže být nullPříkladPopis
meta.request_idstringNe"550e8400-e29b-41d4-a716-446655440000"Jedinečný identifikátor tohoto pokusu HTTP; posílá se také v X-Request-ID.
meta.duration_msintegerNe42Doba zpracování požadavku v milisekundách.
meta.access.modestringNe"api_key"api_key, ip_trial nebo unauthenticated. U placeného účtu ověřte api_key.
meta.access.reasonstringAnonullDůvod přechodu na zkušební režim: api_key_missing, api_key_invalid nebo api_key_not_found; jinak null.
meta.usage.charged_creditsintegerAno1Čistý počet odečtených kreditů. Nula před odečtením nebo po úplném potvrzeném vrácení; null, pokud účtování není potvrzeno.
meta.usage.remaining_creditsintegerAno99Zůstatek po dokončení operace. Může být záporný; null, pokud není k dispozici nebo účtování není potvrzeno.
meta.usage.billing_statusstringNe"confirmed"not_charged, confirmed nebo unconfirmed. Zkontrolujte před opakováním neúspěšného odhadu.
meta.usage.resets_atstringAno"2026-09-27T12:00:00.000Z"Čas obnovení zkušebního režimu podle IP v UTC (ISO 8601); null u účtů s API klíčem nebo pokud není znám.
meta.usage.limitintegerAno10Limit kreditů zkušebního režimu podle IP; null u účtů s API klíčem.
meta.usage.period_secondsintegerAno86400Délka období zkušebního režimu podle IP v sekundách; null u účtů s API klíčem.

Úspěšný neznámý výsledek

HTTP 200 znamená, že operace byla dokončena; pohlaví nezaručuje. Zachovejte JSON null a nepřevádějte ho na male, female, prázdný řetězec ani nulovou spolehlivost. data.result_status a data.reason kontrolujte odděleně od chyb HTTP.

Tento skutečný příklad pouze s datovou sadou, získaný 1. října 2026, vrací source: none a reason: not_found a přesto stojí 1 kredit. Řádek datové sady se shodnými počty může vrátit reason: ambiguous se zachovaným sample_count. Neznámý výsledek AI používá source: ai a reason: insufficient_evidence.

Ilustrativní odpověď JSON
{
  "data": {
    "input": {
      "type": "name",
      "value": "zzzxxyy",
      "country": null
    },
    "name": null,
    "gender": null,
    "country": null,
    "confidence": null,
    "confidence_kind": null,
    "sample_count": null,
    "source": "none",
    "result_status": "unknown",
    "reason": "not_found",
    "country_source": null,
    "match": {
      "name": null,
      "method": null,
      "scope": null,
      "country": null
    }
  },
  "meta": {
    "request_id": "54fdcd4e-f8bc-4224-918f-3a5732e08b9c",
    "duration_ms": 10,
    "access": {
      "mode": "api_key",
      "reason": null
    },
    "usage": {
      "charged_credits": 1,
      "remaining_credits": 49999,
      "billing_status": "confirmed",
      "resets_at": null,
      "limit": null,
      "period_seconds": null
    }
  }
}

Interpretace spolehlivosti a podkladů shody

Spolehlivost 0,9 je na stupnici 0–1. U observed_frequency znamená dominantní počet vydělený celkovým počtem ve vybraném záznamu datové sady; nejde o naměřenou celkovou přesnost produktu. Skóre model_reported poskytuje AI a není kalibrováno podle četností v datové sadě.

Prahovou hodnotu pro svou aplikaci zvolte na základě vlastních hodnoticích dat a confidence_kind. Skóre z datové sady a z AI přímo neporovnávejte, jako by měřila totéž. U AI mají match.name, match.scope a match.country hodnotu null, protože nebyl vybrán žádný řádek datové sady; match.method je model_inference.

U celých jmen může výsledek z datové sady pocházet z jedné části jména, ne z celého řetězce. data.input zachovává odeslanou hodnotu; data.name popisuje vrácené jméno a data.match kandidáta a rozsah vyhledávání.

Rozhodněte, co má vaše aplikace udělat dál

Nejprve zpracujte chyby požadavku a jednotlivých položek a potom zkontrolujte result_status. U jednotlivého odhadu čtěte data; u dávky použijte stejné rozhodnutí na data každé úspěšné položky. Neznámé výsledky v aplikaci zachovejte a nevynucujte místo nich označení male nebo female.

VýsledekCo znamenáDoporučený postup
identified; gender: male nebo femaleOdhad vrátil pohlaví s podklady z datové sady nebo z AI.Použijte pravidlo vyhodnocené právě pro tento confidence_kind; zachovejte source a podklady shody.
unknown; reason: not_foundŽádný uložený záznam v datové sadě neodpovídá rozpoznaným kandidátům.Ponechte gender jako null. Záměrný nový požadavek s jinými možnostmi AI je nová zpoplatněná operace.
unknown; reason: no_name_candidateRozbor pro datovou sadu nenašel žádného použitelného kandidáta na jméno.Ponechte null; než zvolíte další odhad, zkontrolujte typ a hodnotu vstupu.
unknown; reason: ambiguousVybraný řádek datové sady má shodné počty mužů a žen; sample_count může být přesto uveden.Nerozhodujte shodu sami a spolehlivost null nepřevádějte na nulu.
unknown; reason: insufficient_evidenceAI požadavek dokončila, ale neměla dostatek podkladů, aby vrátila pohlaví.Považujte ho za dokončený neznámý výsledek, ne za selhání poskytovatele ani za kandidáta na automatické opakování.
Problem Details nebo error položkyProvedení selhalo, například kvůli ai_upstream_error nebo prediction_timeout.Uložte kód chyby a ID požadavku, zkontrolujte účtování a řiďte se pokyny k opakování požadavků.

Zvolte prahové hodnoty na základě vlastního vyhodnocení

Neexistuje univerzální hranice spolehlivosti, díky které by byl odhad správný. observed_frequency a model_reported vyhodnocujte zvlášť na reprezentativních, nezávisle označených příkladech z vašeho použití. Četnost v datové sadě a skóre, které uvádí sama AI, jsou různé signály, i když mají obě hodnotu 0,9. Měřte, jak často vaše pravidlo vrací odpověď a jak často jsou tyto odpovědi správné; pro vše ostatní ponechte neznámý výsledek nebo ruční kontrolu.

Pokud je například result_status identified, ale confidence_kind je model_reported, použijte pravidlo vyhodnocené pro AI, nikoli prahovou hodnotu pro datovou sadu. Pokud bylo použito forceToGenderize, je name: null spolu s pohlavím jiným než null platné: alias lze vyložit i bez získání skutečného křestního jména. Zda odhad přinesl odpověď, posuzujte podle gender a result_status, ne jen podle name. Stále jde o odhad, nikoli o ověření identity osoby.

Související průvodci