---
title: "(ESMFold2) Folds molecular complexes containing proteins, dna, rna, and ligands. Defaults to esmfold2-fast-2026-05 if no model is given"
method: POST
path: "/api/v1/fold_all_atom"
tags: ["v1"]
---

# (ESMFold2) Folds molecular complexes containing proteins, dna, rna, and ligands. Defaults to esmfold2-fast-2026-05 if no model is given

`POST /api/v1/fold_all_atom`

## Request body

- FoldAllAtomRequest
  - `model` 'esmfold2-fast-2026-05' | 'esmfold2-2026-05' | 'null', nullable — You may have access to additional, private models as well. These will be visible on the Rate Limits page under the Developer Console
  - `potential_sequence_of_concern` boolean — Disclose potential sequences of concern. For approved users, such sequences will not go through additional safety filtering. Reach out if you are interested in using this.
  - `sequence` string, nullable — Input sequence to be folded.
  - `msa` MSA
    - `sequences` string[], required
    - `deletions` array[], nullable — Optional per-(row, match-column) a3m deletion counts, shape (depth, query_length).
      - number[]
  - `num_loops` integer — Number of trunk loops for iterative refinement.
  - `num_sampling_steps` integer — Diffusion ODE solver steps. Lower for speed, higher for quality.
  - `lm_dropout` number — Dropout probability on LM pair embeddings. When > 0, dropout is applied.
  - `lm_mask_pct` number — Fraction of sequence residues randomly masked before the PLM backbone. If not provided, defaults to 0.1 for ESMFOLD2_FAST and 0.0 for ESMFOLD2
  - `msa_max_depth` integer, nullable — Number of MSA rows randomly subsampled each loop. Set to null to disable (sets msa_subsample_at_inference to False).
  - `msa_column_mask_rate` number — Fraction of MSA columns randomly masked in non-query rows for inference-time diversity.
  - `include_distogram` boolean — Whether to include distogram predictions in the response.
  - `include_pae` boolean — Whether to include Predicted Aligned Error (PAE) matrix in the response.
  - `include_pair_chains_iptm` boolean — Whether to include pair-chain IPTM predictions in the response.
  - `all_atom_input` FoldAllAtomInput
    - `sequences` union[], required
      - union
        - ProteinInput
          - `id` union
            - string
            - string[]
          - `sequence` string, required
          - `msa` MSA
            - `sequences` string[], required
            - `deletions` array[], nullable — Optional per-(row, match-column) a3m deletion counts, shape (depth, query_length).
              - …
          - `modifications` Modification[], nullable
            - `position` integer, required — Zero-indexed position in the sequence where modification should be applied.
            - `ccd` string, required — Chemical Component Dictionary (CCD) code for the modification.
          - `type` 'protein', required
        - RNAInput
          - `id` union
            - string
            - string[]
          - `sequence` string, required
          - `modifications` Modification[], nullable
            - `position` integer, required — Zero-indexed position in the sequence where modification should be applied.
            - `ccd` string, required — Chemical Component Dictionary (CCD) code for the modification.
          - `type` 'rna', required
        - DNAInput
          - `id` union
            - string
            - string[]
          - `sequence` string, required
          - `modifications` Modification[], nullable
            - `position` integer, required — Zero-indexed position in the sequence where modification should be applied.
            - `ccd` string, required — Chemical Component Dictionary (CCD) code for the modification.
          - `type` 'dna', required
        - LigandInput
          - `id` union
            - string
            - string[]
          - `smiles` string, nullable
          - `ccd` string[], nullable
          - `type` 'ligand', required
    - `covalent_bonds` CovalentBond[], nullable — List of covalent bonds between chains in the molecular complex.
      - `chain_id1` string, required — First chain ID in the covalent bond.
      - `res_idx1` integer, required — Residue index in the first chain.
      - `atom_idx1` integer, required — Atom index in the first residue.
      - `chain_id2` string, required — Second chain ID in the covalent bond.
      - `res_idx2` integer, required — Residue index in the second chain.
      - `atom_idx2` integer, required — Atom index in the second residue.
    - `pocket` PocketConditioning
      - `binder_chain_id` string, required — Chain ID of the binder.
      - `contacts` array[], required — List of contacts as tuples of (chain_id, residue_index).
        - unknown[]
          - unknown
    - `distogram_conditioning` DistogramConditioning[], nullable — List of distogram conditioning for chains.
      - `chain_id` string, required — Chain ID for distogram conditioning.
  - `include_embeddings` boolean — Whether to include sequence and pair embeddings in the response.

## Response `200`

Successful Response

- FoldResponse
  - `model` 'esm3-open-2024-03' | 'esmfold2-fast-2026-05' | 'esmfold2-2026-05', required — You may have access to additional, private models as well. These will be visible on the Rate Limits page under the Developer Console
  - `created` string, required — ISO formatted date time
  - `potential_sequence_of_concern` boolean — Indicate that the returned sequence may be of potential concerns.
  - `warning_messages` string[], nullable — Warning messages returned by FastAPI.
  - `coordinates` array[], nullable — Coordinates of the N, CA, C atom sequence as a Nx37x3 array.
    - array[]
      - number[]
  - `complex` object, nullable — Molecular complex with support for proteins, nucleic acids, and ligands.
  - `plddt` number[], nullable — Per position plddt predictions for a protein or molecular complex. Usually produced by structure decoder.
  - `ptm` number, nullable — Predicted TM score of a protein or molecular complex. Usually produced by structure decoder.
  - `interface_ptm` number, nullable — Interface TM score of a protein or molecular complex.
  - `pae` array[], nullable — Predicted Aligned Error matrix for the protein or molecular complex. Shape is L x L.
    - number[]
  - `pair_chains_iptm` array[], nullable — Pair-chain IPTM predictions for a protein. Shape is C x C, where C is the number of chains in the protein.
    - number[]
  - `output_embedding_sequence` array[], nullable — Output embedding sequence from the model. Only present if requested.
    - number[]
  - `output_embedding_pair_pooled` array[], nullable — Output embedding pair mean-pooled from the model. Only present if requested.
    - number[]
  - `residue_index` integer[], nullable — Residue indexes from the model. Only present if embeddings are requested.
  - `entity_id` integer[], nullable — Entity ids (e.g. chain ids) from the model. Only present if embeddings are requested.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/evolutionaryscale/apis/untitled-api.md) · [All operations](https://skmtc.net/evolutionaryscale/apis/untitled-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/evolutionaryscale/untitled-api/revisions/f1cfb00607df/schema)
