---
title: "POST /v2/content/create"
method: POST
path: "/v2/content/create"
tags: ["v2"]
---

# POST /v2/content/create

`POST /v2/content/create`

## Request

- Base URL: `https://api.inside.ad/api`
- URL: `https://api.inside.ad/api/v2/content/create`
- Auth: API key in header `authorization`

Creates AND (optionally) publishes a post to one of the user's own connected posting platforms, in a single call. This is the ONLY operation needed for posting — legacy /collab/content/* endpoints are not exposed here. BEFORE calling this, find the user's available channel(s) (e.g. via "list_channels") and, if there is more than one, ask the user which to use. For platform, use "telegram" unless the user explicitly asks about Instagram or Threads. Gather from the user: the caption/text they want (or an idea/topic if they want you to write it), whether they want an AI-generated image attached ("generateImage": true) or no image at all, and when it should go out — "immediate" to publish it right now (this call will trigger the actual publish before returning), "manual" with an "eventAt" ISO datetime to schedule it for a specific time, "next_slot" to drop it into the account's next free auto-posting slot, or "draft" to just save it without publishing so it can be edited/sent later. If "generateImage" is true, this call will synchronously generate the image before returning (can take up to ~30s) and attach it to the post. The response tells you exactly what happened: "content" is the saved post, "imageGenerated"/"imageError" report the image step, and "published"/"publishError" report whether it was actually sent out immediately. If publishing fails (e.g. platform not ready), tell the user and suggest they check their channel connection.

## Query parameters

- `userId` number, required

## Request body

- object
  - `platform` 'instagram' | 'threads' | 'telegram', required: Which platform to post to — use "telegram" unless the user explicitly means Instagram or Threads
  - `channelId` string, required: The channelId to post to, from the "list_channels" tool
  - `caption` string, nullable: Post text/caption. Provide the exact text the user wants to post.
  - `idea` string, nullable: Short idea/topic — used as the prompt hint if "generateImage" is true and no caption is given yet
  - `generateImage` boolean, nullable: Set true to have InsideAds AI-generate an image for this post right now (based on "caption"/"idea"). Set false/omit if the user does not want an image, or already has their own media (raw file uploads are not supported through this API).
  - `imageModel` string, nullable: Optional specific image model name; omit to use the account default
  - `aspectRatio` string, nullable: e.g. "1:1", "4:5", "9:16" — only used when generateImage is true
  - `scheduleType` 'draft' | 'next_slot' | 'manual' | 'immediate', required: "immediate" to publish right now (this call will publish before returning). "manual" + "eventAt" to schedule a specific time. "next_slot" to auto-schedule into the next free posting slot. "draft" to just save without publishing/scheduling.
  - `eventAt` string, date-time, nullable: Explicit publish date/time in ISO 8601 — required when scheduleType is "manual"
  - `buttons` string, nullable: Optional JSON string: [[{text, url}]] for inline link buttons under the post
  - `disable_notification` boolean, nullable: Default: false
  - `disable_link_preview` boolean, nullable: Default: true

## Response `200`

Default Response

- object
  - `success` boolean
  - `createdId` number
  - `content` object
    - `id` number
    - `caption` string, nullable
    - `image_path` string, nullable
    - `eventAt` string, nullable
    - `status` string
    - `channelId` string
    - `platform` string
  - `imageGenerated` boolean
  - `imageError` string, nullable
  - `published` boolean
  - `publishError` string, nullable

---

[API](https://skmtc.dev/inside/apis/inside-ad-api-documentation-v2-ai-optimized.md) · [All operations](https://skmtc.dev/inside/apis/inside-ad-api-documentation-v2-ai-optimized/llms.txt) · [OpenAPI document](https://skmtc.dev/inside/apis/inside-ad-api-documentation-v2-ai-optimized/revisions/79912b433f7f?raw)
