> ## Documentation Index
> Fetch the complete documentation index at: https://docs.samsa.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> New endpoints, new MCP tools, and behaviour changes in the Samsa public API — newest first.

Everything that changed in the [REST API](/api), the [MCP server](/mcp-server), and
the [content verification API](/content-verification/overview). Dates are when the
change reached production.

<Update label="August 12, 2026" tags={["api", "mcp", "images"]}>
  ### Image operations

  Six ways to transform an image you already have, each an async `POST` that
  submits a job plus a `GET` that polls it.

  * **`POST /images/img2img`** · **`GET /images/img2img/{img2img_id}`** — transform
    1–14 source images with a prompt.
  * **`POST /images/variations`** · **`GET /images/variations/{variation_id}`** —
    creative variations of one image, targeted at the whole frame, a person, an
    object, or the scene.
  * **`POST /images/resizes`** · **`GET /images/resizes/{resize_id}`** — change
    aspect ratio by outpainting rather than cropping.
  * **`POST /images/upscales`** · **`GET /images/upscales/{upscale_id}`** — upscale
    to a higher resolution across four models.
  * **`POST /images/background-removals`** ·
    **`GET /images/background-removals/{background_removal_id}`** — cut the
    background to a transparent PNG.
  * **`POST /images/vectorizations`** ·
    **`GET /images/vectorizations/{vectorization_id}`** — trace an image to SVG.

  **New scope.** Variations, resizes, upscales, background removals, and
  vectorizations require `images.transform`. Img2img runs under the existing
  `images.edit`. Existing keys created with all scopes already carry it; a
  narrowed key needs the scope added in **Settings → API Keys**.

  **Also in MCP.** The same six operations are available as the `img2img`,
  `create_variations`, `resize_image`, `upscale_image`, `remove_background`, and
  `vectorize_image` tools.

  **Pricing.** Background removal costs 1 credit and vectorization 5, both `0` on a
  cache hit for a source already processed. The rest bill at `5 × resolution ×
      outputs`; upscale bills by target tier times a per-model multiplier.

  <Icon icon="book" /> [Image Operations](/api-reference/image-ops/overview) ·
  [Pricing](/guides/pricing)
</Update>

<Update label="August 4, 2026" tags={["content-verification"]}>
  ### Hosted image watermark decode

  The content verification API now decodes both image watermark techniques itself,
  rather than reporting them as unchecked.

  * **TrustMark Q** — the legacy corpus, covering images marked while TrustMark was
    the embed vendor. This lane stays available for that corpus permanently.
  * **Meta PixelSeal** — the current image watermark carried by newly generated
    Samsa images.

  Watermarks remain corroboration only: the `detected` verdict still comes from
  C2PA manifest verification, which is authoritative. Video watermark decode
  (Meta Video Seal) is **not yet available** and is reported as `not_checked` — a
  technique that was never evaluated, never a false negative.

  <Icon icon="book" /> [Content verification](/content-verification/overview)
</Update>

<Update label="July 26, 2026" tags={["content-verification"]}>
  ### Content verification API

  A free, unauthenticated API for checking whether an image or video was made with
  Samsa — Samsa's public detection mechanism under **Article 50(2) of the EU AI
  Act**. It has its own base URL, takes no API key, and spends no credits.

  ```
  https://detect.samsa.ai
  ```

  * **`POST /v1/public/detect`** — check one uploaded image or video.
  * **`GET /v1/public/detect/info`** — machine-readable description of each marking
    technique and how to detect it.
  * **`GET /v1/public/detect/result/{request_id}`** — signed PDF of a past result.
  * **`GET /v1/public/detect/health`** — service status and version.

  <Icon icon="book" /> [Content verification](/content-verification/overview)
</Update>

<Update label="July 14, 2026" tags={["mcp"]}>
  ### Trained models by name, palettes, and inline previews

  Three changes that make the MCP tools easier to drive from a conversation, where
  a model's name is at hand but its id is not.

  * **Names resolve like ids.** `style_id`, `object_ids`, `person_ids`, and
    `setting_ids` accept a trained model's **name or id**; a name resolves to a
    model visible to the connected credential.
  * **`color_palette`** — a new parameter on `generate_image` and `edit_image`,
    also given as a name or an id.
  * **`edit_image` reached parity** with `generate_image`, accepting all four
    trained-model reference parameters so an edit stays on-brand.
  * **`get_job_status` returns a preview.** A completed raster image job now
    carries a downscaled inline image alongside the link to the full-resolution
    asset, so clients can render the result directly. Vectorization returns SVG and
    has no raster preview.

  <Icon icon="book" /> [MCP server](/mcp-server)
</Update>

<Update label="July 8, 2026" tags={["api", "mcp", "launch"]}>
  ### The Samsa public API and MCP server

  The first public release. Samsa's image and video studio — and your
  organization's trained models — over a REST API and a remote MCP server.

  ```
  https://api.samsa.ai/public/v1
  ```

  * **Images** — `POST /images/generations` and `POST /images/edits`, composing
    your organization's trained **style**, **object**, **person**, and **setting**
    models.
  * **Video** — `POST /videos/generations` from a start frame, from text, or from
    text styled with your models, plus `GET /videos/models` for the engine list.
  * **Model training** — `POST /models`, `POST /models/prepare`,
    `POST /models/{model_id}/complete`, and `GET /models/{model_id}/status`.
  * **Models** — list, retrieve, update, and delete at `/models`.
  * **Account** — `GET /me`, `GET /credits`, and `GET /usage`.

  **Organization API keys.** Scoped, shown once at creation, and acting for the
  key's organization — credits come from that organization's pool.

  **Webhooks.** Pass a `webhook_url` to be notified on completion instead of
  polling. Callbacks are signed, and failures retry at 5s, 30s, 2m, 15m, and 1h.

  **MCP server.** A remote Streamable-HTTP server at `https://api.samsa.ai/mcp`,
  taking either OAuth 2.1 for interactive clients such as Claude and ChatGPT or an
  API key for headless ones.

  <Icon icon="book" /> [Samsa API](/api) · [Quickstart](/quickstart) ·
  [MCP server](/mcp-server)
</Update>
