# Consumer Integration Overview Scriptorium exposes executable interfaces. Choose between a local subprocess and the HTTP service according to the boundary your application needs. | Interface | Use when | | --- | --- | | CLI subprocess | The consumer needs a synchronous local process boundary or prepared output. | | HTTP API | The consumer needs a service boundary or remote access. | - CLI subprocess: [subprocess integration](../integrations/subprocess.md) - HTTP service: [HTTP API reference](../api.md) - Application configuration: [configuration reference](../config.md) Go applications that need an in-process prompt framework should import Promptkit directly. The tagged [Promptkit Go consumer guide](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.1.0/docs/consumers/pkg-promptkit.md) owns that interface; Scriptorium does not provide a Go library package. Consumers arriving from the former Scriptorium Go API should follow the [migration guide](migrating-to-promptkit.md). ## Consumer Responsibilities Consumers are responsible for: - selecting and deploying prompt, profile, and schema assets; - supplying required inputs and template variables; - supplying credentials through the chosen interface; - protecting rendered prompts and generated artifacts as potentially sensitive; - deciding whether validation-failed output is usable; and - retrying only when another model call is acceptable. Scriptorium does not persist run state. A retry can produce different output and can incur another provider request. CLI exits belong to the [CLI reference](../cli.md), HTTP status behavior belongs to the [HTTP API reference](../api.md), and framework semantics belong to [Promptkit v0.1.0](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.1.0/docs/formats.md).