Folds are billed to the Biohub account you are signed in with. See Costs.
What you can ask
Ask in your own words, and your assistant picks the tools and runs them in order. For example:Fold GFP with ESMFold2 and tell me how confident the prediction is.
Fold human hemoglobin's alpha and beta chains together and tell me how confident the model is in their interface.
Fold PETase from Ideonella sakaiensis at maximum accuracy, check the run until it finishes, and compare its scores with a standard fold.
Which tools your assistant uses
How a fold runs
1
Your assistant gets the sequences
When you name a protein or give a UniProt accession, your assistant first looks up its sequence with the free
esm_atlas_search_uniprot tool. You can also use the protein sequence directly. A ligand can given by its name or as a SMILES string, as described below.2
Small folds finish within the call
For up to 768 tokens,
esmfold2_fold_complex folds right away and returns done with the scores and the exact cost.3
Larger folds become a run
Inputs over 768 tokens, folds you ask to batch, and every maximum-accuracy fold return
queued with a run_id.4
Your assistant checks the run
biohub_get_inference_run reads the run and waits up to 5 seconds for it to finish. Your assistant calls it again until the run is done. The confidence scores appear in the result once the run is done.biohub_get_inference_run reports the run as done.
Biohub keeps a run’s result for 31 days.
A run that hasn’t started within 24 hours is cancelled and not charged.
Read the scores
All scores run from 0 to 1, and higher means the model is more confident.
A high pTM with a low interface pTM means each part is confident on its own, but the contact between them is not.
These scores are the model’s confidence, not measured binding or experimental validation.
Get the full outputs
The folding tools return summary scores, so the results stay small enough for your assistant to read. They don’t return the large arrays a fold can produce: atom coordinates, per-residue pLDDT, the PAE matrix, the distogram, or embeddings. To get those, call the Biohub Platform API with an API key:- A result includes coordinates and per-residue pLDDT.
PAE and embeddings are included only when the request asks for them, with options such as
include_paeandinclude_embeddings, and the folding tools don’t ask for them. - Coordinate and embedding arrays can be large. Response formats explains how to receive them in a smaller binary format and compress the response.
Costs
Costs are measured in Biohub credits and grow with the square of the input size.- A batch run is what you get with
use_batch_api, and for any input over 768 tokens. - A fold within the call returns what Biohub billed.
A run returns its price when it is queued, and the run’s
usageshows what Biohub billed. - When an input has a ligand, a queued run’s price can be an upper bound, because Biohub may count the ligand as fewer tokens.
- Maximum accuracy has no batch discount, and by default your account can start 10 maximum-accuracy runs a day. A run that fails isn’t charged, but it still counts toward the 10.
Tokens
A token is one residue or nucleotide, or one heavy atom (any atom except hydrogen) of a ligand, and every chain counts. For example, a 300-residue homodimer with one ATP is 300 × 2 + 31 = 631 tokens, because ATP has 31 heavy atoms.Fold a protein or complex
esmfold2_fold_complex folds one protein, several protein chains, or proteins with DNA, RNA, or ligands.
Examples are an antibody’s heavy and light chains, a homodimer, a binder and its target, or a protein bound to ATP.
Inputs
entities
Each entry inentities is one chain, named A, B, C, and so on in the order you list them.
The tool takes sequences, so when you name a protein, your assistant fills in its sequence.
- Give a ligand either
ccdorsmiles, not both. - Give each chain as its own entry:
|and:inside a sequence are refused, and there is nocopiesfield. For a homodimer, list the protein twice. - A protein sequence that looks like DNA or RNA still folds as a protein, with a warning.
Results
esmfold2_fold_complex and esmfold2_fold_max_accuracy return the same fields.
This is a fold of GB1 on the Biohub Platform:
Fold at maximum accuracy
esmfold2_fold_max_accuracy takes the same entities as esmfold2_fold_complex, and nothing else.
- Biohub builds an alignment from UniRef30 and ColabFold; the tool can’t take your own.
- It folds five times with different seeds using
esmfold2-2026-05-cutoff-2025, needs at least four to succeed, and keeps the most confident: the highest ipTM for a complex, or the highest mean pLDDT for one chain. - It always returns
queued, and a run takes minutes to hours. - Its results have the same fields as
esmfold2_fold_complex, without per-chain pLDDT. - It is billed when the run finishes, as Costs shows.
Check a run
biohub_get_inference_run reads one run by its run_id.
It is read-only, starts no compute, and costs nothing.
Inputs
Results
- A run that is still
queuedorin_progressis normal; ask again later. - You can read any fold run on your account, including folds you submitted through the Batch API.
Another user’s run reads as
not_found. - A failed or cancelled run doesn’t restart; folding again starts a new run and bills again.
- If a finished run’s result can’t be read in time, the answer keeps its status and
usage, adds a warning, and leaves outsummary. Read the run again later.
Limits
Biohub and its fold workers can count a ligand’s tokens differently.
If that would put a fold over a worker’s limit, the tool refuses the fold before submitting anything, and the error says what to change.
Errors
When an error includes
credits or billed_calls, they describe the work Biohub confirmed before the failure.
See Troubleshooting for the codes every tool shares.