API REFERENCE · V1

One endpoint, five creative operations

Keys are created in the Developer page and may be revoked at any time.

Authentication & paid access

API access is available to Starter and Pro accounts only. Send your API key in the Authorization: Bearer header. Calls spend credits from the same account balance as browser calls, while the web app keeps its own Free plan experience.

Create or manage an API key

Bring your own provider token

The managed endpoint on this page accepts only FIND_IMAGE_PROMPT_API_KEY. If you prefer your own OpenRouter, OpenAI/GPT, or Gemini account, use the open-source DeepSeek Function Calling adapter. It runs locally or server-side, routes create_image_prompt to the selected provider, and never sends a third-party token to Find Image Prompt.

export DEEPSEEK_API_KEY="your_deepseek_api_key"
export OPENROUTER_API_KEY="your_openrouter_api_key"
node plugin/deepseek/src/index.mjs --provider openrouter --message "Write a Midjourney prompt for a rainy Kyoto bookshop at blue hour"

The adapter supports --provider find-image-prompt, openrouter, openai, gemini, and auto. DeepSeek Harness (DSH) plugin authors can reuse its create_image_prompt tool contract; a native installable DSH apply() module is not included yet.

POST /api/v1/prompts

Creates a prompt or image description. It accepts JSON and returns result, creditsUsed, and a supportable requestId.

Examples by operation

Set FIND_IMAGE_PROMPT_API_KEY in your shell or server environment. Never expose it in client-side code.

text_to_prompt

Text to prompt

Turn a creative brief into a reusable visual prompt.

curl https://findimageprompt.com/api/v1/prompts \
  -H "Authorization: Bearer $FIND_IMAGE_PROMPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operation":"text_to_prompt","text":"A tiny tea shop on the moon","target_model":"GPT Image"}'
image_to_prompt

Image to prompt

Recreate the style, composition, and visual facts of a public reference image.

curl https://findimageprompt.com/api/v1/prompts \
  -H "Authorization: Bearer $FIND_IMAGE_PROMPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operation":"image_to_prompt","image_url":"https://example.com/reference.jpg","target_model":"Midjourney","prompt_format":"Detailed prompt"}'
describe_image

Describe an image

Extract visible details, objects, art style, or text from an image.

curl https://findimageprompt.com/api/v1/prompts \
  -H "Authorization: Bearer $FIND_IMAGE_PROMPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operation":"describe_image","image_url":"https://example.com/poster.webp","description_option":"artStyle","language":"English"}'
chatgpt_image_prompt

ChatGPT Images

Create an edit or generation prompt tailored to ChatGPT Images.

curl https://findimageprompt.com/api/v1/prompts \
  -H "Authorization: Bearer $FIND_IMAGE_PROMPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operation":"chatgpt_image_prompt","text":"Turn this into a warm winter editorial photo","image_url":"https://example.com/portrait.jpg"}'
gemini_photo_prompt

Gemini photo prompt

Create a photo-generation prompt tailored to Gemini.

curl https://findimageprompt.com/api/v1/prompts \
  -H "Authorization: Bearer $FIND_IMAGE_PROMPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operation":"gemini_photo_prompt","text":"A coastal engagement portrait at blue hour","language":"English"}'

Request fields

FieldRequiredNotes
operationYestext_to_prompt, image_to_prompt, describe_image, chatgpt_image_prompt, or gemini_photo_prompt
textFor text operationYour idea or desired edit.
image_urlFor image operationsPublic HTTPS PNG, JPEG, or WebP; maximum 10 MB.
target_modelNoNano Banana, GPT Image, Flux, Midjourney, or Stable Diffusion.
prompt_formatNoGeneral prompt, Detailed prompt, Structured prompt, Graphic design, or JSON.
languageNoOutput language; English is the default.

Errors & safety

401 means the key is missing, invalid, or revoked. 402 means the account has insufficient credits. 403 means API access requires a paid plan. 429 signals a capacity limit. Unsafe inputs are rejected with 400. Never expose an API key in browser code or public repositories.

Download OpenAPI 3.1 JSON · Download Skill