Skip to main content

PromptPack Specification

Title: PromptPack Specification

Typeobject
RequiredNo
Additional propertiesNot allowed

Description: Schema for packaging, testing, and running multi-prompt conversational systems with multimodal support

Examples:

{
"$schema": "https://promptpack.org/schema/v1/promptpack.schema.json",
"id": "customer-support",
"name": "Customer Support Pack",
"version": "1.0.0",
"description": "Complete customer support prompt pack with multiple task types",
"template_engine": {
"version": "v1",
"syntax": "{{variable}}",
"features": [
"basic_substitution",
"fragments"
]
},
"prompts": {
"support": {
"id": "support",
"name": "Support Bot",
"description": "General customer support assistant",
"version": "1.0.0",
"system_template": "You are a {{role}} assistant for {{company}}.",
"variables": [
{
"name": "role",
"type": "string",
"required": true,
"description": "The role of the assistant",
"example": "support agent"
}
],
"tools": [
"lookup_order"
],
"parameters": {
"temperature": 0.7,
"max_tokens": 1500
}
}
},
"tools": {
"lookup_order": {
"name": "lookup_order",
"description": "Look up order details by order ID",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "The order ID to look up"
}
},
"required": [
"order_id"
]
}
}
}
}
{
"$schema": "https://promptpack.org/schema/v1/promptpack.schema.json",
"id": "image-analyzer",
"name": "Image Analysis Pack",
"version": "1.0.0",
"description": "Multimodal pack for analyzing images with vision models",
"template_engine": {
"version": "v1",
"syntax": "{{variable}}",
"features": [
"basic_substitution"
]
},
"prompts": {
"analyze": {
"id": "analyze",
"name": "Image Analyzer",
"description": "Analyzes images and provides detailed descriptions",
"version": "1.0.0",
"system_template": "You are an expert image analyst. Provide detailed, accurate descriptions of images.",
"parameters": {
"temperature": 0.7,
"max_tokens": 1000
},
"media": {
"enabled": true,
"supported_types": [
"image"
],
"image": {
"max_size_mb": 20,
"allowed_formats": [
"jpeg",
"png",
"webp"
],
"default_detail": "high",
"max_images_per_msg": 5
},
"examples": [
{
"name": "simple-image-analysis",
"description": "Basic image analysis with a single photo",
"role": "user",
"parts": [
{
"type": "text",
"text": "What's in this image?"
},
{
"type": "image",
"media": {
"file_path": "examples/photo.jpg",
"mime_type": "image/jpeg",
"detail": "high",
"caption": "Sample photo for analysis"
}
}
]
}
]
}
}
}
}
PropertyPatternTypeDeprecatedDefinitionTitle/Description
- $schemaNostringNo-JSON Schema reference for validation and IDE support
+ idNostringNo-Unique identifier for the pack. Used for referencing and caching. Should be lowercase with hyphens.
+ nameNostringNo-Human-readable name for the pack. Displayed in UIs and documentation.
+ versionNostringNo-Pack version following Semantic Versioning 2.0.0 (MAJOR.MINOR.PATCH). Can optionally include 'v' prefix. Use MAJOR for breaking changes, MINOR for new features, PATCH for bug fixes. This version tracks the pack as a whole, while individual prompts can have independent versions.
- descriptionNostringNo-Detailed description of the pack's purpose, use cases, and contents. Supports markdown formatting.
+ template_engineNoobjectNo-Template engine configuration shared across all prompts in the pack. Defines how variables are substituted and fragments are resolved.
+ promptsNoobjectNo-Map of task_type to prompt configuration. Each key is a task type (e.g., 'support', 'sales') and each value is a complete prompt definition. A pack must contain at least one prompt.
- fragmentsNoobjectNo-Shared template fragments that can be referenced by any prompt in the pack. Fragments are reusable text blocks resolved at compile time. Keys are fragment names, values are fragment content.
- toolsNoobjectNo-Tool definitions that can be referenced by prompts. Tools enable the LLM to call external functions. Keys are tool names, values are tool specifications following the JSON Schema for function calling.
- metadataNoobjectNo-Optional pack-level metadata for categorization, discovery, and operational planning.
- compilationNoobjectNo-Information about when and how this pack was compiled. Generated automatically by the packc compiler.

1. Property PromptPack Specification > $schema

Typestring
RequiredNo
Default"https://promptpack.org/schema/v1/promptpack.schema.json"

Description: JSON Schema reference for validation and IDE support

Example:

"https://promptpack.org/schema/v1/promptpack.schema.json"

2. Property PromptPack Specification > id

Typestring
RequiredYes

Description: Unique identifier for the pack. Used for referencing and caching. Should be lowercase with hyphens.

Examples:

"customer-support"
"sales-assistant"
"technical-help"
Restrictions
Min length1
Max length100
Must match regular expression^[a-z][a-z0-9-]*$ Test

3. Property PromptPack Specification > name

Typestring
RequiredYes

Description: Human-readable name for the pack. Displayed in UIs and documentation.

Examples:

"Customer Support Pack"
"Sales Assistant"
"Technical Support"
Restrictions
Min length1
Max length200

4. Property PromptPack Specification > version

Typestring
RequiredYes

Description: Pack version following Semantic Versioning 2.0.0 (MAJOR.MINOR.PATCH). Can optionally include 'v' prefix. Use MAJOR for breaking changes, MINOR for new features, PATCH for bug fixes. This version tracks the pack as a whole, while individual prompts can have independent versions.

Examples:

"1.0.0"
"v2.1.3"
"1.0.0-alpha"
"2.0.0-beta.1+build.123"
Restrictions
Must match regular expression^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ Test

5. Property PromptPack Specification > description

Typestring
RequiredNo

Description: Detailed description of the pack's purpose, use cases, and contents. Supports markdown formatting.

Example:

"Complete customer support prompt pack with multiple task types for handling support, sales, and technical inquiries"
Restrictions
Max length5000

6. Property PromptPack Specification > template_engine

Typeobject
RequiredYes
Additional propertiesNot allowed

Description: Template engine configuration shared across all prompts in the pack. Defines how variables are substituted and fragments are resolved.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
+ versionNostringNo-Template engine version. Use 'v1' for the current stable version.
+ syntaxNostringNo-Variable substitution syntax pattern. Defines how variables appear in templates.
- featuresNoarray of enum (of string)No-Optional list of supported template features beyond basic substitution.

6.1. Property PromptPack Specification > template_engine > version

Typestring
RequiredYes

Description: Template engine version. Use 'v1' for the current stable version.

Examples:

"v1"
"v2"

6.2. Property PromptPack Specification > template_engine > syntax

Typestring
RequiredYes

Description: Variable substitution syntax pattern. Defines how variables appear in templates.

Examples:

"{{variable}}"
"${variable}"
"{variable}"

6.3. Property PromptPack Specification > template_engine > features

