---
title: "Post Idea Generate Route"
method: POST
path: "/post_ideas/generate"
tags: ["post_ideas"]
---

# Post Idea Generate Route

`POST /post_ideas/generate`

## Request

- Base URL: `https://api.robopost.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.robopost.app/post_ideas/generate`
- Auth: HTTP bearer

Generate Post Ideas (and optionally AI Images / AI Short Videos).
This now includes passing all advanced 'video_*' fields to the PostIdeaProcessCreate model.

## Request body

- PostIdeaGeneratePayload
  - `type` 'BY_PROMPT' | 'BY_INSTRUCTIONS' | 'BY_URL' | 'BY_IMAGES' | 'BY_VIDEO': An enumeration.
  - `prompt` string
  - `image_model` 'Z_IMAGE' | 'DALLE' | 'FLUX_SCHNELL' | 'FLUX_DEV' | 'FLUX_PRO': An enumeration.
  - `url` string
  - `use_knowledge_base` boolean
  - `knowledge_base_id` string
  - `voice_tone` 'POLITE' | 'WITTY' | 'ENTHUSIASTIC' | 'INFORMATIONAL' | 'FUNNY' | 'FORMAL' | 'INFORMAL' | 'HUMOROUS' | 'SERIOUS' | 'OPTIMISTIC' | 'MOTIVATING' | 'RESPECTFUL' | 'ASSERTIVE' | 'CONVERSATIONAL' | 'CASUAL' | 'PROFESSIONAL' | 'SMART' | 'NOSTALGIC' | 'FRIENDLY': An enumeration.
  - `word_count` integer
  - `generate_hashtags` boolean
  - `generate_image` boolean
  - `generate_video` boolean
  - `image_style` 'DEFAULT' | 'REALISM' | 'IMPRESSIONISM' | 'SURREALISM' | 'ABSTRACT' | 'ART_NOUVEAU' | 'CUBISM' | 'POP_ART' | 'FUTURISM' | 'FANTASY_CONCEPT_ART' | 'MINIMALISM' | 'WATERCOLOR' | 'GOTHIC_MEDIEVAL_ART' | 'ANIME' | 'COMIC': An enumeration.
  - `video_style` 'DEFAULT' | 'REALISM' | 'IMPRESSIONISM' | 'SURREALISM' | 'ABSTRACT' | 'ART_NOUVEAU' | 'CUBISM' | 'POP_ART' | 'FUTURISM' | 'FANTASY_CONCEPT_ART' | 'MINIMALISM' | 'WATERCOLOR' | 'GOTHIC_MEDIEVAL_ART' | 'ANIME' | 'COMIC': An enumeration.
  - `video_voice` string
  - `video_lang` string
  - `video_format` 'PORTRAIT' | 'WIDESCREEN' | 'SQUARE': An enumeration.
  - `include_emojis` boolean
  - `posts_to_generate` integer
  - `image_objects` object[]
  - `video_object` object
  - `team_id` string
  - `user_id` string
  - `video_prevent_text_in_video` boolean
  - `video_max_duration` integer
  - `video_splash_screen_object` object
  - `video_bgm_bucket_id` integer
  - `video_text_prefix` string
  - `video_text_suffix` string
  - `video_font_size` integer
  - `video_font_color` string
  - `video_stroke_width` number
  - `video_stroke_color` string
  - `video_shadow_strength` number
  - `video_shadow_blur` number
  - `video_highlight_current_word` boolean
  - `video_word_highlight_color` string
  - `video_padding` integer
  - `video_position` string
  - `video_caption_style` 'OPUS' | 'OPUS_BOX' | 'CLEAN' | 'NEON' | 'IMPACT' | 'LEGACY': An enumeration.
  - `video_narration_volume` number
  - `video_bgm_volume` number

## Response `200`

Successful Response

- PostIdeaProcessRead[]
  - `_id` string
  - `team_id` string
  - `user_id` string
  - `type` 'BY_PROMPT' | 'BY_INSTRUCTIONS' | 'BY_URL' | 'BY_IMAGES' | 'BY_VIDEO': An enumeration.
  - `prompt` string
  - `url` string
  - `use_knowledge_base` boolean
  - `knowledge_base_id` string
  - `voice_tone` 'POLITE' | 'WITTY' | 'ENTHUSIASTIC' | 'INFORMATIONAL' | 'FUNNY' | 'FORMAL' | 'INFORMAL' | 'HUMOROUS' | 'SERIOUS' | 'OPTIMISTIC' | 'MOTIVATING' | 'RESPECTFUL' | 'ASSERTIVE' | 'CONVERSATIONAL' | 'CASUAL' | 'PROFESSIONAL' | 'SMART' | 'NOSTALGIC' | 'FRIENDLY': An enumeration.
  - `image_model` 'Z_IMAGE' | 'DALLE' | 'FLUX_SCHNELL' | 'FLUX_DEV' | 'FLUX_PRO': An enumeration.
  - `image_prompt_llm_model` string
  - `word_count` integer
  - `generate_hashtags` boolean
  - `generate_image` boolean
  - `generate_video` boolean
  - `image_style` 'DEFAULT' | 'REALISM' | 'IMPRESSIONISM' | 'SURREALISM' | 'ABSTRACT' | 'ART_NOUVEAU' | 'CUBISM' | 'POP_ART' | 'FUTURISM' | 'FANTASY_CONCEPT_ART' | 'MINIMALISM' | 'WATERCOLOR' | 'GOTHIC_MEDIEVAL_ART' | 'ANIME' | 'COMIC': An enumeration.
  - `video_style` 'DEFAULT' | 'REALISM' | 'IMPRESSIONISM' | 'SURREALISM' | 'ABSTRACT' | 'ART_NOUVEAU' | 'CUBISM' | 'POP_ART' | 'FUTURISM' | 'FANTASY_CONCEPT_ART' | 'MINIMALISM' | 'WATERCOLOR' | 'GOTHIC_MEDIEVAL_ART' | 'ANIME' | 'COMIC': An enumeration.
  - `video_voice` string
  - `video_lang` string
  - `video_format` 'PORTRAIT' | 'WIDESCREEN' | 'SQUARE': An enumeration.
  - `include_emojis` boolean
  - `video_prevent_text_in_video` boolean
  - `video_max_duration` integer
  - `video_splash_screen_object` object
  - `video_text_prefix` string
  - `video_text_suffix` string
  - `video_font_size` integer
  - `video_font_color` string
  - `video_stroke_width` number
  - `video_stroke_color` string
  - `video_shadow_strength` number
  - `video_shadow_blur` number
  - `video_highlight_current_word` boolean
  - `video_word_highlight_color` string
  - `video_padding` integer
  - `video_position` string
  - `video_caption_style` 'OPUS' | 'OPUS_BOX' | 'CLEAN' | 'NEON' | 'IMPACT' | 'LEGACY': An enumeration.
  - `video_narration_volume` number
  - `video_bgm_volume` number
  - `video_bgm_bucket_id` integer
  - `image_objects` object[]
  - `video_object` object
  - `posts_to_generate` integer
  - `state` 'IN_PROGRESS' | 'COMPLETE' | 'ERROR': An enumeration.
  - `error` string
  - `is_deleted` boolean
  - `ignore_credit_count` boolean
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `404`: Not found
- `422`: Validation Error

---

[API](https://skmtc.dev/robopost/apis/robopost-api.md) · [All operations](https://skmtc.dev/robopost/apis/robopost-api/llms.txt) · [OpenAPI document](https://skmtc.dev/robopost/apis/robopost-api/revisions/46b1cafa8808?raw)
