PBC:Biobox


The Biobox v4 template presents consolidated biographical data for performers. It supersedes older Biobox variants and is fully backwards compatible: all fields from previous versions are preserved and auto-normalized.
Overview
- Auto-fill from PBD (PornBaseData): If you pass `qid` (e.g. Q4), many fields are pulled from PBD via properties like name (P7) (name), image (P470) (image), etc.
- Key normalization: Parameter names are case-insensitive, spaces are turned into underscores, and known aliases (e.g. `hair` → `hair_color`) are mapped to a single canonical key.
- Boolean inputs: Treat the following as "yes": `yes`, `y`, `ya`, `yep`, `true`, `1`. Everything else is considered false unless explicitly documented.
- Multi-value inputs: Many parameters accept numbered suffixes: `param`, `param2`, `param3`, ...
- Mainspace-only categories: Category links are added only in the main namespace.
- Styling is provided via TemplateStyles at Module:Biobox/styles.css.
Quick start
You can use either the template wrapper (recommended if defined) or call the module directly:
- Template: {{Biobox|qid=Q8}}
- Module: {{#invoke:Biobox|main|qid=Q1875|name=...}}
Below you’ll find every field, grouped by section. For each parameter you’ll see: canonical name, PBD property (if any), accepted values/format, multiplicity, and notes.
Parameters
Personal
| Parameter | PBD Property | Values / Format | Multi | Notes |
|---|---|---|---|---|
| qid | — | Q… of the performer | — | If omitted, uses the current page entity. |
| name | name (P7) | Text | — | Falls back to page title if empty and PBD lacks name (P7). |
| image | image (P470) | File name (without namespace) | — | Auto-pulls the top-ranked image (P470) if not provided. |
| imagecaption | — | Text | — | Optional caption under the main image. |
| real_name | birth name (P5) | Text | — | Birth name. If married name also set, display formats as “Married name; né Birth name”. |
| married_name | married name (P648) | Text | — | Married name (if applicable). |
| legal_name | legal name (P753) | Text | — | Legal/civil name. |
| native_name | name in native language (P13) | Text | — | Native-script form. |
| name_in_kana | name in kana (P480) | Text | — | Japanese Kana spelling. |
| alias | aliases (P140) | Text or comma-separated | yes | AKA names. From PBD uses all aliases. |
| nicknames | nickname (P363) | Text or comma-separated | yes | From PBD uses all nicknames. |
| birth_day, birth_month, birth_year | date of birth (P9) | Numbers | — | Any subset is allowed. Full date triggers age or astrology line; also adds date/year categories. Optional birth_ref is appended. |
| place_of_birth | place of birth (P20) | Text | — | If omitted, auto-formats PBD values (with references) and adds birthplace category links when possible. |
| birth_country | country of birth (P144) | Country name or {{flagcountry|…}} | — | Auto-wraps with {{flagcountry}}. Uses the first country value from PBD if multiple. |
| citizenship, citizenship2..4 | country of citizenship (P133) | Country name(s) | yes | Multiple supported; each is flagged with {{flagcountry}}. |
| death_day, death_month, death_year | date of death (P247) | Numbers | — | Adds "Dead people" plus date categories in mainspace. Optional death_ref. |
| death_location | place of death (P23) | Text | — | Place of death. |
| ethnicity, ethnicity2.. | ethnic group (P136) | Text or comma-separated | yes | Each value becomes a category link. |
| nationality, nationality2.. | nationality (P131) | Text or comma-separated | yes | Each value becomes a category link. |
| language, language2..4 | languages spoken, written or signed (P634) | Language names | yes | Renders as category links, with tooltip via abbr. |
| brother | sibling (P358) | Wikilink(s) | — | "Brother of" field; PBD version is linked. |
| spouse | — | Text / wikilink(s) | — | Manual only (no PBD fetch at present). |
| alma_mater / alma mater | educated at (P151) | Text or PBD-linked | yes | Displays list; supports PBD qualifiers archive URL (P208) (Archive URL) and archive date (P227) (Archive date). References are preserved. |
| orientation | sexual orientation (P347) | gay/bi/straight (aliases supported) | — | Renders with color class and category: Gay, Bisexual, Heterosexual. Unknown strings are capitalized and linked. |
| careerstart | careerstart (P153) | Year | — | Adds "X career start" category. |
| career | career (P154) | A/Active, AS/S (Active Straight), R/Retired, or text | — | Recognized shorthands add status-specific categories. Free text is linked and categorized as-is. |
| careerend | careerend (P155) | Year | — | Adds "X career end" category. |
Body
| Parameter | PBD Property | Values / Format | Multi | Notes |
|---|---|---|---|---|
| height | height (P156) | Number (cm) or formatted | — | Auto-formats with metric/imperial. |
| weight | weight (P159) | Number (kg) or formatted | — | Auto-formats with metric/imperial. |
| penis_size / penis size | penis size (P161) | Number in cm (range supported) | — | Uses size formatter; supports line break and linked span. |
| hair_color (alias: hair) | hair color (P162) | Color(s) | yes | Accepts comma lists. Categorized via mapping (Auburn, Blond, Brunet, Black, Brown, Dark Blond, Dark Brown, Gray, Light Brown, Redhead). Optional hair_length maps to Short, Bald, Long, Shaved, Buzz cut. |
| eye_color | eye color (P386) | Color(s) | yes | Categorized (Amber, Black, Blue, Blue-Brown, Blue-Green, Brown, Gray, Gray-Green, Green, Hazel). |
| body_type | body type (P399) | Slim, Swimmer, Athletic, Muscular, Average, Beefy, Bear, Bodybuilder, Chubby | yes | Categorized via mapping. |
| skin / skincomplexion | skin complexion (P421) | Black, Dark, Dark Black, Dark Olive, Light Black, Medium Black, Light Brown, Brown, Olive, White, Tanned | yes | Categorized via mapping. |
| ass_type, ass_type2..10 | ass type (P585) | Small, Medium, Big, Bubble | yes | Only one size among Small/Medium/Big is allowed; Bubble can co-exist. |
| natural_butt | — | yes/no | — | yes → [Natural butt]; no → [Enhanced butt]. Optional natural_butt_ref or enhanced_butt_ref. With implant_type = hydrogel, silicone, buttock implants adds specific category. |
| foreskin | foreskin (P398) | cut/uncut | — | Single mapped category. |
| shoesize | shoe size (P588) | Number (any system) | — | Auto-converted across shoe size systems. |
| chest_hair | chest hair (P589) | Hair pattern codes | — | Categorized; shows legend link. Accepted codes include: Hairy, Small, Smooth, and pattern codes C, CI, CP, CPI, CPS, CPSI, CS, CSI, I, P, PI, PS, PSI, S, SI. |
| underarm_hair | underarm hair (P590) | yes/no/"shaved"/free text | — | Interprets booleans as Yes/Shaved. |
| pubic_hair | pubic hair (P591) | yes/no/"shaved"/free text | — | Interprets booleans as Yes/Shaved. |
| ass_hair | ass hair (P592) | yes/no/"shaved"/free text | — | Interprets booleans as Yes/Shaved. |
| tattoo | — | yes/no | — | yes adds "Performers with Tattoos" category. |
Performances
Parameters are booleans unless noted. Any "yes"-like value enables the feature and adds the matching category. Lists are comma-separated.
Solo
- masturbation
- close-up
- solodildo
- feet
- solopissing
- soloassfingering
- footfetish-solo
- gaping
- speculum
Gay
Tiles (two-side or versatile rows):
- topbareback, bottombareback → Bareback
- topsafesex, bottomsafesex → Safe sex
- topcreampie, bottomcreampie → Creampie
Special:
- rimming accepts: `give` (giver), `receive` (receiver), or boolean yes (generic).
- fisting accepts: `top`, `bottom`, `versatile`, `top and bottom` (or `top & bottom`).
- Optional self-fisting / self_fisting / selffisting enables an extra "Self" tile.
Other gay items:
- kissing/kiss, blowjob/bj/oral, deepthroat/dt, dp/doublepenetration, facial, cum_eating/ce, cum_eating-s/cum_eating_s/ces (self), cum_swapping/cum_swap/cumswapping, interracial/ir, bukkake/bkk, cmnm (abbr), footfetish/ff, watersports/wtsp, handjob/hj, incest/int, latex/lx, leather, helpinghand.
Heterosexual
- straightblowjob/str8blowjob/str8bj/straightoral/str8oral
- vaginal/vag
- straightanal/str8anal
- straightcreampie/str8cp
- straightinterracial/str8ir
- rimjob/straightrimjob/rj
- straightdp/str8dp
- strap-on
- straightbukkake/str8bkk
- cfnm (abbr)
- straightwatersports/str8wtsp
BDSM
Tiles:
- domination/dom vs submission/sub → Role row (DOM/SUB)
Items:
- bondage, cocksounding/cock_sounding, spanking/sk, suspension/sus, torture/trt, tickletorture/tktrt, wax
Softcore
- wrestling, oilwrestling/oil_wrestling, swimwear, massage
Personal pages
For each platform, you can use `param`, `param2`, `param3`, ... Up to the listed limit. When PBD is present, usernames may auto-fill. Optional `-archive` parameters add an Archive.org/Archive.is copy and an extra date if available via PBD archive date (P227).
- homepage (official website (P52)) → any URL; label: Official website; full-width.
- blog (official blog (P635)) → any URL; full-width.
- facebook (Facebook ID (P350)) → username; icon; category: Facebook.
- vk (VK ID (P355)) → username; icon; category: VKontakte.
- x (alias: twitter) (X handle (P137)) → handle; shows numeric ID from qualifier X user numeric ID (P688) if present; category: X.
- instagram (alias: ig) (Instagram username (P349)) → handle; category: Instagram.
- threads (Threads username (P793)) → handle; category: Threads.
- telegram (alias: tg) (Telegram username (P624)) → handle; category: Telegram.
- linkedin (LinkedIn personal profile ID (P352)) → vanity; category: LinkedIn.
- myspace (Myspace ID (P389)) → username; category: MySpace.
- youtube
- youtube (YouTube handle (P791)) → @handle
- youtubechannel (YouTube channel ID (P375)) → channel ID
- soundcloud (SoundCloud ID (P379))
- mixcloud (MixCloud ID (P400))
- lastfm (Last.fm ID (P820))
- modelmayhem (alias: mm) (Model Mayhem ID (P411)) → numeric or vanity id.
- tiktok (TikTok username (P369))
- reddit (Reddit username (P412))
- pinterest (alias: pin) (Pinterest username (P410))
Archive param names: `platform-archive`, `platform-archive2`, ... Example: `instagram-archive=...` (and optionally auto-filled date from archive date (P227))
Databases
Each accepts up to 4 values via `param`, `param2`, ... Falls back to PBD if `qid` is set.
- imdb (IMDb name ID (P16)) → person ID. You can supply with or without `nm` prefix; links to IMDb name page.
- iafd (IAFD person UUID (P799), IAFD male performer ID (P169)) → perfid or GUID. The URL format adapts automatically.
- gevi (GEVI performer ID (P378)) → numeric performer ID.
- afdb (Adult Film Database actor ID (P392))
- gvdb (GVDb performer ID (P409))
- tmdb (TMDb person ID (P752))
Porn sharing
- faphouse-model (FapHouse model profile (P789)) → username; affiliate suffix appended; category: Category:FapHouse.
- faphouse-pornstar (FapHouse pornstar profile (P788)) → username; affiliate suffix; same category.
- xnxx (XNXX Gold pornstar page (P777)) → username; affiliate suffix.
- xvideos (XVideos model channel page (P706)) → username; gay subpath.
- sheer (Sheer account (P784)) → username; affiliate suffix.
VOD & DVD
These render as centered callouts with one or multiple links.
- aebn or any AEBN performer ID (P644) value(s) → link(s) under “Download on AEBN” (gay theater).
- aebnstr8 or any AEBN straight performer ID (P740) value(s) → link(s) for straight theater.
- gaydvdempire or any Gay DVD Empire performer ID (P672) value(s) → link(s) to Gay DVD Empire.
- homoactive or any Homoactive performer ID (P678) value(s) → link(s) to Homoactive.
Normalization, aliases and multi-values
All parameter names are lowercased and spaces are converted to underscores. For example, `underarm hair` → `underarm_hair`.
- Special alias mapping to canonical keys:
- `sexual_orientation` → `orientation`
- `hair_color` ↔ `hair`
- `hair length`, `hairlength` → `hair_length`
- `eye`, `eyes`, `eyes_color` → `eye_color`
- `body` → `body_type`
- `skin`, `skin_color` → `skincomplexion`
- `ass` → `ass_type`
- `chest` → `chest_hair`
- Numbered parameters are supported widely:
- Features like `ethnicity2..`, `nationality2..`.
- Body types such as `ass_type2..10`.
- Personal pages and databases usually allow up to 3–4 values per platform.
Usage
Minimal example
{{Biobox
|qid=Q123
}}
Typical example
{{Biobox
|qid=Q123
|name=John Doe
|image=John_Doe.jpg
|imagecaption=Publicity still, 2024
|orientation=gay
|careerstart=2016
|career=active
|height=182
|weight=82
|penis_size=18
|hair_color=dark brown
|hair_length=short
|eye_color=blue
|skin=olive
|ass_type=bubble
|natural_butt=yes
|foreskin=cut
|shoesize=43
|chest_hair=CP
|underarm_hair=yes
|pubic_hair=shaved
|ass_hair=no
|tattoo=yes
|masturbation=yes
|rimming=give
|fisting=versatile
|self-fisting=yes
|straightoral=no
|domination=yes
|submission=no
|wrestling=yes
|instagram=johndoe
|instagram-archive=https://archive.today/abc123
|x=johndoe
|x-archive=https://archive.is/xyz
|facebook=johndoe.official
|youtube=@JohnDoe
|youtubechannel=UCxxxxxxx
|imdb=nm1234567
|iafd=doe-john
|gevi=12345
|xnxx=john-doe
|xvideos=john-doe
|aebn=987654
|gaydvdempire=john-doe
}}
Module invocation
If your wiki has no Template:Biobox wrapper yet, use:
{{#invoke:Biobox|main
|qid=Q123
|name=...
}}
Empty skeleton (copy/paste)
{{Biobox
|qid=
|name=
|image=
|imagecaption=
|real_name=
|married_name=
|legal_name=
|native_name=
|name_in_kana=
|alias=
|nicknames=
|birth_day=
|birth_month=
|birth_year=
|birth_ref=
|place_of_birth=
|birth_country=
|citizenship=
|citizenship2=
|citizenship3=
|citizenship4=
|death_day=
|death_month=
|death_year=
|death_ref=
|death_location=
|ethnicity=
|ethnicity2=
|nationality=
|nationality2=
|language=
|language2=
|language3=
|language4=
|brother=
|spouse=
|alma_mater=
|orientation=
|careerstart=
|career=
|careerend=
<!-- Body -->
|height=
|weight=
|penis_size=
|hair_color=
|hair_length=
|eye_color=
|body_type=
|skin=
|ass_type=
|ass_type2=
|natural_butt=
|natural_butt_ref=
|enhanced_butt_ref=
|implant_type=
|foreskin=
|shoesize=
|chest_hair=
|underarm_hair=
|pubic_hair=
|ass_hair=
|tattoo=
<!-- Performances (examples) -->
|masturbation=
|rimming=
|fisting=
|self-fisting=
|topbareback=
|bottombareback=
|topsafesex=
|bottomsafesex=
|topcreampie=
|bottomcreampie=
|straightoral=
|vaginal=
|straightanal=
|straightcreampie=
|straightinterracial=
|rimjob=
|straightdp=
|strap-on=
|straightbukkake=
|cfnm=
|straightwatersports=
|domination=
|submission=
|bondage=
|cocksounding=
|spanking=
|suspension=
|torture=
|tickletorture=
|wax=
|wrestling=
|oilwrestling=
|swimwear=
|massage=
<!-- Personal pages (examples) -->
|homepage=
|blog=
|facebook=
|vk=
|x=
|instagram=
|threads=
|telegram=
|linkedin=
|myspace=
|youtube=
|youtubechannel=
|soundcloud=
|mixcloud=
|lastfm=
|modelmayhem=
|tiktok=
|reddit=
|pinterest=
<!-- Databases -->
|imdb=
|iafd=
|gevi=
|afdb=
|gvdb=
|tmdb=
<!-- Porn sharing -->
|faphouse-model=
|faphouse-pornstar=
|xnxx=
|xvideos=
|sheer=
<!-- VOD & DVD -->
|aebn=
|aebnstr8=
|gaydvdempire=
|homoactive=
}}
|
Tips
- Prefer `qid` usage to auto-populate from PBD; override only when you need to correct or refine display.
- Use comma-separated values where noted, or numbered parameters for multiple entries.
- For boolean fields, prefer `yes`/`no`. For roles/tiles, use the exact tokens documented above.
- Archive fields support full URLs; for Archive.is you may provide just the code, it will be expanded.