Typearray of enum (of string)
RequiredNo

Description: Optional list of supported template features beyond basic substitution.

Example:

[
"basic_substitution",
"fragments"
]
Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
features items-

6.3.1. PromptPack Specification > template_engine > features > features items

Typeenum (of string)
RequiredNo

Must be one of:

  • "basic_substitution"
  • "fragments"
  • "conditionals"
  • "loops"
  • "filters"

7. Property PromptPack Specification > prompts

Typeobject
RequiredYes
Additional propertiesEach additional property must conform to the schema

Description: Map of task_type to prompt configuration. Each key is a task type (e.g., 'support', 'sales') and each value is a complete prompt definition. A pack must contain at least one prompt.

Example:

{
"support": {
"id": "support",
"name": "Support Bot",
"version": "1.0.0",
"system_template": "You are a helpful assistant."
}
}
PropertyPatternTypeDeprecatedDefinitionTitle/Description
- NoobjectNoIn #/$defs/PromptA single prompt configuration within a pack. Each prompt represents a specific task type (e.g., 'support', 'sales') with its own template, variables, tools, and validation rules. Prompts within a pack can evolve independently with their own version numbers.

7.1. Property PromptPack Specification > prompts > Prompt

Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/Prompt

Description: A single prompt configuration within a pack. Each prompt represents a specific task type (e.g., 'support', 'sales') with its own template, variables, tools, and validation rules. Prompts within a pack can evolve independently with their own version numbers.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
+ idNostringNo-Unique identifier for this prompt, typically matching the task_type key
+ nameNostringNo-Human-readable name for this prompt
- descriptionNostringNo-Detailed description of this prompt's purpose and behavior
+ versionNostringNo-Prompt version following Semantic Versioning 2.0.0. Independent from pack version, allowing individual prompts to evolve separately.
+ system_templateNostringNo-The system prompt template. Use template syntax (e.g., {{variable}}) for variable substitution. This is the core instruction that guides the LLM's behavior.
- variablesNoarrayNo-Variable definitions for this prompt. Variables are placeholders in the template that are replaced with actual values at runtime.
- toolsNoarray of stringNo-List of tool names that this prompt is allowed to use. Tools must be defined in the pack-level 'tools' object.
- tool_policyNoobjectNoIn #/$defs/ToolPolicyPolicy governing how tools can be used by this prompt
- pipelineNoobjectNoIn #/$defs/PipelineConfigPipeline configuration defining processing stages and middleware
- parametersNoobjectNoIn #/$defs/ParametersLLM generation parameters like temperature and max_tokens
- validatorsNoarrayNo-Validation rules (guardrails) applied to LLM responses
- tested_modelsNoarrayNo-Model testing results documenting which models have been tested with this prompt and their performance
- model_overridesNoobjectNo-Model-specific template modifications. Keys are model names (e.g., 'claude-3-opus', 'gpt-4'), values are override configurations.
- mediaNoobjectNoIn #/$defs/MediaConfigMultimodal content configuration for this prompt. Defines supported media types and validation rules.

7.1.1. Property PromptPack Specification > prompts > additionalProperties > id

Typestring
RequiredYes

Description: Unique identifier for this prompt, typically matching the task_type key

Examples:

"support"
"sales"
"technical_support"
Restrictions
Must match regular expression^[a-z][a-z0-9_-]*$ Test

7.1.2. Property PromptPack Specification > prompts > additionalProperties > name

Typestring
RequiredYes

Description: Human-readable name for this prompt

Examples:

"Support Bot"
"Sales Assistant"
Restrictions
Min length1

7.1.3. Property PromptPack Specification > prompts > additionalProperties > description

Typestring
RequiredNo

Description: Detailed description of this prompt's purpose and behavior

Example:

"General customer support assistant for handling inquiries"

7.1.4. Property PromptPack Specification > prompts > additionalProperties > version

Typestring
RequiredYes

Description: Prompt version following Semantic Versioning 2.0.0. Independent from pack version, allowing individual prompts to evolve separately.

Examples:

"1.0.0"
"v2.1.0"
"1.5.2-beta"
Restrictions
Must match regular expression^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ Test

7.1.5. Property PromptPack Specification > prompts > additionalProperties > system_template

Typestring
RequiredYes

Description: The system prompt template. Use template syntax (e.g., {{variable}}) for variable substitution. This is the core instruction that guides the LLM's behavior.

Examples:

"You are a {{role}} assistant for {{company}}.\\n\\nProvide helpful, professional support."
"You are an expert in {{domain}}. Help users with {{task_description}}."
Restrictions
Min length1

7.1.6. Property PromptPack Specification > prompts > additionalProperties > variables

Typearray
RequiredNo

Description: Variable definitions for this prompt. Variables are placeholders in the template that are replaced with actual values at runtime.

Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
VariableA template variable definition with type information and validation rules. Variables are replaced with actual values when the prompt is rendered.
7.1.6.1. PromptPack Specification > prompts > additionalProperties > variables > Variable
Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/Variable

Description: A template variable definition with type information and validation rules. Variables are replaced with actual values when the prompt is rendered.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
+ nameNostringNo-Variable name used in templates (e.g., {{name}})
+ typeNoenum (of string)No-Data type of the variable
+ requiredNobooleanNo-Whether this variable must be provided. Required variables without values will cause an error.
- defaultNoobjectNo-Default value used when variable is not provided. Cannot be set if required is true.
- descriptionNostringNo-Human-readable description of the variable's purpose
- exampleNoobjectNo-Example value showing expected format and content
- validationNoobjectNo-Validation rules applied to the variable value at runtime
7.1.6.1.1. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > name
Typestring
RequiredYes

Description: Variable name used in templates (e.g., {{name}})

Examples:

"role"
"company"
"customer_name"
Restrictions
Must match regular expression^[a-zA-Z_][a-zA-Z0-9_]*$ Test
7.1.6.1.2. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > type
Typeenum (of string)
RequiredYes

Description: Data type of the variable

Examples:

"string"
"number"

Must be one of:

  • "string"
  • "number"
  • "boolean"
  • "object"
  • "array"
7.1.6.1.3. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > required
Typeboolean
RequiredYes

Description: Whether this variable must be provided. Required variables without values will cause an error.

7.1.6.1.4. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > default
Typeobject
RequiredNo
Additional propertiesAny type allowed

Description: Default value used when variable is not provided. Cannot be set if required is true.

Examples:

"TechCo"
42
true
{
"key": "value"
}
7.1.6.1.5. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > description
Typestring
RequiredNo

Description: Human-readable description of the variable's purpose

Examples:

"The role of the assistant"
"Customer's account ID"
7.1.6.1.6. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > example
Typeobject
RequiredNo
Additional propertiesAny type allowed

Description: Example value showing expected format and content

Examples:

