Skip to main content

Laidline

Laidline is a marking kit for generative AI providers. Every image, audio clip, video or long text your system produces leaves signed (a C2PA manifest, shown to readers as Content Credentials, signed with your own key), watermarked (open models, so anyone can check the result) and logged (a tamper-evident evidence log). Detection is free for everyone, and the EU AI Act Article 50 paperwork is pre-filled from the log. Laidline runs inside your own workers: media, models and keys stay on your infrastructure.

What it marks

  • Image: PixelSeal by default, TrustMark selectable, with keyed payloads.
  • Audio: AudioSeal, in any container PyAV reads, with streaming sessions for voice agents.
  • Video: VideoSeal on a GPU, keyframe TrustMark on a CPU.
  • Text: SynthID-style and KGW watermarks, applied through the vLLM and transformers plugins.

laidline detect returns graded evidence for any of them. It never says "human-made".

Install

Laidline needs Python 3.12 or newer. Install the extras for what you mark:

Extra What it enables Command
(none) the core: configuration, signing with a local key, the evidence log, the laidline CLI pip install laidline
image mark and detect images pip install "laidline[image]"
audio mark and detect audio pip install "laidline[audio]"
video mark and detect video (add audio for the soundtrack) pip install "laidline[video,audio]"
text detect text watermarks pip install "laidline[text]"
server laidline serve: the sidecar with native routes and an OpenAI-compatible proxy pip install "laidline[server]"
ingest laidline ingest: the storage hook for S3, R2 and local directories pip install "laidline[ingest]"
kms sign with AWS KMS or Vault/OpenBao Transit pip install "laidline[kms]"
evidence S3 and Postgres evidence sinks pip install "laidline[evidence]"
gcs Google Cloud Storage ingest pip install "laidline[gcs]"
lambda the AWS Lambda entry for the storage hook pip install "laidline[lambda]"
all every extra except lambda pip install "laidline[all]"

Combine extras in one line: pip install "laidline[image,audio,server]".

The media extras pull in PyTorch, and the default build from PyPI includes CUDA (about 3.2 GB to download, even on a host without a GPU). On a CPU-only host, install the CPU build first and the extras after it:

pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu
pip install "laidline[image,audio,server]"

Model weights download on first use. laidline models fetch downloads them ahead of time. The install guide covers install sizes and GPU setup.

Hello world

pip install "laidline[image]"
laidline init --system-name my-image-model --org "Yourcompany Inc"   # writes laidline.yaml, a payload key and a development certificate
laidline mark in.png                                             # writes in.marked.png and prints its asset id
laidline detect in.marked.png                                    # graded evidence, never "human-made"

The same from Python, in your own worker:

from laidline import Marker

marker = Marker.from_config("laidline.yaml")   # load once per process
marked = marker.mark_image("in.png", fmt="png")
open("out.png", "wb").write(marked.data)

Until you register, your marks carry a trial issuer number and the shared pool key. They read as a grade D shared mark: the watermark is found, but it does not identify you. Registering gives you a private mark and a certificate bound to your name; Going to production walks through it, with a key in your KMS and a trust-list certificate.

Plugins and tools

Each plugin is its own package and installs laidline with the extras it needs:

  • laidline-comfyui: a ComfyUI save node that marks every image it writes.
  • laidline-diffusers: attach(pipe, marker) marks every image a diffusers pipeline returns.
  • laidline-vllm: the vLLM logits processor for the text watermark.
  • laidline-transformers: a generate helper that adds the text watermark.
  • laidline-pipecat: a Pipecat processor that marks speech from your TTS service.
  • laidline-livekit: a LiveKit Agents wrapper that marks speech from your TTS node.
  • laidline-bench: the robustness and latency benchmarks, run with laidline bench.

Integrations says which one fits where your outputs are produced.

Cost

Detection and verification are free, always. Marking is free up to 1,200 credits a month (one image is one credit), and nothing stops at the cap. Plans, credits and what happens above the free amount are on Licensing.

Licence

Laidline is source-available under the Laidline Source-Available Licence: you can read, run, modify and self-host it, but not use it to build a competing product or hosted service. It is not open source. Model weights download under their own licences; the third-party licences page lists them.

Documentation

Start with the quickstart. The overview is the full tour, configuration lists every setting and grading explains how to read a detect result.

Metadata

Release files for laidline 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for laidline 1.0.3
File Size Uploaded Provenance Actions
laidline-1.0.3.tar.gz 744.0 kB With provenance Details for laidline-1.0.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for laidline 1.0.3
File Interpreter ABI Platform Actions
laidline-1.0.3-py3-none-any.whl Python 3 none any Details for laidline-1.0.3-py3-none-any.whl

Total release size: 1.6 MB

Release files / laidline-1.0.3.tar.gz

Download URL laidline-1.0.3.tar.gz
Size 744.0 kB
Tags Source
SHA-256 checksum
How to use checksums
676a73d30bb8e6127b0b4b647d610de5f05da6b5ce4cda73cc023f7b45e3e61d
BLAKE2b-256 checksum
How to use checksums
1157d550f3bdd002b986a3992fd40e2543c3ce69a26722aa9e6c8ebe60c3b8c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / laidline-1.0.3-py3-none-any.whl

Download URL laidline-1.0.3-py3-none-any.whl
Size 872.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
94373e115ee78abbf9ab74f4b5a6b7ebf52bd513ecb3626fdb2cae1621c7bf24
BLAKE2b-256 checksum
How to use checksums
a20eb0919c59fea19e63fffe31cab758b0fe91391b082739ce249e9a18a236cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Security for laidline 1.0.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for laidline-1.0.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page