Skip to content

Know what’s inside every sample

Show Lythein five labelled Raman spectra. It identifies substances, measures concentrations and flags what it has never seen, each with a confidence score, through one API call.

caesium-1POST /v1/analyzetablet-batch-04121.2 s
Measured spectrumRaman shift, cm⁻¹
Composition% w/w
Ibuprofen
Active ingredient
61.8conf 0.99
Microcrystalline cellulose
Excipient
29.4conf 0.97
Lactose monohydrate
Excipient
8.1conf 0.94
Unknown band
1 086 cm⁻¹, not in your library
Flagged
Illustrative output

For the labs that measure the physical world

A scientist looking through a microscope
Life-science researchCells, tissue and biomarkers
Gloved hands pipetting a sample
Pharma QCRelease testing and raw-material ID
A row of laboratory pipettes on an orange stand
Biotech and bioprocessGlucose, lactate and titre, in line
Beakers of coloured liquids on a dark bench
Chemicals and materialsBlends, polymers and minerals
A laboratory centrifuge lit in teal
Analytical labsContract testing at volume

Also for instrument makers who want a model inside their software.

Every answer starts with light

A laser meets the sample. About one photon in ten million comes back shifted by the molecule’s vibrations. That faint shift is a fingerprint, and Lythein reads it.

Excitation
532, 785 or 1064 nm
Scattered
About 1 in 10⁷ photons
Fingerprint
200 to 3200 cm⁻¹

Lythein Caesium

In 1860, two blue lines in a flask of mineral water revealed an element no one had ever held. Caesium was the first discovery made by reading light alone. Our first model does the same for every sample you measure.

Modality
Raman, 532 to 1064 nm
Trained on
Physics-based synthetic spectra
Adapts with
5 to 10 labelled spectra
Model ID
caesium-1

Recalibrate in minutes, not weeks

Chemometric models are rebuilt for every product, instrument and site. Lythein already understands spectra, so it needs only a few examples of yours.

  1. Measure five

    Send a handful of labelled spectra from your own instrument: reference standards, or samples you already know.

  2. Lythein adapts

    The model calibrates to your device, laser and background in context. No training run, no data scientist, no weeks of collection.

  3. Analyze everything

    Every new spectrum comes back with its components, concentrations, confidence and anything that doesn't belong.

Every sample, broken down

How much is in it?

Quantify every component of a mixture, with an uncertainty you can put in a batch record.

Glucose4.31 g/L
Lactate1.92 g/L
Glutamine0.84 g/L
Ammonium0.21 g/L

What is it?

Match against your library or ours, even through fluorescence and noise.

Anatase TiO₂RutileCalciteAragoniteGypsumQuartz

Have we seen it before?

When something doesn't belong, Lythein says so instead of guessing. Contaminants surface before they ship.

3 knownUnknown at 1 086 cm⁻¹

How sure is it?

Calibrated scores tell you when to trust a result and when to send the sample to the lab. Low confidence goes to a person, not into a report.

Ibuprofen0.99
Cellulose0.97
Unknown0.41

Millions of spectra no lab ever measured

Real labelled spectra are scarce and locked inside companies. So we simulate them: every peak, background and artefact a real instrument produces, with the right answer attached.

  • Voigt peaksvibrational modes
  • Mixturesat any concentration
  • Fluorescencebroad backgrounds
  • Instrumentshift and resolution
  • Noiseshot and read-out
  • Cosmic raysand spikes
simulatorspectrum#000001
Pure-compound peaks3 compounds, known concentrations

One call. Every answer.

Send a spectrum in any format your instrument exports. Get structured results back in about a second.

  • Any instrumentBenchtop, handheld or process probe, at 532, 785 or 1064 nm.
  • Your data stays yoursWe never train on customer spectra. On-premise for regulated sites.
  • Built for auditsEvery result is versioned, reproducible and traceable to its model.
from lythein import Lythein

client = Lythein()

# Five labelled spectra calibrate the model to your instrument
ctx = client.contexts.create(
    examples=["std_01.spc", "std_02.spc", "std_03.spc",
              "std_04.spc", "std_05.spc"],
)

result = client.analyze(
    "tablet-batch-0412.spc",
    model="caesium-1",
    context=ctx.id,
)

for c in result.components:
    print(c.name, c.concentration, c.confidence)
if result.unknowns:
    print("Flagged:", result.unknowns)

Judged on real spectra, not ours

We train on simulation and test on measurement. Caesium's results will be submitted to RamanBench, the open benchmark of real-world Raman data.

public datasets
77
measured spectra
326k
prediction targets
135
Caesium’s entry, coming soon
Cs

Figures from RamanBench (Koddenbrock, Rodner et al., NeurIPS 2026). We are not affiliated with its authors.

Foundation models for the physical world

Every instrument speaks physics. Each model is named for an element first found by reading its light.

  1. Raman

    Caesium, now

    Identify, quantify, flag.

  2. Infrared and NIR

    Rubidium, next

    The other half of vibrational spectroscopy.

  3. X-ray diffraction

    Gallium, then

    Crystal phases from patterns.

  4. Mass spectrometry

    Helium, later

    And whatever measures matter next.

Questions

Why is it called Caesium?

In 1860 Bunsen and Kirchhoff saw two blue lines in the spectrum of mineral water that matched nothing known. It was the first element ever discovered by spectroscopy, named from the Latin caesius, sky blue. Our models are named for elements found by reading light, and Caesium comes first.

How few spectra do I really need?

Usually five to ten labelled spectra per new product or instrument. Because the model has already learned how Raman spectra behave from simulation, your examples only have to show it what's specific to your setup.

What does physics-based synthetic data mean?

We generate training spectra from the physics of Raman scattering: peak shapes, mixtures, fluorescence, instrument response, noise and spikes. Every simulated spectrum comes with its exact composition, so the model learns from perfect labels at a scale no lab could measure.

Do you train on my data?

No. Your spectra calibrate the model in context for your account only, and are never used to train shared models.

Which instruments and formats work?

Any dispersive or FT Raman instrument. Send SPC, JCAMP-DX, CSV or raw arrays; we handle axis calibration and resampling.

Can it run on-premise?

Yes, for regulated environments and instrument makers who want the model inside their own software. Talk to us.