"support agent"
"12345"
"john@example.com"
7.1.6.1.7. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation
Typeobject
RequiredNo
Additional propertiesNot allowed

Description: Validation rules applied to the variable value at runtime

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- patternNostringNo-Regular expression pattern (for string types)
- min_lengthNointegerNo-Minimum string length (for string types)
- max_lengthNointegerNo-Maximum string length (for string types)
- minimumNonumberNo-Minimum numeric value (for number types)
- maximumNonumberNo-Maximum numeric value (for number types)
- enumNoarrayNo-List of allowed values
7.1.6.1.7.1. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > pattern
Typestring
RequiredNo

Description: Regular expression pattern (for string types)

Examples:

"^[a-zA-Z\\\\s]+$"
"^\\\\d{5}$"
"^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,}$"
7.1.6.1.7.2. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > min_length
Typeinteger
RequiredNo

Description: Minimum string length (for string types)

Examples:

3
10
Restrictions
Minimum≥ 0
7.1.6.1.7.3. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > max_length
Typeinteger
RequiredNo

Description: Maximum string length (for string types)

Examples:

50
1000
Restrictions
Minimum≥ 1
7.1.6.1.7.4. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > minimum
Typenumber
RequiredNo

Description: Minimum numeric value (for number types)

Examples:

0
1
100
7.1.6.1.7.5. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > maximum
Typenumber
RequiredNo

Description: Maximum numeric value (for number types)

Examples:

100
1000
7.1.6.1.7.6. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > enum
Typearray
RequiredNo

Description: List of allowed values

Examples:

[
"low",
"medium",
"high"
]
[
1,
2,
3
]
Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
enum items-
7.1.6.1.7.6.1. PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > enum > enum items
Typeobject
RequiredNo
Additional propertiesAny type allowed

7.1.7. Property PromptPack Specification > prompts > additionalProperties > tools

Typearray of string
RequiredNo

Description: List of tool names that this prompt is allowed to use. Tools must be defined in the pack-level 'tools' object.

Examples:

[
"lookup_order",
"create_ticket"
]
[
"search_products",
"get_pricing"
]
Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
tools items-
7.1.7.1. PromptPack Specification > prompts > additionalProperties > tools > tools items
Typestring
RequiredNo

7.1.8. Property PromptPack Specification > prompts > additionalProperties > tool_policy

Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/ToolPolicy

Description: Policy governing how tools can be used by this prompt

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- tool_choiceNoenum (of string)No-'auto' lets the LLM decide when to use tools, 'required' forces tool use, 'none' disables tools
- max_roundsNointegerNo-Maximum number of LLM → tool → LLM cycles allowed per turn
- max_tool_calls_per_turnNointegerNo-Maximum number of tool calls allowed in a single turn
- blocklistNoarray of stringNo-List of tool names that are not allowed for this prompt (overrides tools list)
7.1.8.1. Property PromptPack Specification > prompts > additionalProperties > tool_policy > tool_choice
Typeenum (of string)
RequiredNo
Default"auto"

Description: 'auto' lets the LLM decide when to use tools, 'required' forces tool use, 'none' disables tools

Examples:

"auto"
"required"

Must be one of:

  • "auto"
  • "required"
  • "none"
7.1.8.2. Property PromptPack Specification > prompts > additionalProperties > tool_policy > max_rounds
Typeinteger
RequiredNo
Default5

Description: Maximum number of LLM → tool → LLM cycles allowed per turn

Examples:

3
5
10
Restrictions
Minimum≥ 1
7.1.8.3. Property PromptPack Specification > prompts > additionalProperties > tool_policy > max_tool_calls_per_turn
Typeinteger
RequiredNo
Default10

Description: Maximum number of tool calls allowed in a single turn

Examples:

1
5
10
Restrictions
Minimum≥ 1
7.1.8.4. Property PromptPack Specification > prompts > additionalProperties > tool_policy > blocklist
Typearray of string
RequiredNo

Description: List of tool names that are not allowed for this prompt (overrides tools list)

Example:

[
"dangerous_tool",
"delete_data"
]
Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
blocklist items-
7.1.8.4.1. PromptPack Specification > prompts > additionalProperties > tool_policy > blocklist > blocklist items
Typestring
RequiredNo

7.1.9. Property PromptPack Specification > prompts > additionalProperties > pipeline

Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/PipelineConfig

Description: Pipeline configuration defining processing stages and middleware

PropertyPatternTypeDeprecatedDefinitionTitle/Description
+ stagesNoarray of stringNo-Ordered list of pipeline stages. Common stages: 'template', 'provider', 'validator'
- middlewareNoarrayNo-Middleware components with their configurations. Applied in order during pipeline execution.
7.1.9.1. Property PromptPack Specification > prompts > additionalProperties > pipeline > stages
Typearray of string
RequiredYes

Description: Ordered list of pipeline stages. Common stages: 'template', 'provider', 'validator'

Example:

[
"template",
"provider",
"validator"
]
Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
stages items-
7.1.9.1.1. PromptPack Specification > prompts > additionalProperties > pipeline > stages > stages items
Typestring
RequiredNo
7.1.9.2. Property PromptPack Specification > prompts > additionalProperties > pipeline > middleware
Typearray
RequiredNo

Description: Middleware components with their configurations. Applied in order during pipeline execution.

Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
MiddlewareConfigConfiguration for a single middleware component in the pipeline
7.1.9.2.1. PromptPack Specification > prompts > additionalProperties > pipeline > middleware > MiddlewareConfig
Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/MiddlewareConfig

Description: Configuration for a single middleware component in the pipeline

PropertyPatternTypeDeprecatedDefinitionTitle/Description
+ typeNostringNo-Middleware type identifier
- configNoobjectNo-Type-specific configuration for the middleware
7.1.9.2.1.1. Property PromptPack Specification > prompts > additionalProperties > pipeline > middleware > middleware items > type
Typestring
RequiredYes

Description: Middleware type identifier

Examples:

"template"
"provider"
"validator"
"custom"
7.1.9.2.1.2. Property PromptPack Specification > prompts > additionalProperties > pipeline > middleware > middleware items > config
Typeobject
RequiredNo
Additional propertiesAny type allowed

Description: Type-specific configuration for the middleware

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- additionalPropertiesNoobjectNo--

7.1.10. Property PromptPack Specification > prompts > additionalProperties > parameters

Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/Parameters

Description: LLM generation parameters like temperature and max_tokens

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- temperatureNonumberNo-Sampling temperature (0-2). Higher values make output more random, lower values more deterministic.
- max_tokensNointegerNo-Maximum number of tokens to generate in the response
- top_pNonumberNo-Nucleus sampling parameter (0-1). Alternative to temperature for controlling randomness.
- top_kNointeger or nullNo-Top-k sampling parameter. Limits to top K tokens. Null means no limit.
- frequency_penaltyNonumberNo-Penalty for token frequency (-2 to 2). Positive values reduce repetition.
- presence_penaltyNonumberNo-Penalty for token presence (-2 to 2). Positive values encourage new topics.
7.1.10.1. Property PromptPack Specification > prompts > additionalProperties > parameters > temperature
Typenumber
RequiredNo

