BoltzGen is an all-atom diffusion-based binder design service that jointly generates protein or peptide backbone geometry and amino acid sequence to bind user-specified targets, including proteins, small molecules (via SMILES or CCD), and nucleic acids. The API exposes the model’s multi-entity design specification language (binding site masks, covalent bond and cyclization constraints, structure groups, and secondary-structure hints) and a configurable, GPU-accelerated pipeline (design, optional inverse folding, refolding with Boltz-2, affinity prediction for small molecules, and diversity-aware filtering) that returns ranked CIF structures and metrics such as ipTM, pTM, pAE, RMSD, buried surface area, and interaction counts for up to hundreds of designs per request.
Generate¶
Run the generate action for BoltzGen.
- POST /api/v3/boltzgen/generate/¶
Generate endpoint for BoltzGen.
- Request Headers:
Content-Type – application/json
Authorization – Token YOUR_API_KEY
Request
params (object, optional) — Configuration parameters:
protocol (string, enum: [“protein-anything”, “peptide-anything”, “protein-small_molecule”, “nanobody-anything”], default: “protein-anything”) — Design protocol selection
steps (array of strings, optional) — Pipeline step names to run
num_designs (int, range: 1-500, default: 100) — Total number of designs to generate per item
budget (int, range: 1-500, default: 100) — Maximum number of designs to keep after filtering
diffusion_batch_size (int, optional, range: 1-100, default: null) — Per-step batch size for diffusion
step_scale (float, optional, range: 0.1-10.0, default: null) — Denoiser step scale factor
noise_scale (float, optional, range: 0.0-1.0, default: null) — Noise scale factor
inverse_fold_num_sequences (int, range: 1-10, default: 1) — Number of inverse-folded sequences per design
inverse_fold_avoid (string, optional) — Amino acid pattern to avoid in inverse folding
refolding_rmsd_threshold (float, optional, min: 0.0, default: null) — RMSD threshold for refolding-based filtering
alpha (float, optional, range: 0.0-1.0, default: null) — Quality-diversity trade-off parameter
filter_biased (bool, optional, default: null) — Filter bias toggle
additional_filters (array of strings, optional) — Extra metric filter expressions (format: “metric[><]=threshold”)
metrics_override (object, optional) — Metric name to override value mapping
resume_job_id (string, optional) — Identifier of a previous job to resume instead of providing items
items (array of objects, min: 1, max: 1, required unless resume_job_id set) — Design specification items:
entities (array of objects, min: 1, required) — Input entities:
protein (object, optional) — Protein entity:
id (string or array of strings, required) — Protein identifier(s)
sequence (string or int or object, required) — Sequence specification or length/config
cyclic (bool, default: false) — Cyclic flag
secondary_structure (array of objects, optional) — Secondary structure specifications:
chain (string or array of strings, required) — Chain identifier(s)
loop (string or int or array of [string or int], optional) — Loop residue indices
helix (string or int or array of [string or int], optional) — Helix residue indices
sheet (string or int or array of [string or int], optional) — Sheet residue indices
binding_types (string or array of objects, optional) — Binding site specifications:
chain (string or array of strings, required) — Chain identifier(s)
binding (string or int or array of [string or int], optional) — Binding residue indices
not_binding (string or int or array of [string or int], optional) — Non-binding residue indices
msa (int or string, optional) — Multiple sequence alignment setting
ligand (object, optional) — Ligand entity:
id (string or array of strings, required) — Ligand identifier(s)
ccd (string, optional) — Ligand CCD code
smiles (string, optional) — Ligand SMILES string
binding_types (string or array of objects, optional) — Binding site specifications:
chain (string or array of strings, required) — Chain identifier(s)
binding (string or int or array of [string or int], optional) — Binding residue indices
not_binding (string or int or array of [string or int], optional) — Non-binding residue indices
file (object, optional) — Structure file entity:
cif (string, optional, min length: 1, max length: 10000000) — mmCIF-formatted structure content
pdb (string, optional, min length: 1, max length: 10000000) — PDB-formatted structure content
include (array of objects, optional) — Chain and residue selections to include:
id (string or array of strings, required) — Chain identifier(s)
res_index (string or int or array of [string or int], optional) — Residue indices or ranges
exclude (array of objects, optional) — Chain and residue selections to exclude:
id (string or array of strings, required) — Chain identifier(s)
res_index (string or int or array of [string or int], optional) — Residue indices or ranges
include_proximity (array of objects, optional) — Proximity-based include specifications
binding_types (string or array of objects, optional) — Binding site specifications:
chain (string or array of strings, required) — Chain identifier(s)
binding (string or int or array of [string or int], optional) — Binding residue indices
not_binding (string or int or array of [string or int], optional) — Non-binding residue indices
structure_groups (array of objects, optional) — Structure group specifications:
group (object, required) — Group definition keyed by chain and residue indices
visibility (int, default: 1, range: 0-2) — Group visibility level
design (array of objects, optional) — Design region specifications:
chain (string or array of strings, required) — Chain identifier(s)
res_index (string or int or array of [string or int], optional) — Residue indices to design
not_design (array of objects, optional) — Non-design region specifications:
chain (string or array of strings, required) — Chain identifier(s)
res_index (string or int or array of [string or int], optional) — Residue indices not to design
secondary_structure (array of objects, optional) — Secondary structure specifications:
chain (string or array of strings, required) — Chain identifier(s)
loop (string or int or array of [string or int], optional) — Loop residue indices
helix (string or int or array of [string or int], optional) — Helix residue indices
sheet (string or int or array of [string or int], optional) — Sheet residue indices
design_insertions (array of objects, optional) — Design insertion specifications:
insertion (object, required) — Insertion definition with “id” and “res_index” keys
fuse (string, optional) — Fuse mode
use_assembly (bool, optional) — Assembly usage flag
reset_res_index (array of objects, optional) — Residue index reset specifications:
id (string or array of strings, required) — Chain identifier(s)
res_index (string or int or array of [string or int], optional) — Residue indices to reset
add_cyclization (array of objects, optional) — Cyclization specifications
msa (int or string, optional) — Multiple sequence alignment setting
dna (object, optional) — DNA entity specification
rna (object, optional) — RNA entity specification
constraints (array of objects, optional) — Global design constraints:
bond (object, optional) — Covalent bond constraint:
atom1 (array of [string or int], required) — First atom specification
atom2 (array of [string or int], required) — Second atom specification
contact (object, optional) — Contact distance constraint:
token1 (array of [string or int], required) — First token specification
token2 (array of [string or int], required) — Second token specification
max_distance (float, required) — Maximum allowed distance
pocket (object, optional) — Pocket constraint:
binder (string, required) — Binder identifier
contacts (array of arrays of [string or int], required) — Contact token specifications
max_distance (float, optional) — Maximum allowed distance
total_len (object, optional) — Total length constraint:
min (int, optional) — Minimum total length
max (int, optional) — Maximum total length
reset_res_index (array of objects, optional) — Residue index reset specifications at item level:
id (string or array of strings, required) — Chain identifier(s)
res_index (string or int or array of [string or int], optional) — Residue indices to reset
Example request:
- Status Codes:
200 OK – Successful response
400 Bad Request – Invalid input
500 Internal Server Error – Internal server error
Response
results (array of objects) — One result per input item, in the order requested:
cif (string) — Generated complex in mmCIF format, all atoms for target and designed entities
metrics (object, optional) — Scalar metrics computed for this design:
design_ptm (float, optional, range: 0.0–1.0) — Predicted TM-score of designed chain
design_iptm (float, optional, range: 0.0–1.0) — Predicted TM-score of designed chain vs target
design_to_target_iptm (float, optional, range: 0.0–1.0) — Predicted TM-score for designed residues vs target
design_iiptm (float, optional, range: 0.0–1.0) — Predicted TM-score for interface residues (≤8 Å) vs target
ptm (float, optional, range: 0.0–1.0) — Predicted TM-score of entire complex
iptm (float, optional, range: 0.0–1.0) — Predicted TM-score between chains in complex
interaction_pae (float, optional, units: Å) — Mean predicted aligned error over design–target residue pairs
min_design_to_target_pae (float, optional, units: Å) — Minimum predicted aligned error over design–target residue pairs
neg_min_design_to_target_pae (float, optional, units: -Å) — Negative of min_design_to_target_pae
filter_rmsd (float, optional, units: Å) — RMSD between generated and refolded complex used for filtering
filter_rmsd_design (float, optional, units: Å) — RMSD between generated and refolded designed region
designfolding-filter_rmsd (float, optional, units: Å) — RMSD between original design and design-only refold
plip_hbonds_refolded (float, optional) — Count of hydrogen bonds between design and target in refolded complex
plip_saltbridge_refolded (float, optional) — Count of salt bridges between design and target in refolded complex
delta_sasa_refolded (float, optional, units: Ų) — Buried solvent-accessible surface area upon binding, refolded complex
delta_sasa_original (float, optional, units: Ų) — Buried solvent-accessible surface area upon binding, original complex
bindsite_under_3rmsd (float, optional, range: 0.0–1.0) — Fraction of binding-site residues within 3 Å of design
bindsite_under_4rmsd (float, optional, range: 0.0–1.0) — Fraction of binding-site residues within 4 Å of design
bindsite_under_5rmsd (float, optional, range: 0.0–1.0) — Fraction of binding-site residues within 5 Å of design
bindsite_under_6rmsd (float, optional, range: 0.0–1.0) — Fraction of binding-site residues within 6 Å of design
bindsite_under_7rmsd (float, optional, range: 0.0–1.0) — Fraction of binding-site residues within 7 Å of design
bindsite_under_8rmsd (float, optional, range: 0.0–1.0) — Fraction of binding-site residues within 8 Å of design
bindsite_under_9rmsd (float, optional, range: 0.0–1.0) — Fraction of binding-site residues within 9 Å of design
design_chain_hydrophobicity (float, optional) — Hydrophobicity score over full designed chain
design_hydrophobicity (float, optional) — Hydrophobicity score over designed residues only
neg_design_hydrophobicity (float, optional) — Negative of design_hydrophobicity
design_largest_hydrophobic_patch_refolded (float, optional, units: Ų) — Area of largest hydrophobic surface patch in refolded design
num_design (float, optional) — Number of designed residues
ALA_fraction (float, optional, range: 0.0–1.0) — Fraction of alanine in designed sequence
ARG_fraction (float, optional, range: 0.0–1.0)
ASN_fraction (float, optional, range: 0.0–1.0)
ASP_fraction (float, optional, range: 0.0–1.0)
CYS_fraction (float, optional, range: 0.0–1.0)
GLN_fraction (float, optional, range: 0.0–1.0)
GLU_fraction (float, optional, range: 0.0–1.0)
GLY_fraction (float, optional, range: 0.0–1.0)
HIS_fraction (float, optional, range: 0.0–1.0)
ILE_fraction (float, optional, range: 0.0–1.0)
LEU_fraction (float, optional, range: 0.0–1.0)
LYS_fraction (float, optional, range: 0.0–1.0)
MET_fraction (float, optional, range: 0.0–1.0)
PHE_fraction (float, optional, range: 0.0–1.0)
PRO_fraction (float, optional, range: 0.0–1.0)
SER_fraction (float, optional, range: 0.0–1.0)
THR_fraction (float, optional, range: 0.0–1.0)
TRP_fraction (float, optional, range: 0.0–1.0)
TYR_fraction (float, optional, range: 0.0–1.0)
VAL_fraction (float, optional, range: 0.0–1.0)
UNK_fraction (float, optional, range: 0.0–1.0) — Fraction of unknown residues
loop (float, optional, range: 0.0–1.0) — Fraction of loop residues
helix (float, optional, range: 0.0–1.0) — Fraction of helical residues
sheet (float, optional, range: 0.0–1.0) — Fraction of β-sheet residues
liability_score (float, optional) — Aggregate developability liability score
liability_num_violations (float, optional) — Total count of detected liability motifs
liability_high_severity_violations (float, optional) — Count of high-severity liabilities
liability_medium_severity_violations (float, optional) — Count of medium-severity liabilities
liability_low_severity_violations (float, optional) — Count of low-severity liabilities
affinity_probability_binary1 (float, optional, range: 0.0–1.0) — Predicted probability of binding (small-molecule protocols)
final_rank (float, optional) — Rank index after quality-diversity selection (1 = best)
num_filters_passed (float, optional) — Number of filter criteria satisfied
pass_filters (float, optional, values: 0.0 or 1.0) — Filter pass indicator
liability_violations_summary (float, optional) — Encoded summary of liability violations
liability_details (float, optional) — Encoded aggregate details string for liabilities
liability_HydroPatch_count (float, optional) — Count of hydrophobic patch liabilities
liability_HydroPatch_num_positions (float, optional) — Number of positions in HydroPatch motifs
liability_HydroPatch_length (float, optional) — Length of longest HydroPatch motif
liability_HydroPatch_severity (float, optional) — Severity score for HydroPatch
liability_HydroPatch_avg_severity (float, optional) — Mean severity over HydroPatch instances
liability_DPP4_count (float, optional) — Count of DPP4 cleavage motifs
liability_DPP4_num_positions (float, optional) — Number of positions in DPP4 motifs
liability_DPP4_length (float, optional) — Length of longest DPP4 motif
liability_DPP4_severity (float, optional) — Severity score for DPP4
liability_DPP4_avg_severity (float, optional) — Mean severity over DPP4 instances
liability_MetOx_count (float, optional) — Count of methionine oxidation motifs
liability_MetOx_num_positions (float, optional) — Number of positions in MetOx motifs
liability_MetOx_length (float, optional) — Length of longest MetOx motif
liability_MetOx_severity (float, optional) — Severity score for MetOx
liability_MetOx_avg_severity (float, optional) — Mean severity over MetOx instances
design_ptm>0.75 (float, optional, values: 0.0 or 1.0) — Indicator for design_ptm threshold 0.75
design_ptm>0.8 (float, optional, values: 0.0 or 1.0) — Indicator for design_ptm threshold 0.8
design_iptm>0.5 (float, optional, values: 0.0 or 1.0) — Indicator for design_iptm threshold 0.5
design_iptm>0.6 (float, optional, values: 0.0 or 1.0) — Indicator for design_iptm threshold 0.6
design_iptm>0.7 (float, optional, values: 0.0 or 1.0) — Indicator for design_iptm threshold 0.7
design_iptm>0.8 (float, optional, values: 0.0 or 1.0) — Indicator for design_iptm threshold 0.8
sequence (string, optional) — Designed amino-acid sequence (one-letter codes) for the binder chain(s)
job_id (string, optional) — Identifier for this design job, for resuming or polling
completed_steps (array of strings, optional) — Names of pipeline steps completed for this job
remaining_steps (array of strings, optional) — Names of pipeline steps not yet executed for this job
is_complete (boolean) — Indicates whether all requested pipeline steps have finished
Example response:
Performance¶
Relative model capabilities and deployment behavior - BoltzGen is a joint structure+sequence generative model that integrates inverse folding (BoltzIF) and refolding/affinity prediction (Boltz-2) in one pipeline - The BioLM deployment keeps these stages tightly coupled, so every returned design has already been refolded and scored with the same Boltz-2 stack exposed as a standalone prediction API - Compared to running RFdiffusion-style backbones plus ProteinMPNN plus a separate predictor, the end-to-end BoltzGen pipeline is more computationally intensive per design but eliminates cross-model glue code and inconsistent scoring
Accuracy vs. other BioLM generative models - Versus RFdiffusion3-class backbone generators, BoltzGen’s motif scaffolding benchmark performance shows more “unique successes” under standard RMSD/pLDDT cutoffs, reflecting better enforcement of structural constraints - On target-conditioned design across ~110 targets, successful BoltzGen designs have higher structural diversity (Vendi score) than RFdiffusion/RFdiffusionAA while remaining target-dependent, indicating less collapse to target-agnostic scaffolds - In folding-only mode, BoltzGen matches Boltz-2 lDDT on the Boltz-2 test set (except very large complexes), so using the generative trunk does not materially reduce structure-prediction accuracy
Experimental hit rates vs. prediction-only models - For novel protein targets without close bound homologs in the PDB, BoltzGen yields nanomolar binders for ~66% of tested targets (nanobodies and minibinders, ≤15 designs per target), whereas AlphaFold2/ESMFold-class predictors would require additional search or docking to achieve comparable hits - On benchmark targets with known training homologs, BoltzGen achieves nM–pM binders on 4/5 targets for both nanobodies and proteins, matching or exceeding reported RFdiffusion+ProteinMPNN workflows at similar experimental budgets - Across peptide, small-molecule, and intracellular/disordered targets, observed wet-lab hit fractions (e.g., 19.5% GyrA growth inhibitors; 5/6 rucaparib binders) demonstrate that BioLM’s default pipeline configuration translates computational scores into experimentally tractable candidate sets
Structural self-consistency and designability - Designs that pass BioLM’s default filters typically show backbone RMSD < 2–2.5 Å between BoltzGen outputs and Boltz-2 refolds and interface-focused ipTM comparable to high-confidence Boltz-2 complex predictions - BoltzIF’s inverse-folding performance (refolding designability and hydrophobic patch statistics) is on par with ProteinMPNN/SolubleMPNN for both native and designed backbones, so internal sequence generation does not compromise foldability - A known failure mode is overuse of ubiquitin-like scaffolds at lengths 73–76; for this narrow window, users should expect reduced structural diversity relative to other length ranges
Practical guidance within the BioLM suite - Use BoltzGen when the goal is de novo, target-aware binder creation with integrated structural validation and ranking, especially for novel or structurally challenging targets - For rapid evaluation or ranking of existing sequences, Boltz-2 or AlphaFold-class APIs are faster and cheaper, since they omit the diffusion and inverse-folding stages and reuse the same refolding/affinity components that BoltzGen calls internally
Applications¶
De novo protein binder design against difficult therapeutic protein targets (cytokines, receptors, viral proteins), using BoltzGen’s all-atom diffusion model to generate binders that are structurally complementary to a specified surface and then ranking them via the integrated Boltz-2 refolding and scoring steps; this is useful for companies replacing or augmenting antibody programs with smaller scaffolds (miniproteins, non-IgG binders) when display libraries are slow or have not yielded hits
Nanobody CDR redesign for next-generation biologics, by fixing a validated VHH framework (supplied via structure groups in the API) and using BoltzGen’s generative model to redesign only CDR regions around a new antigen structure, while preserving developable scaffolds; this is suited to teams that already have manufacturable nanobody backbones and want to rapidly retarget them to new variants or indications, but is not optimal when only sequence-level target information is available and no reasonable structural model exists
Cyclic and disulfide-stapled peptide binders targeting protein–protein interaction sites, leveraging BoltzGen’s covalent bond constraints (e.g., head-to-tail links, intra-peptide disulfides) and learned interface geometry to design conformationally pre-organized peptides that bury substantial surface area on flat or shallow sites; pharma or platform biotech can use this to generate protease-resistant PPI antagonists or toxin-neutralizing peptides, with the caveat that very short peptides or membrane-embedded epitopes remain challenging because training is primarily on soluble, structured complexes
Protein pocket design for small-molecule binding, where the API builds an all-atom protein binder around a specified ligand (via SMILES or CCD) and then uses inverse folding plus Boltz-2 affinity prediction to propose ligand-binding proteins as biosensor heads, targeted delivery components, or starting points for de novo small-molecule binders; this is particularly useful when high-specificity binders are needed for known chemotypes, though the model does not optimize catalytic transition states and should not be used as an out-of-the-box enzyme design solution
Design of intracellular inhibitory peptides and miniproteins to modulate essential protein–protein interfaces (for example, bacterial gyrase C-gate or growth-factor receptor interfaces), by conditioning BoltzGen on a defined interface patch and generating short, target-complementary binders whose sequences are then filtered for refolding consistency and interface quality; this enables companies working on antimicrobial or targeted degradation strategies to go beyond motif scanning and rational mutagenesis, while downstream properties such as cell permeability, expression strategy, and off-target assessment still require additional modeling and experimental work beyond what BoltzGen directly provides
Limitations¶
Input size and batching constraints: Each request accepts at most one design specification in
items(BoltzGenParams.batch_size = 1). The total number of residues across all entities in a request must not exceedBoltzGenParams.max_sequence_len = 2048. Complexes or multi-chain systems above this limit must be truncated, cropped, or split across multiple API calls.Design campaign scale vs. runtime: The diffusion-based design step is computationally expensive.
BoltzGenDesignParams.num_designsis limited to1..500per request, andbudget(final number of returned designs) is constrained to1..500. Increasingnum_designsimproves coverage but also increases wall-clock time; designs are generated sequentially within a request and the API does not parallelize acrossitems.Protocol- and modality-specific fit: The
protocoloption ("protein-anything","peptide-anything","protein-small_molecule","nanobody-anything") is tuned for soluble, structured proteins, peptides, and common binder modalities. Performance is typically poor for membrane proteins, very long intrinsically disordered regions, or systems dominated by multi-state/allosteric behavior. Full IgG antibodies cannot be used directly as design scaffolds; for antibody-like designs, use"nanobody-anything"with a VHH/Nb scaffold and define CDR regions viafile.designandsecondary_structure.Constraint and selector sensitivity: Fine-grained control depends on correct use of selectors such as
BoltzGenChainSelector,BoltzGenDesignSpec, andBoltzGenBindingType. Errors inchain.idorres_index(for example, misaligned PDB/mmCIF numbering, off-by-one ranges, or invalid strings that do not match theN..M/allpattern) will cause the model to ignore intended binding sites, CDRs, or cyclization patterns without raising API errors.BoltzGenConstraintentries (bond,contact,pocket,total_len) are only checked for schema validity, not biological feasibility; impossible or conflicting constraints can degrade design quality or lead to most designs being filtered out.Scientific and model coverage limits: BoltzGen is trained mainly on PDB-like, soluble complexes and uses an all-atom but geometry-encoded representation for designed residues. It does not explicitly model solvent, membranes, cofactors beyond those provided via ligand entities, or catalytic transition states. Designed binders may refold well and score highly in the internal metrics but still fail experimentally due to expression, aggregation, immunogenicity, off-target binding, or incorrect binding mode. External validation and downstream filters (for example, stability or developability models applied to
BoltzGenDesignResult.sequenceand structure) remain necessary.Generative stochasticity and reproducibility: The diffusion process is stochastic, and the API does not expose a global random seed. Repeated
BoltzGenDesignRequestcalls with identicalentities,constraints, andparamswill generate differentcif,sequence, andmetricsoutputs. Options such asmetrics_overrideandadditional_filtersaffect only ranking and filtering, not the underlying generation. Users who need reproducibility should store both request parameters and the fullmetrics/outputs externally and treat the service as a stochastic sampler rather than a deterministic optimizer.
How We Use It¶
BioLM integrates BoltzGen as a configurable binder design module within larger protein and peptide engineering workflows. We use it to generate diverse nanobody, miniprotein, and cyclic peptide binders against protein, peptide, and small-molecule targets, then pass those candidates through standardized downstream steps (refolding, affinity prediction for small molecules, developability and interface metrics, and diversity-aware ranking). Because the same API surface supports binding-site specification, covalent bonds, secondary structure biasing, and multi-entity targets, teams can reuse one design setup across campaigns, plug designs into automated build–test loops, and quickly launch follow-up optimization rounds without changing integration code.
In antibody, nanobody, and enzyme-like binder programs, BoltzGen proposes initial CDRs or pockets while other BioLM models score stability, solubility, off-target risk, and biophysics, enabling selection of candidates that are both active and experimentally tractable.
For multi-target or platform studies, a shared BoltzGen request schema lets software and ML engineers schedule parallel design jobs, apply consistent filters and quality metrics, and compare results portfolio-wide for data-driven target and hit prioritization.
References¶
Stark, H., Faltings, F., Choi, M., Xie, Y., Hur, E., O’Donnell, T., Bushuiev, A., Uçar, T., Passaro, S., Mao, W., Reveiz, M., Bushuiev, R., Pluskal, T., Sivic, J., Kreis, K., Vahdat, A., Ray, S., Goldstein, J. T., Savinov, A., Hambalek, J. A., Gupta, A., Taquiri-Diaz, D. A., Zhang, Y., Hatstat, A. K., Arada, A., Kim, N. H., Tackie-Yarboi, E., Boselli, D., Schnaider, L., Liu, C. C., Li, G.-W., Hnisz, D., Sabatini, D. M., DeGrado, W. F., Wohlwend, J., Corso, G., Barzilay, R., & Jaakkola, T. (2025). BoltzGen: Toward universal binder design. bioRxiv preprint.
