---
title: "Compress Tool Output"
method: POST
path: "/api/compress/tool-output/"
tags: ["Compression-Agentic"]
---

# Compress Tool Output

`POST /api/compress/tool-output/`

## Headers

- `X-API-Key` string, required

## Request body

- ToolOutputCompressRequest — Request to compress tool output. Accepts tool_output as either: - str: Single tool output - List[str]: Multiple tool outputs (output type matches input type) Backbone mapping (conversion happens in compressor layer): - Lingua models (toc_americano): query PROHIBITED - GemFilter models (toc_latte): query REQUIRED
  - `tool_output` union, required — Tool output to compress - single string or list of strings
    - string
    - string[]
  - `query` string, nullable — User's query for context-aware compression (required for GemFilter, prohibited for Lingua)
  - `tool_name` string, required — Name of the tool that produced the output
  - `compression_model_name` string, required — Compression model to use (e.g., 'toc_latte' or 'toc_americano')
  - `target_compression_ratio` number — Target compression ratio: 0-1 (strength) or >1 for factor. Max 200. Default: 0.5
  - `source` 'demo' | 'extension' | 'sdk:python' | 'sdk:typescript' | 'sdk:curl' | 'gateway:unknown' | 'gateway:anthropic' | 'gateway:openai' | 'gateway:gemini' | 'integration:litellm' | 'integration:hermes' — Source of an API request. Format: source[:detail] - demo, extension: no detail needed - sdk:python, sdk:typescript, sdk:curl - gateway:anthropic, gateway:openai, gateway:gemini - integration:litellm, integration:hermes

## Response `200`

Successful Response

- ToolOutputCompressResponse
  - `success` boolean
  - `message` string, nullable
  - `data` ToolOutputCompressResult
    - `compressed_output` union, required — Compressed tool output - same type as input
      - string
      - string[]
    - `original_tokens` integer, required — Token count of original output
    - `compressed_tokens` integer, required — Token count after compression
    - `compression_ratio` number, required — Actual compression ratio achieved
    - `tool_name` string, required — Name of the tool
    - `duration_ms` integer — Processing time in milliseconds

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/compresr/apis/compresr-platform-api.md) · [All operations](https://skmtc.net/compresr/apis/compresr-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/compresr/compresr-platform-api/revisions/93ee959dfa51/schema)