Description: Sampling temperature (0-2). Higher values make output more random, lower values more deterministic.

Examples:

0.7
1.0
Restrictions
Minimum≥ 0
Maximum≤ 2
7.1.10.2. Property PromptPack Specification > prompts > additionalProperties > parameters > max_tokens
Typeinteger
RequiredNo

Description: Maximum number of tokens to generate in the response

Examples:

100
1000
4000
Restrictions
Minimum≥ 1
7.1.10.3. Property PromptPack Specification > prompts > additionalProperties > parameters > top_p
Typenumber
RequiredNo

Description: Nucleus sampling parameter (0-1). Alternative to temperature for controlling randomness.

Examples:

0.9
1.0
Restrictions
Minimum≥ 0
Maximum≤ 1
7.1.10.4. Property PromptPack Specification > prompts > additionalProperties > parameters > top_k
Typeinteger or null
RequiredNo

Description: Top-k sampling parameter. Limits to top K tokens. Null means no limit.

Examples:

40
100
null
Restrictions
Minimum≥ 1
7.1.10.5. Property PromptPack Specification > prompts > additionalProperties > parameters > frequency_penalty
Typenumber
RequiredNo

Description: Penalty for token frequency (-2 to 2). Positive values reduce repetition.

Examples:

0
0.5
Restrictions
Minimum≥ -2
Maximum≤ 2
7.1.10.6. Property PromptPack Specification > prompts > additionalProperties > parameters > presence_penalty
Typenumber
RequiredNo

Description: Penalty for token presence (-2 to 2). Positive values encourage new topics.

Examples:

0
0.5
Restrictions
Minimum≥ -2
Maximum≤ 2

7.1.11. Property PromptPack Specification > prompts > additionalProperties > validators

Typearray
RequiredNo

Description: Validation rules (guardrails) applied to LLM responses

Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
ValidatorA validation rule (guardrail) applied to LLM responses. Validators can check content, length, format, and other constraints to ensure response quality and safety.
7.1.11.1. PromptPack Specification > prompts > additionalProperties > validators > Validator
Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/Validator

Description: A validation rule (guardrail) applied to LLM responses. Validators can check content, length, format, and other constraints to ensure response quality and safety.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
+ typeNoenum (of string)No-Type of validation to perform
+ enabledNobooleanNo-Whether this validator is active. Allows temporarily disabling validators without removing them.
- fail_on_violationNobooleanNo-If true, validation failures cause an error. If false, violations are logged but allowed.
- paramsNoobjectNo-Validator-specific parameters
7.1.11.1.1. Property PromptPack Specification > prompts > additionalProperties > validators > validators items > type
Typeenum (of string)
RequiredYes

Description: Type of validation to perform

Examples:

"banned_words"
"max_length"

Must be one of:

  • "banned_words"
  • "max_length"
  • "min_length"
  • "regex_match"
  • "json_schema"
  • "sentiment"
  • "toxicity"
  • "pii_detection"
  • "custom"
7.1.11.1.2. Property PromptPack Specification > prompts > additionalProperties > validators > validators items > enabled
Typeboolean
RequiredYes

Description: Whether this validator is active. Allows temporarily disabling validators without removing them.

7.1.11.1.3. Property PromptPack Specification > prompts > additionalProperties > validators > validators items > fail_on_violation
Typeboolean
RequiredNo
Defaultfalse

Description: If true, validation failures cause an error. If false, violations are logged but allowed.

7.1.11.1.4. Property PromptPack Specification > prompts > additionalProperties > validators > validators items > params
Typeobject
RequiredNo
Additional propertiesAny type allowed

Description: Validator-specific parameters

Examples:

{
"words": [
"inappropriate",
"banned"
]
}
{
"max_characters": 1000,
"max_tokens": 250
}
PropertyPatternTypeDeprecatedDefinitionTitle/Description
- additionalPropertiesNoobjectNo--

7.1.12. Property PromptPack Specification > prompts > additionalProperties > tested_models

Typearray
RequiredNo

Description: Model testing results documenting which models have been tested with this prompt and their performance

Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
TestedModelTesting results for a specific model. Documents which models have been tested with this prompt and their performance metrics.
7.1.12.1. PromptPack Specification > prompts > additionalProperties > tested_models > TestedModel
Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/TestedModel

Description: Testing results for a specific model. Documents which models have been tested with this prompt and their performance metrics.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
+ providerNostringNo-LLM provider name
+ modelNostringNo-Specific model identifier
+ dateNostringNo-Date when the model was tested (YYYY-MM-DD)
- success_rateNonumberNo-Success rate (0-1) from test runs
- avg_tokensNonumberNo-Average number of tokens used per response
- avg_costNonumberNo-Average cost per execution in USD
- avg_latency_msNonumberNo-Average response latency in milliseconds
- notesNostringNo-Additional notes about model performance or observations
7.1.12.1.1. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > provider
Typestring
RequiredYes

Description: LLM provider name

Examples:

"openai"
"anthropic"
"azure"
"bedrock"
7.1.12.1.2. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > model
Typestring
RequiredYes

Description: Specific model identifier

Examples:

"gpt-4"
"gpt-3.5-turbo"
"claude-3-opus"
"claude-3-sonnet"
7.1.12.1.3. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > date
Typestring
RequiredYes
Formatdate

Description: Date when the model was tested (YYYY-MM-DD)

Examples:

"2025-10-31"
"2025-12-01"
7.1.12.1.4. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > success_rate
Typenumber
RequiredNo

Description: Success rate (0-1) from test runs

Examples:

0.95
0.87
Restrictions
Minimum≥ 0
Maximum≤ 1
7.1.12.1.5. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > avg_tokens
Typenumber
RequiredNo

Description: Average number of tokens used per response

Examples:

150
500
Restrictions
Minimum≥ 0
7.1.12.1.6. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > avg_cost
Typenumber
RequiredNo

Description: Average cost per execution in USD

Examples:

0.0045
0.012
Restrictions
Minimum≥ 0
7.1.12.1.7. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > avg_latency_ms
Typenumber
RequiredNo

Description: Average response latency in milliseconds

Examples:

1200
3500
Restrictions
Minimum≥ 0
7.1.12.1.8. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > notes
Typestring
RequiredNo

Description: Additional notes about model performance or observations

7.1.13. Property PromptPack Specification > prompts > additionalProperties > model_overrides

Typeobject
RequiredNo
Additional propertiesEach additional property must conform to the schema

