Seshat fits into your own preflight, with a fixed list of codes
Seshat now publishes every finding code, decision and fix as one versioned list, offers the customer's choices without an AI model, refuses unknown fixes without charging, and handles large files and file names in any language. rekhu/core 0.3.0 for Laravel and Node.
Many print shops already have a preflight tool. Seshat now fits next to it: check with your own tool, let Seshat do the fixes, or use both. This release makes Seshat easier to build on for every app.
A fixed list to map against
codes() answers every finding code, decision and fix with its options, as one versioned list. Map your own tool's names against it once; a new or renamed code comes with a new version.
The customer's choice, without a model
Every finding Seshat cannot decide on its own (ask) now carries its options: send a new file, print as it is, or a fix such as scaling to fit. You can show that choice straight away. The explanation in the customer's language stays an option for when you want it.
Fixes you can trust
| Unknown fix or option | Refused with the list of allowed ones, before anything is made, and not charged |
| Side effects | Every change is listed, also one a fix made along the way, such as fonts embedded during the CMYK conversion |
| What it solved | Each answer names the finding codes the fixed file no longer has |
| Nothing to fix | Costs nothing |
Built for production
- Large files are streamed from disk, in and out.
- File names in any language arrive whole: Müller, مرحبا.
- Safe retries: a dropped connection or a busy moment is tried again, and a retry is never charged twice.
- A clear error per case: a wrong key, a module that is off, used-up credit, a file past its day. Each is its own exception, and a key from another environment says so.
- Files removed on request: a file a customer takes out of their order can be deleted at once.
- Separate lines for the check and its explanation, so you can show and charge them apart.
For developers
$up = Rekhu::seshat()->upload($request->file('artwork'));
$fixed = Rekhu::seshat()->fix($up['file_id'], [['fix' => 'add_bleed'], ['fix' => 'convert_cmyk']], $order);
Rekhu::seshat()->downloadTo($fixed['file_id'], storage_path('print/'.$fixed['name']));
composer require rekhu/core:^0.3 or npm install @rekhu/core@^0.3, then php artisan rekhu:core --check to see that your key reaches Rekhu. Seshat's checks and fixes run on Rekhu's servers in the EU, without an AI model; only an explanation you ask for uses one.