NAME
App::Greple::xlate::llm::gpt5 - GPT-5.5 translation engine (llm backend) for greple xlate module
SYNOPSIS
greple -Mxlate --xlate-engine=gpt5 --xlate=ja file.txt
DESCRIPTION
This module provides GPT-5.5 translation support for the App::Greple::xlate module, calling the model through the llm command line tool (https://llm.datasette.io/) instead of the older gpty command. The engine name, translation prompt, and cache files (*.xlate-gpt5-*.json) are fully compatible with the gpty backend engine App::Greple::xlate::gpty::gpt5.
The llm command must be installed and must know the gpt-5.5 model (llm 0.31 or later ships it built in; check with llm models | grep gpt-5.5). If the call fails, this module inspects the environment and reports what is missing.
This engine is context-aware: when re-translating changed blocks it receives the surrounding source text, neighboring translation pairs, and the previous version of the changed text, controlled by the --xlate-context-window option of App::Greple::xlate.
CONFIGURATION
This engine uses the following defaults:
model: gpt-5.5
reasoning_effort: none (fastest; suitable for translation)
verbosity: low
max_length: 3000 characters per batch
No temperature option is sent: reasoning models reject non-default temperatures, and llm only sends the option when specified.
No max_tokens option is sent either. On llm 0.31 the gpt-5.5 model goes through the Chat Completions API, which rejects max_tokens for reasoning models (it requires max_completion_tokens, which llm does not expose); on llm 0.32+ the Responses API would accept it as max_output_tokens. Omitting the cap works on both, and translation output is naturally bounded by the input size.
ENVIRONMENT VARIABLES
OPENAI_API_KEY - OpenAI API key, read by the
llmcommand. Alternatively usellm keys set openai.
RELATED OPTIONS
--xlate-maxlen=chars - Maximum characters sent per request (defaults to this engine's value of 3000 when unset)
--xlate-maxline=n - Maximum lines sent per request (default 0 = unlimited); useful as a safety valve if a large batch causes a response element-count mismatch
--xlate-debug - Dump the
llmcommand and parameters--xlate-setopt backend=gpty - Force the old gpty backend engine for comparison
DEPENDENCIES
llmcommand (https://llm.datasette.io/)
SEE ALSO
AUTHOR
Kazumasa Utashiro
LICENSE
Copyright 2026 Kazumasa Utashiro.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.