Description: Model-specific template modifications. Keys are model names (e.g., 'claude-3-opus', 'gpt-4'), values are override configurations.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- NoobjectNoIn #/$defs/ModelOverrideModel-specific template modifications. Allows customizing prompts for specific models without changing the base template.
7.1.13.1. Property PromptPack Specification > prompts > additionalProperties > model_overrides > ModelOverride
Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/ModelOverride

Description: Model-specific template modifications. Allows customizing prompts for specific models without changing the base template.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- system_template_prefixNostringNo-Text prepended to the system template for this model
- system_template_suffixNostringNo-Text appended to the system template for this model
- system_templateNostringNo-Complete replacement system template for this model (overrides the base template entirely)
- parametersNoobjectNoSame as parametersModel-specific parameter overrides
7.1.13.1.1. Property PromptPack Specification > prompts > additionalProperties > model_overrides > additionalProperties > system_template_prefix
Typestring
RequiredNo

Description: Text prepended to the system template for this model

Examples:

"<thinking>\\n"
"[Task]\\n"
7.1.13.1.2. Property PromptPack Specification > prompts > additionalProperties > model_overrides > additionalProperties > system_template_suffix
Typestring
RequiredNo

Description: Text appended to the system template for this model

Examples:

"\\n\\nBe concise and direct."
"\\n</thinking>"
7.1.13.1.3. Property PromptPack Specification > prompts > additionalProperties > model_overrides > additionalProperties > system_template
Typestring
RequiredNo

Description: Complete replacement system template for this model (overrides the base template entirely)

7.1.13.1.4. Property PromptPack Specification > prompts > additionalProperties > model_overrides > additionalProperties > parameters
Typeobject
RequiredNo
Additional propertiesNot allowed
Same definition asparameters

Description: Model-specific parameter overrides

7.1.14. Property PromptPack Specification > prompts > additionalProperties > media

Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/MediaConfig

Description: Multimodal content configuration for this prompt. Defines supported media types and validation rules.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
+ enabledNobooleanNo-Whether multimodal content is enabled for this prompt
- supported_typesNoarray of stringNo-List of supported media types for this prompt. Common types include: image, audio, video, document, model3d, archive. Custom types are allowed - each type should have a corresponding configuration object (e.g., 'foo' type requires a 'foo' field with GenericMediaTypeConfig or a specific schema).
- imageNoobjectNoIn #/$defs/ImageConfigImage-specific configuration and constraints
- audioNoobjectNoIn #/$defs/AudioConfigAudio-specific configuration and constraints
- videoNoobjectNoIn #/$defs/VideoConfigVideo-specific configuration and constraints
- documentNoobjectNoIn #/$defs/DocumentConfigDocument-specific configuration and constraints (PDFs, CAD files, spreadsheets, etc.)
- examplesNoarrayNo-Example multimodal messages showing how to use media with this prompt
- ^[a-z0-9_]+$YesCombinationNo--
7.1.14.1. Property PromptPack Specification > prompts > additionalProperties > media > enabled
Typeboolean
RequiredYes

Description: Whether multimodal content is enabled for this prompt

7.1.14.2. Property PromptPack Specification > prompts > additionalProperties > media > supported_types
Typearray of string
RequiredNo

Description: List of supported media types for this prompt. Common types include: image, audio, video, document, model3d, archive. Custom types are allowed - each type should have a corresponding configuration object (e.g., 'foo' type requires a 'foo' field with GenericMediaTypeConfig or a specific schema).

Examples:

[
"image"
]
[
"image",
"audio"
]
[
"image",
"audio",
"video"
]
[
"document",
"image"
]
[
"model3d",
"document"
]
Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
supported_types items-
7.1.14.2.1. PromptPack Specification > prompts > additionalProperties > media > supported_types > supported_types items
Typestring
RequiredNo
Restrictions
Must match regular expression^[a-z0-9_]+$ Test
7.1.14.3. Property PromptPack Specification > prompts > additionalProperties > media > image
Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/ImageConfig

Description: Image-specific configuration and constraints

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- max_size_mbNointegerNo-Maximum file size in megabytes
- allowed_formatsNoarray of enum (of string)No-List of allowed image formats
- default_detailNoenum (of string)No-Default detail level for image processing. 'low' uses fewer tokens, 'high' provides more detail, 'auto' lets the model decide.
- require_captionNobooleanNo-Whether image captions are required
- max_images_per_msgNointegerNo-Maximum number of images allowed per message
7.1.14.3.1. Property PromptPack Specification > prompts > additionalProperties > media > image > max_size_mb
Typeinteger
RequiredNo

Description: Maximum file size in megabytes

Examples:

10
20
Restrictions
Minimum≥ 1
7.1.14.3.2. Property PromptPack Specification > prompts > additionalProperties > media > image > allowed_formats
Typearray of enum (of string)
RequiredNo

Description: List of allowed image formats

Example:

[
"jpeg",
"png",
"webp"
]
Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
allowed_formats items-
7.1.14.3.2.1. PromptPack Specification > prompts > additionalProperties > media > image > allowed_formats > allowed_formats items
Typeenum (of string)
RequiredNo

Must be one of:

  • "jpeg"
  • "jpg"
  • "png"
  • "webp"
  • "gif"
  • "bmp"
7.1.14.3.3. Property PromptPack Specification > prompts > additionalProperties > media > image > default_detail
Typeenum (of string)
RequiredNo
Default"auto"

Description: Default detail level for image processing. 'low' uses fewer tokens, 'high' provides more detail, 'auto' lets the model decide.

Examples:

"high"
"auto"

Must be one of:

  • "low"
  • "high"
  • "auto"
7.1.14.3.4. Property PromptPack Specification > prompts > additionalProperties > media > image > require_caption
Typeboolean
RequiredNo
Defaultfalse

Description: Whether image captions are required

7.1.14.3.5. Property PromptPack Specification > prompts > additionalProperties > media > image > max_images_per_msg
Typeinteger
RequiredNo

Description: Maximum number of images allowed per message

Examples:

1
5
10
Restrictions
Minimum≥ 1
7.1.14.4. Property PromptPack Specification > prompts > additionalProperties > media > audio
Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/AudioConfig

Description: Audio-specific configuration and constraints

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- max_size_mbNointegerNo-Maximum file size in megabytes
- allowed_formatsNoarray of enum (of string)No-List of allowed audio formats
- max_duration_secNointegerNo-Maximum audio duration in seconds
- require_metadataNobooleanNo-Whether audio metadata (title, description) is required
7.1.14.4.1. Property PromptPack Specification > prompts > additionalProperties > media > audio > max_size_mb
Typeinteger
RequiredNo

Description: Maximum file size in megabytes

Examples:

25
50
Restrictions
Minimum≥ 1
7.1.14.4.2. Property PromptPack Specification > prompts > additionalProperties > media > audio > allowed_formats
Typearray of enum (of string)
RequiredNo

Description: List of allowed audio formats

Example:

