> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Virality API Overview

> Get started with the Base44 Virality API

<Note>
  The Virality API is in beta. Its endpoints and responses may change.
</Note>

The Virality API generates social content that promotes an app. Base44 reads the app, asks you a few questions about how you want to promote it, turns your answers into a content strategy, and writes a set of posts and images for each platform you approve.

## Prerequisites

* A personal API key. See [Authentication](/developers/references/app-management/get-started/authentication) to get one. These endpoints share the App Management API's `api_key` header and base URL.
* An app you can edit, and workspace credit quota for the endpoints that charge.

## App ID

Endpoints that act on a specific app include the app's ID in the URL path as `app_id`.

**To get your app ID:**

1. Go to [app.base44.com](https://app.base44.com/).
2. Open your app in the app editor.
3. Copy the app ID from the editor URL: `"https://app.base44.com/apps/<app_id>/editor"`.

## The flow

The endpoints run in order, and most of them fail with a 409 when the app has not reached the stage they need.

1. [Start social content flow](/api-reference/start-social-content-flow) analyzes the app and returns 2 or 3 questions.
2. [Submit answers](/api-reference/submit-answers) turns your answers into a content strategy.
3. [Refine content strategy](/api-reference/refine-content-strategy) rewrites that strategy from your feedback, as many times as you need.
4. [Generate content plan](/api-reference/generate-content-plan) writes the posts for every platform you approved.
5. [Refine a post](/api-reference/refine-a-post) and [Update post content](/api-reference/update-post-content) change a single post, and [Generate a post image](/api-reference/generate-a-post-image) makes its image.

[Get social content state](/api-reference/get-social-content-state) returns where the app is at any point. An app that never started the flow reports a `stage` of `idle` rather than a 404. [Reset social content flow](/api-reference/reset-social-content-flow) clears everything so you can start over.

<Warning>
  Refining the strategy discards the app's existing content plan, including every post and every generated image. Refine before you generate a plan, not after.
</Warning>

## Generation is slow, and images finish later

[Generate content plan](/api-reference/generate-content-plan) runs the whole generation inline, one language model call per platform plus the first platform's images, so it can take **several minutes** with 3 platforms. Use a long client timeout.

Only the first platform's images are generated inline. Poll [Get social content state](/api-reference/get-social-content-state) after the call returns to pick up the remaining `image_url` values as they finish.

## Credits

Generating a content plan costs 10 credits. Refining a post and generating an image cost 1 credit each. Reading state, updating a post's text, starting the flow, and working on the strategy cost nothing. An endpoint that charges fails with a 402 when the workspace is out of quota, and a reset does not refund credits already spent.

## Rate limits

The social content endpoints share a limit of 15 requests per minute per app.
