---
title: "Generate a prompt"
method: POST
path: "/prompts/generate"
tags: ["Prompts"]
---

# Generate a prompt

`POST /prompts/generate`

## Request

- Base URL: `https://api.promptessor.com/v1`
- URL: `https://api.promptessor.com/v1/prompts/generate`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://auth.promptessor.com/authorize`
    - Token URL: `https://auth.promptessor.com/token` scopes: `prompts:generate`

## Headers

- `Idempotency-Key` string, required
- `Prefer` 'respond-async'

## Request body

- object
  - `message` string, required
  - `mode` 'auto' | 'general' | 'research' | 'writing' | 'planning' | 'agent' | 'image' | 'video' | 'code' | 'automation'
  - `outputMode` 'ready_to_use' | 'reusable'
  - `targetModel` 'Universal' | 'ChatGPT' | 'Claude' | 'Gemini' | 'Grok' | 'Llama' | 'Mistral' | 'DeepSeek' | 'Perplexity' | 'Cohere' | 'Kimi' | 'Qwen' | 'GPT Image' | 'Midjourney' | 'Nano Banana' | 'FLUX' | 'Ideogram' | 'Stable Diffusion' | 'Lumina' | 'Runway Image' | 'Kling Image' | 'Wan Image' | 'Seedream' | 'Veo' | 'Runway' | 'Kling' | 'Seedance' | 'Wan' | 'MiniMax' | 'Luma' | 'Pika' | 'Vidu' | 'PixVerse' | 'LTX' | 'Adobe Firefly Video' | 'Midjourney Video' | 'Grok Imagine Video'
  - `language` string
  - `generationId` string, nullable
  - `currentPrompt` string, nullable
  - `conversation` object[]
    - `role` 'user' | 'assistant', required
    - `content` string, required
  - `attachmentIds` string[]

## Response `200`

AI operation completed

- AiOperationResult
  - `id` string, required
  - `object` string, required
  - `status` 'succeeded', required
  - `data` object, required
  - `history` HistoryLink
    - `type` string, nullable, required
    - `id` string, required
    - `url` string
  - `requestId` string, required
  - `usage` UsageCharge, required
    - `creditsCharged` integer, required
    - `source` string, nullable, required
    - `tokens` integer, nullable

## Other responses

- `202`: Accepted for asynchronous processing
- `400`: Invalid request
- `401`: Authentication failed
- `403`: Insufficient scope or plan entitlement
- `409`: Resource state or idempotency conflict
- `429`: Rate, concurrency, usage, or active-resource limit reached
- `500`: Unexpected server failure
- `503`: A required dependent service is unavailable

---

[API](https://skmtc.dev/promptessor/apis/promptessor-public-api.md) - [All operations](https://skmtc.dev/promptessor/apis/promptessor-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/promptessor/apis/promptessor-public-api/revisions/b77103396027?raw)