[
"mp3",
"wav",
"opus"
]
Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
allowed_formats items-
7.1.14.4.2.1. PromptPack Specification > prompts > additionalProperties > media > audio > allowed_formats > allowed_formats items
Typeenum (of string)
RequiredNo

Must be one of:

  • "mp3"
  • "wav"
  • "opus"
  • "flac"
  • "m4a"
  • "aac"
7.1.14.4.3. Property PromptPack Specification > prompts > additionalProperties > media > audio > max_duration_sec
Typeinteger
RequiredNo

Description: Maximum audio duration in seconds

Examples:

300
600
Restrictions
Minimum≥ 1
7.1.14.4.4. Property PromptPack Specification > prompts > additionalProperties > media > audio > require_metadata
Typeboolean
RequiredNo
Defaultfalse

Description: Whether audio metadata (title, description) is required

7.1.14.5. Property PromptPack Specification > prompts > additionalProperties > media > video
Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/VideoConfig

Description: Video-specific configuration and constraints

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- max_size_mbNointegerNo-Maximum file size in megabytes
- allowed_formatsNoarray of enum (of string)No-List of allowed video formats
- max_duration_secNointegerNo-Maximum video duration in seconds
- require_metadataNobooleanNo-Whether video metadata (title, description) is required
7.1.14.5.1. Property PromptPack Specification > prompts > additionalProperties > media > video > max_size_mb
Typeinteger
RequiredNo

Description: Maximum file size in megabytes

Examples:

100
200
Restrictions
Minimum≥ 1
7.1.14.5.2. Property PromptPack Specification > prompts > additionalProperties > media > video > allowed_formats
Typearray of enum (of string)
RequiredNo

Description: List of allowed video formats

Example:

[
"mp4",
"webm"
]
Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
allowed_formats items-
7.1.14.5.2.1. PromptPack Specification > prompts > additionalProperties > media > video > allowed_formats > allowed_formats items
Typeenum (of string)
RequiredNo

Must be one of:

  • "mp4"
  • "webm"
  • "mov"
  • "avi"
  • "mkv"
7.1.14.5.3. Property PromptPack Specification > prompts > additionalProperties > media > video > max_duration_sec
Typeinteger
RequiredNo

Description: Maximum video duration in seconds

Examples:

600
1200
Restrictions
Minimum≥ 1
7.1.14.5.4. Property PromptPack Specification > prompts > additionalProperties > media > video > require_metadata
Typeboolean
RequiredNo
Defaultfalse

Description: Whether video metadata (title, description) is required

7.1.14.6. Property PromptPack Specification > prompts > additionalProperties > media > document
Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/DocumentConfig

Description: Document-specific configuration and constraints (PDFs, CAD files, spreadsheets, etc.)

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- max_size_mbNointegerNo-Maximum file size in megabytes
- allowed_formatsNoarray of stringNo-List of allowed document formats
- max_pagesNointegerNo-Maximum number of pages/sheets for paginated documents
- require_metadataNobooleanNo-Whether document metadata (title, author, description) is required
- extraction_modeNoenum (of string)No-How to extract content from documents. 'text' extracts text only, 'structured' preserves formatting, 'raw' keeps original binary format.
7.1.14.6.1. Property PromptPack Specification > prompts > additionalProperties > media > document > max_size_mb
Typeinteger
RequiredNo

Description: Maximum file size in megabytes

Examples:

50
100
Restrictions
Minimum≥ 1
7.1.14.6.2. Property PromptPack Specification > prompts > additionalProperties > media > document > allowed_formats
Typearray of string
RequiredNo

Description: List of allowed document formats

Examples:

[
"pdf",
"docx"
]
[
"pdf",
"step",
"dwg"
]
[
"csv",
"xlsx",
"ods"
]
Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
allowed_formats items-
7.1.14.6.2.1. PromptPack Specification > prompts > additionalProperties > media > document > allowed_formats > allowed_formats items
Typestring
RequiredNo
7.1.14.6.3. Property PromptPack Specification > prompts > additionalProperties > media > document > max_pages
Typeinteger
RequiredNo

Description: Maximum number of pages/sheets for paginated documents

Examples:

50
100
Restrictions
Minimum≥ 1
7.1.14.6.4. Property PromptPack Specification > prompts > additionalProperties > media > document > require_metadata
Typeboolean
RequiredNo
Defaultfalse

Description: Whether document metadata (title, author, description) is required

7.1.14.6.5. Property PromptPack Specification > prompts > additionalProperties > media > document > extraction_mode
Typeenum (of string)
RequiredNo
Default"text"

Description: How to extract content from documents. 'text' extracts text only, 'structured' preserves formatting, 'raw' keeps original binary format.

Examples:

"text"
"structured"

Must be one of:

  • "text"
  • "structured"
  • "raw"
7.1.14.7. Property PromptPack Specification > prompts > additionalProperties > media > examples
Typearray
RequiredNo

Description: Example multimodal messages showing how to use media with this prompt

Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
MultimodalExampleExample multimodal message demonstrating how to use media content with a prompt
7.1.14.7.1. PromptPack Specification > prompts > additionalProperties > media > examples > MultimodalExample
Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/MultimodalExample

Description: Example multimodal message demonstrating how to use media content with a prompt

PropertyPatternTypeDeprecatedDefinitionTitle/Description
+ nameNostringNo-Name identifying this example
- descriptionNostringNo-Description of what this example demonstrates
+ roleNoenum (of string)No-Message role (typically 'user' or 'assistant')
+ partsNoarrayNo-Message content parts (text and/or media)
7.1.14.7.1.1. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > name
Typestring
RequiredYes

Description: Name identifying this example

Examples:

"image-analysis"
"audio-transcription"
7.1.14.7.1.2. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > description
Typestring
RequiredNo

Description: Description of what this example demonstrates

7.1.14.7.1.3. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > role
Typeenum (of string)
RequiredYes

Description: Message role (typically 'user' or 'assistant')

Example:

"user"

Must be one of:

  • "user"
  • "assistant"
  • "system"
7.1.14.7.1.4. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts
Typearray
RequiredYes

Description: Message content parts (text and/or media)

Array restrictions
Min items1
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
ContentPartA single content part within a multimodal message. Can be text or media.
7.1.14.7.1.4.1. PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > ContentPart
Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/ContentPart

Description: A single content part within a multimodal message. Can be text or media.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
+ typeNostringNo-Type of content part. Common types include: text, image, audio, video, document. Custom types are allowed for extensibility.
- textNostringNo-Text content (required when type is 'text')
- mediaNoobjectNoIn #/$defs/MediaReferenceMedia reference (required when type is 'image', 'audio', or 'video')
7.1.14.7.1.4.1.1. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > type
Typestring
RequiredYes

Description: Type of content part. Common types include: text, image, audio, video, document. Custom types are allowed for extensibility.

Examples:

