---
title: "(ESM3, ESMFold2) Folds proteins. Defaults to esmfold2-fast-2026-05 if no model is given"
method: POST
path: "/api/v1/fold"
tags: ["v1"]
---

# (ESM3, ESMFold2) Folds proteins. Defaults to esmfold2-fast-2026-05 if no model is given

`POST /api/v1/fold`

## Request body

- FoldRequest
  - `model` 'esm3-open-2024-03' | '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 — (ESMFold2) Number of trunk loops for iterative refinement.
  - `num_sampling_steps` integer — (ESMFold2) Diffusion ODE solver steps. Lower for speed, higher for quality.
  - `lm_dropout` number — (ESMFold2) Dropout probability on LM pair embeddings. When > 0, dropout is applied.
  - `lm_mask_pct` number — (ESMFold2) 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 — (ESMFold2) 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 — (ESMFold2) Fraction of MSA columns randomly masked in non-query rows for inference-time diversity.
  - `include_distogram` boolean — (ESMFold2) Whether to include distogram predictions in the response.
  - `include_pae` boolean — (ESMFold2) Whether to include Predicted Aligned Error (PAE) matrix in the response.
  - `include_pair_chains_iptm` boolean — (ESMFold2) Whether to include pair-chain IPTM predictions in the response.
  - `include_embeddings` boolean — (ESMFold2) 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)
