# Native API contract ## Entry points - `load_model(local_snapshot, device="cuda:0", dtype=torch.bfloat16, attention="sdpa")` returns a `Session` with public `.model` and `.processor`. Missing/unexpected tensors fail. MOSS uses vendored pinned source and instance-only compatibility patches; no remote trust or external base snapshot is required after packaging. - `Request(prompt, audios)` holds one user turn and 0--5 ordered local files or `Waveform(samples: float[N], sample_rate: int)`. Waveforms must be mono. Files are mean-downmixed. URLs, fullsong directories, native control tokens and multi-turn are intentionally outside this initial contract. - `prepare(requests)` -> `PreparedBatch`; `generate(requests, profile=..., max_new_tokens=...)` -> `list[str]`, one completion per request. - `extract_audio_embeddings(batch, grad=False)` -> `list[AudioEmbedding]` in sample/source order. `extract_contextual_embeddings(batch, layers=(-1,), grad=False)` -> per-source dictionaries of requested layer tensors. - `forward(batch, output_hidden_states=False, grad=False)` returns native ModelOutput, logits `[B,1,V]`, optional language hidden states `[B,L,D]`. `.model(**batch.inputs, ...)` permits advanced custom calls/full logits. All core functions document input/output shapes in source docstrings. No method quietly averages tokens, detaches gradients requested by grad=True, sorts sources or inserts silence between different slots. Missing markers follow the paper-reference wrapper: MF single audio uses `