"text"
"image"
"audio"
"document"
Restrictions
Must match regular expression^[a-z0-9_]+$ Test
7.1.14.7.1.4.1.2. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > text
Typestring
RequiredNo

Description: Text content (required when type is 'text')

Examples:

"What's in this image?"
"Describe the scene"
7.1.14.7.1.4.1.3. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > media
Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/MediaReference

Description: Media reference (required when type is 'image', 'audio', or 'video')

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- file_pathNostringNo-Path to media file (relative to pack or absolute). Validated at compile time.
- urlNostringNo-URL to media file. Must be publicly accessible or require authentication.
- base64NostringNo-Base64-encoded media data. Use for small files or when embedding is preferred.
+ mime_typeNostringNo-MIME type of the media file
- detailNoenum (of string)No-Detail level for image processing (images only). Overrides default_detail from ImageConfig.
- captionNostringNo-Caption or description for the media
7.1.14.7.1.4.1.3.1. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > media > file_path
Typestring
RequiredNo

Description: Path to media file (relative to pack or absolute). Validated at compile time.

Examples:

"images/photo.jpg"
"./media/audio.mp3"
7.1.14.7.1.4.1.3.2. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > media > url
Typestring
RequiredNo
Formaturi

Description: URL to media file. Must be publicly accessible or require authentication.

Examples:

"https://example.com/image.jpg"
"https://cdn.example.com/video.mp4"
7.1.14.7.1.4.1.3.3. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > media > base64
Typestring
RequiredNo

Description: Base64-encoded media data. Use for small files or when embedding is preferred.

Example:

"iVBORw0KGgoAAAANSUhEUgAAAAUA..."
7.1.14.7.1.4.1.3.4. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > media > mime_type
Typestring
RequiredYes

Description: MIME type of the media file

Examples:

"image/jpeg"
"image/png"
"audio/mp3"
"video/mp4"
7.1.14.7.1.4.1.3.5. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > media > detail
Typeenum (of string)
RequiredNo

Description: Detail level for image processing (images only). Overrides default_detail from ImageConfig.

Example:

"high"

Must be one of:

  • "low"
  • "high"
  • "auto"
7.1.14.7.1.4.1.3.6. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > media > caption
Typestring
RequiredNo

Description: Caption or description for the media

Examples:

"Product photo"
"Customer's voice recording"
7.1.14.8. Pattern Property PromptPack Specification > prompts > additionalProperties > media > ^[a-z0-9_]+$

All properties whose name matches the regular expression ^[a-z0-9_]+$ (Test) must respect the following conditions

Typecombining
RequiredNo
Additional propertiesAny type allowed
One of(Option)
ImageConfig
AudioConfig
VideoConfig
DocumentConfig
GenericMediaTypeConfig
7.1.14.8.1. Property PromptPack Specification > prompts > additionalProperties > media > ^[a-z0-9_]+$ > oneOf > ImageConfig
Typeobject
RequiredNo
Additional propertiesNot allowed
Same definition asimage

Description: Configuration and validation rules for image content

7.1.14.8.2. Property PromptPack Specification > prompts > additionalProperties > media > ^[a-z0-9_]+$ > oneOf > AudioConfig
Typeobject
RequiredNo
Additional propertiesNot allowed
Same definition asaudio

Description: Configuration and validation rules for audio content

7.1.14.8.3. Property PromptPack Specification > prompts > additionalProperties > media > ^[a-z0-9_]+$ > oneOf > VideoConfig
Typeobject
RequiredNo
Additional propertiesNot allowed
Same definition asvideo

Description: Configuration and validation rules for video content

7.1.14.8.4. Property PromptPack Specification > prompts > additionalProperties > media > ^[a-z0-9_]+$ > oneOf > DocumentConfig
Typeobject
RequiredNo
Additional propertiesNot allowed
Same definition asdocument

Description: Configuration and validation rules for document content (PDFs, CAD files, spreadsheets, etc.)

7.1.14.8.5. Property PromptPack Specification > prompts > additionalProperties > media > ^[a-z0-9_]+$ > oneOf > GenericMediaTypeConfig
Typeobject
RequiredNo
Additional propertiesAny type allowed
Defined in#/$defs/GenericMediaTypeConfig

Description: Generic configuration for custom media types. Use this for types not covered by specific configs (ImageConfig, AudioConfig, etc.). Provides common validation properties that apply to most media types.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- max_size_mbNointegerNo-Maximum file size in megabytes
- allowed_formatsNoarray of stringNo-List of allowed file formats/extensions
- require_metadataNobooleanNo-Whether metadata is required for this media type
- validation_paramsNoobjectNo-Custom validation parameters specific to this media type. Structure depends on the type.
- additionalPropertiesNoobjectNo--
7.1.14.8.5.1. Property PromptPack Specification > prompts > additionalProperties > media > ^[a-z0-9_]+$ > oneOf > item 4 > max_size_mb
Typeinteger
RequiredNo

Description: Maximum file size in megabytes

Examples:

10
50
100
Restrictions
Minimum≥ 1
7.1.14.8.5.2. Property PromptPack Specification > prompts > additionalProperties > media > ^[a-z0-9_]+$ > oneOf > item 4 > allowed_formats
Typearray of string
RequiredNo

Description: List of allowed file formats/extensions

Examples:

[
"obj",
"fbx",
"gltf"
]
[
"zip",
"tar"
]
[
"stl",
"ply"
]
Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
allowed_formats items-
7.1.14.8.5.2.1. PromptPack Specification > prompts > additionalProperties > media > ^[a-z0-9_]+$ > oneOf > item 4 > allowed_formats > allowed_formats items
Typestring
RequiredNo
7.1.14.8.5.3. Property PromptPack Specification > prompts > additionalProperties > media > ^[a-z0-9_]+$ > oneOf > item 4 > require_metadata
Typeboolean
RequiredNo
Defaultfalse

Description: Whether metadata is required for this media type

7.1.14.8.5.4. Property PromptPack Specification > prompts > additionalProperties > media > ^[a-z0-9_]+$ > oneOf > item 4 > validation_params
Typeobject
RequiredNo
Additional propertiesAny type allowed

Description: Custom validation parameters specific to this media type. Structure depends on the type.

Examples:

{
"max_vertices": 100000,
"require_textures": false
}
{
"compression": "gzip",
"max_entries": 1000
}
PropertyPatternTypeDeprecatedDefinitionTitle/Description
- additionalPropertiesNoobjectNo--

8. Property PromptPack Specification > fragments

Typeobject
RequiredNo
Additional propertiesEach additional property must conform to the schema

Description: Shared template fragments that can be referenced by any prompt in the pack. Fragments are reusable text blocks resolved at compile time. Keys are fragment names, values are fragment content.

Example:

{
"customer_context": "Customer: {{customer_name}}\\nIssue: {{issue}}",
"greeting": "Hello! How can I help you today?"
}
PropertyPatternTypeDeprecatedDefinitionTitle/Description
- NostringNo--

