---
title: "Generate AI captions"
method: POST
path: "/api/v1/captions"
tags: ["AI"]
---

# Generate AI captions

`POST /api/v1/captions`

## Request

- Base URL: `https://storylayer.ai`
- URL: `https://storylayer.ai/api/v1/captions`
- Auth: HTTP bearer

Generate AI captions

## Request body

- GenerateCaptionRequest
  - `projectId` string, uuid
  - `channel` 'instagram' | 'facebook' | 'x' | 'linkedin' | 'pinterest' | 'ghost' | 'threads'
  - `topic` string
  - `tone` 'casual' | 'professional' | 'urgent' | 'inspiring' | 'playful'

## Response `200`

Success

- CaptionResponse
  - `caption` string
  - `hashtags` string
  - `channel` string

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `429`: Rate limited

---

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