File: prompt-tools-generate.md | Updated: 11/15/2025
Agent Skills are now available! Learn more about extending Claude's capabilities with Agent Skills .
English
Search...
Ctrl K
Search...
Navigation
Prompt tools
Generate a prompt
Home Developer Guide API Reference Model Context Protocol (MCP) Resources Release Notes
cURL
cURL
Copy
curl -X POST https://api.anthropic.com/v1/experimental/generate_prompt \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "anthropic-beta: prompt-tools-2025-04-02" \
--header "content-type: application/json" \
--data \
'{
"task": "a chef for a meal prep planning service",
"target_model": "claude-3-7-sonnet-20250219"
}'
200
4XX
Copy
{
"messages": [\
{\
"content": [\
{\
"text": "<generated prompt>",\
"type": "text"\
}\
],\
"role": "user"\
}\
],
"system": "",
"usage": [\
{\
"input_tokens": 490,\
"output_tokens": 661\
}\
]
}
POST
/
v1
/
experimental
/
generate_prompt
cURL
cURL
Copy
curl -X POST https://api.anthropic.com/v1/experimental/generate_prompt \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "anthropic-beta: prompt-tools-2025-04-02" \
--header "content-type: application/json" \
--data \
'{
"task": "a chef for a meal prep planning service",
"target_model": "claude-3-7-sonnet-20250219"
}'
200
4XX
Copy
{
"messages": [\
{\
"content": [\
{\
"text": "<generated prompt>",\
"type": "text"\
}\
],\
"role": "user"\
}\
],
"system": "",
"usage": [\
{\
"input_tokens": 490,\
"output_tokens": 661\
}\
]
}
The prompt tools APIs are in a closed research preview. Request to join the closed research preview .
The prompt tools are a set of APIs to generate and improve prompts. Unlike our other APIs, this is an experimental API: you’ll need to request access, and it doesn’t have the same level of commitment to long-term support as other APIs. These APIs are similar to what’s available in the Anthropic Workbench , and are intended for use by other prompt engineering platforms and playgrounds.
To use the prompt generation API, you’ll need to:
prompt-tools-2025-04-02This API is not available in the SDK
anthropic-beta
string[]
Optional header to specify the beta version(s) you want to use.
To use multiple betas, use a comma separated list like beta1,beta2 or specify the header multiple times for each beta.
x-api-key
string
required
Your unique API key for authentication.
This key is required in the header of all API requests, to authenticate your account and access Anthropic's services. Get your API key through the Console . Each key is scoped to a Workspace.
application/json
task
string
required
Description of the prompt's purpose.
The task parameter tells Claude what the prompt should do or what kind of role or functionality you want to create. This helps guide the prompt generation process toward your intended use case.
Example:
{"task": "a chef for a meal prep planning service"}
Examples:
"a chef for a meal prep planning service"
target_model
string | null
default:""
The model this prompt will be used for. This optional parameter helps us understand which models our prompt tools are being used with, but it doesn't currently affect functionality.
Example:
"claude-3-7-sonnet-20250219"
Required string length: 1 - 256
Examples:
"claude-3-7-sonnet-20250219"
200
application/json
Successful Response
messages
InputMessage · object[]
required
The response contains a list of message objects in the same format used by the Messages API. Typically includes a user message with the complete generated prompt text, and may include an assistant message with a prefill to guide the model's initial response.
These messages can be used directly in a Messages API request to start a conversation with the generated prompt.
Example:
{ "messages": [ { "role": "user", "content": [ { "type": "text", "text": "You are a chef for a meal prep planning service..." } ] }, { "role": "assistant", "content": [ { "type": "text", "text": "<recipe_planning>" } ] } ]}
Show child attributes
Examples:
[ { "content": [ { "text": "<generated prompt>", "type": "text" } ], "role": "user" }]
system
string
default:""
required
Currently, the system field is always returned as an empty string (""). In future iterations, this field may contain generated system prompts.
Directions similar to what would normally be included in a system prompt are included in messages when generating a prompt.
Examples:
""
usage
object
required
Usage information
Show child attributes
Was this page helpful?
YesNo
Get Claude Code Usage Report Improve a prompt
Assistant
Responses are generated using AI and may contain mistakes.