8.1. Property PromptPack Specification > fragments > additionalProperties

Typestring
RequiredNo

9. Property PromptPack Specification > tools

Typeobject
RequiredNo
Additional propertiesEach additional property must conform to the schema

Description: Tool definitions that can be referenced by prompts. Tools enable the LLM to call external functions. Keys are tool names, values are tool specifications following the JSON Schema for function calling.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- NoobjectNoIn #/$defs/ToolA tool definition following OpenAI's function calling format. Tools enable the LLM to call external functions to retrieve data or perform actions.

9.1. Property PromptPack Specification > tools > Tool

Typeobject
RequiredNo
Additional propertiesNot allowed
Defined in#/$defs/Tool

Description: A tool definition following OpenAI's function calling format. Tools enable the LLM to call external functions to retrieve data or perform actions.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
+ nameNostringNo-Tool name used for referencing and calling
+ descriptionNostringNo-Clear description of what the tool does. The LLM uses this to decide when to call the tool.
- parametersNoobjectNo-JSON Schema defining the tool's parameters. Follows JSON Schema specification.

9.1.1. Property PromptPack Specification > tools > additionalProperties > name

Typestring
RequiredYes

Description: Tool name used for referencing and calling

Examples:

"lookup_order"
"create_ticket"
"search_database"
Restrictions
Must match regular expression^[a-zA-Z_][a-zA-Z0-9_]*$ Test

9.1.2. Property PromptPack Specification > tools > additionalProperties > description

Typestring
RequiredYes

Description: Clear description of what the tool does. The LLM uses this to decide when to call the tool.

Examples:

"Look up order details by order ID"
"Create a support ticket with title, description, and priority"
Restrictions
Min length1

9.1.3. Property PromptPack Specification > tools > additionalProperties > parameters

Typeobject
RequiredNo
Additional propertiesAny type allowed

Description: JSON Schema defining the tool's parameters. Follows JSON Schema specification.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
+ typeNoenum (of string)No-Must be 'object' for tool parameters
+ propertiesNoobjectNo-Parameter definitions
- requiredNoarray of stringNo-List of required parameter names
9.1.3.1. Property PromptPack Specification > tools > additionalProperties > parameters > type
Typeenum (of string)
RequiredYes

Description: Must be 'object' for tool parameters

Must be one of:

  • "object"
9.1.3.2. Property PromptPack Specification > tools > additionalProperties > parameters > properties
Typeobject
RequiredYes
Additional propertiesEach additional property must conform to the schema

Description: Parameter definitions

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- NoobjectNo--
9.1.3.2.1. Property PromptPack Specification > tools > additionalProperties > parameters > properties > additionalProperties
Typeobject
RequiredNo
Additional propertiesAny type allowed
9.1.3.3. Property PromptPack Specification > tools > additionalProperties > parameters > required
Typearray of string
RequiredNo

Description: List of required parameter names

Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
required items-
9.1.3.3.1. PromptPack Specification > tools > additionalProperties > parameters > required > required items
Typestring
RequiredNo

10. Property PromptPack Specification > metadata

Typeobject
RequiredNo
Additional propertiesAny type allowed

Description: Optional pack-level metadata for categorization, discovery, and operational planning.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- domainNostringNo-Domain or category for this pack
- languageNostringNo-Primary language code (ISO 639-1)
- tagsNoarray of stringNo-Tags for categorization and discovery
- cost_estimateNoobjectNo-Cost estimation for using this pack
- additionalPropertiesNoobjectNo--

10.1. Property PromptPack Specification > metadata > domain

Typestring
RequiredNo

Description: Domain or category for this pack

Examples:

"customer-service"
"healthcare"
"finance"

10.2. Property PromptPack Specification > metadata > language

Typestring
RequiredNo

Description: Primary language code (ISO 639-1)

Examples:

"en"
"es"
"fr"
Restrictions
Must match regular expression^[a-z]{2}$ Test

10.3. Property PromptPack Specification > metadata > tags

Typearray of string
RequiredNo

Description: Tags for categorization and discovery

Example:

[
"support",
"sales",
"technical"
]
Array restrictions
Min itemsN/A
Max itemsN/A
Items unicityFalse
Additional itemsFalse
Tuple validationSee below
Each item of this array must beDescription
tags items-

10.3.1. PromptPack Specification > metadata > tags > tags items

Typestring
RequiredNo

10.4. Property PromptPack Specification > metadata > cost_estimate

Typeobject
RequiredNo
Additional propertiesAny type allowed

Description: Cost estimation for using this pack

PropertyPatternTypeDeprecatedDefinitionTitle/Description
- min_cost_usdNonumberNo-Minimum cost per execution in USD
- max_cost_usdNonumberNo-Maximum cost per execution in USD
- avg_cost_usdNonumberNo-Average cost per execution in USD

10.4.1. Property PromptPack Specification > metadata > cost_estimate > min_cost_usd

Typenumber
RequiredNo

Description: Minimum cost per execution in USD

Restrictions
Minimum≥ 0

10.4.2. Property PromptPack Specification > metadata > cost_estimate > max_cost_usd

Typenumber
RequiredNo

Description: Maximum cost per execution in USD

Restrictions
Minimum≥ 0

10.4.3. Property PromptPack Specification > metadata > cost_estimate > avg_cost_usd

Typenumber
RequiredNo

Description: Average cost per execution in USD

Restrictions
Minimum≥ 0

11. Property PromptPack Specification > compilation

Typeobject
RequiredNo
Additional propertiesAny type allowed

Description: Information about when and how this pack was compiled. Generated automatically by the packc compiler.

PropertyPatternTypeDeprecatedDefinitionTitle/Description
+ compiled_withNostringNo-Version of the packc compiler used to create this pack
+ created_atNostringNo-ISO 8601 timestamp when the pack was compiled
+ schemaNostringNo-Pack format schema version used
- sourceNostringNo-Optional source configuration file path

11.1. Property PromptPack Specification > compilation > compiled_with

Typestring
RequiredYes

Description: Version of the packc compiler used to create this pack

Examples:

"packc-v0.1.0"
"packc-v1.2.3"

11.2. Property PromptPack Specification > compilation > created_at

Typestring
RequiredYes
Formatdate-time

Description: ISO 8601 timestamp when the pack was compiled

Example:

"2025-10-31T12:00:00Z"

11.3. Property PromptPack Specification > compilation > schema

Typestring
RequiredYes

Description: Pack format schema version used

Examples:

"v1"
"v2"

11.4. Property PromptPack Specification > compilation > source

Typestring
RequiredNo

Description: Optional source configuration file path

Examples:

"arena.yaml"
"config/prompts.yaml"

Generated using json-schema-for-humans on 2025-11-15 at 16:29:33 +0000