In brief: Most practical ESM3 examples center on two objects: an ESMProtein carrying the representation and a GenerationConfig specifying the generation track and steps.
The ESMProtein object
The SDK represents protein information in a structured object that can include sequence and other modality-specific data. Some fields may be absent when the model is asked to complete them. This is more expressive than passing a bare FASTA filename to an outdated ESM2 script.
GenerationConfig is not a training configuration
A generation configuration sets parameters of an inference call, such as the track being generated and the number of iterative steps. It is not an optimizer or a fine-tuning job. Model samples may change when sampling parameters or checkpoint versions change.
An interface illustration
from esm.sdk.api import ESMProtein, GenerationConfig
protein = ESMProtein(sequence="M____A____G")
settings = GenerationConfig(track="sequence", num_steps=8)
# Next: pass these to a documented ESM3 client.generate call.These statements show object construction only. A valid model client and permissions are required before inference. The short toy string is illustrative and not an experimental protein.
How to avoid common mistakes
- Do not mix ESM2 input flags with ESM3 SDK methods.
- Do not treat the number of decoding steps as a measure of scientific confidence.
- Record all prompt tracks that were conditioned and which were generated.
- Check the actual type and supported fields in the installed SDK version.
Primary sources and further reading
Editorial review: October 2026. This guide is educational. Model availability and APIs may change; confirm exact versions in the linked documentation. Generated structures and sequences require independent scientific validation.