---
title: "Social media content API: 13 platforms, 44 formats"
description: "SocialForge is a social media content API. One call generates text, images and video for 13 platforms and 44 post formats. You then publish or schedule the result."
canonical: "https://laboetie.io/products/socialforge"
language: en
---
# SocialForge: social media content API

SocialForge is a social media content API that generates text, images and video from one call across 13 platforms and 44 post formats. It runs 18 image models and 16 language models. It publishes or schedules each post to connected accounts. Access is by request with one API key per client.

Status: Live. Access: By request. Publishes to 13 social platforms in one click.

## Capabilities

- 18 image models and more than 10 LLMs
- Processes photos in 50,400 unique combinations for visual consistency
- Generates carousels with typographic overlays
- Ships a React Native mobile app
- Offers a B2B API for enterprise clients

## Social platforms the API covers

SocialForge covers 13 platforms: Instagram, LinkedIn, X, Facebook, TikTok, YouTube, Pinterest, Reddit, Bluesky, Threads, Google Business, Telegram and Snapchat. The 44 platform and format pairs include an Instagram reel, a LinkedIn document and a TikTok photo carousel. A capabilities endpoint returns that full matrix with text limits, media rules and recommended dimensions, so an app validates its targets before it requests a generation.

## Generation of every format from one API call

One POST request names the targets, and the API answers at once with a generation id and a status URL. Generation then runs in the background. The client polls the status, or it supplies a webhook URL and receives the result on completion. A client can regenerate one target and leave an approved format unchanged.

## Image and language models

The catalogue holds 18 image models and 16 language models. A request names a model for one format, for one platform or for every target, and a request with no override uses the default of the format. The optional maxCostUsd field caps the estimated spend of a request. When the estimate goes over that ceiling, the API drops targets until the request fits and lists them in its response.

## Instagram visuals: 50,400 photographic treatments

The 50,400 combinations of the photographic treatment system come from 15 moods, 7 cameras, 10 colors, 8 lightings and 6 compositions. Instagram single posts use it to keep a consistent look across a feed. Carousels carry typographic overlays on their slides.

## Publishing and scheduling posts

SocialForge publishes through a third party publishing API once a client has connected its social accounts. A request with publishNow needs an account id for each platform, and a scheduled post takes a future date. Generation works without any connected account, so an app shows the drafts for review first and publishes afterwards.

## API access and rate limit

The external social routes allow 60 requests a minute per client. Each client authenticates with an API key in the X-API-Key header. Access is by request, so you send a brief to get a key. A React Native mobile app sits beside the API.


## What a social media content API does

A **social media content API** lets a program create posts for social networks. Your application sends an idea, an article or a topic. The API returns finished text, images and video in the format each network expects.

Two jobs often get confused. A publishing API takes a post you already made and sends it out. A content API creates the post in the first place. SocialForge does the creating and adds publishing through a connected service, so one call can cover the whole path.

This suits a product that needs social content as a feature, an agency serving many brands, or a team that wants posts generated from its own articles.

## One request, every format

A call names the content and the targets.

```json
{
  "content": "Why most small businesses overpay for insurance.",
  "targets": [
    { "platform": "instagram", "formats": ["feed", "carousel", "reel"] },
    { "platform": "tiktok", "formats": ["video"] },
    { "platform": "linkedin", "formats": ["text", "document"] },
    { "platform": "x", "formats": ["thread"] }
  ],
  "language": "en",
  "webhookUrl": "https://yourapp.example/webhooks/socialforge",
  "maxCostUsd": 10
}
```

The API validates the targets, estimates the cost and answers at once with a `202` status.

```json
{
  "generationId": "66a9...",
  "status": "processing",
  "targets": 7,
  "costEstimate": { "total": 8.04 },
  "statusUrl": "/api/apps/generation/66a9.../status"
}
```

Generation runs in the background. Your application polls the status URL or waits for the webhook. Targets run in parallel, four at a time.

## How the API plans a campaign

A tool that resizes one post for each network produces the same message everywhere. SocialForge plans the campaign first, so each platform carries its own part of the story. That plan stays with the generation, so a post regenerated later keeps its place.

## Platforms and formats

The content matrix is the source of truth for 13 platforms and 44 format pairs. `GET /api/v1/capabilities` returns all of it, so a client can build its interface from live data.

| Platform | Example formats | Sample limit |
|---|---|---|
| Instagram | Feed, carousel, story, reel | Reel: 9:16 video, 90 seconds, 2,200 characters of text |
| TikTok | Video, photo carousel | Photo carousel: up to 35 images |
| YouTube | Video, short | Short: 9:16, up to 3 minutes |
| LinkedIn | Text, image, carousel, document, video | Text: 3,000 characters |
| X | Tweet, thread | Short text limits per post |

Each format entry states its text limit, media rules, aspect ratios, required fields and default models. A wrong combination fails at validation, before any money is spent.

## Choosing models

You can leave model choice to the defaults, or set it per format, per platform or for the whole request. The catalogue holds 18 image models and 16 language models.

## What a generation costs

The API puts a price on a campaign before it runs. You get an estimate per target, and you can stop there. Video usually takes most of the bill.

`maxCostUsd` sets a hard ceiling. When an estimate runs over, targets are removed and the response lists them. Each finished generation carries a cost audit with the estimate, the actual cost and what was dropped.

## Regenerate one target

You can redo one weak reel and leave the rest of the campaign as it is. One call reruns a single target.

```bash
POST /api/v1/generations/:id/regenerate/instagram.reel
```

```json
{ "models": { "video": "veo-3.1" }, "durationSec": 25 }
```

The stored strategy stays in place, so the post keeps its role in the arc. The response returns the new result and the cost difference.

## Publishing and scheduling

SocialForge publishes through a third party publishing service, once a client has connected its social accounts.

| Mode | How |
|---|---|
| Review first | `publishNow: false`, and your application shows the results |
| Immediate | `publishNow: true` with an account id per platform |
| Scheduled | A future `scheduledAt` date |

Most teams should keep a person in the review step, especially on regulated subjects. Generated text can contain errors, and a brand carries the responsibility for what it posts.

Analytics from the publishing service can be stored against each post after 24 hours and 7 days.  Your application then has data to compare what worked. 

## Authentication and limits

Each client authenticates with an API key in the `X-API-Key` header. External social routes allow 60 requests a minute per client. You request a key by sending a brief.

| Item | Value |
|---|---|
| Platforms | 13 |
| Format pairs | 44 |
| Image models | 18 |
| Language models | 16 |
| Parallel targets per generation | 4 |
| Default cost ceiling | $10 |
| Rate limit | 60 requests a minute per client |

## Receiving results by webhook

Polling works for a small tool. A product should use `webhookUrl`, so results arrive when ready. A worker on your side then has a clear flow.

1. Store the `generationId` with your own record.
2. Show the post as processing.
3. When the webhook arrives, read each entry in `outputs`.
4. Save the text and media URLs, then show them for review.
5. Offer a regenerate action per target.

Each output entry holds the target key, the text and its media URLs. 

## A worked example

An agency publishes one article a week for a client and wants four posts from it.

| Target | Output |
|---|---|
| `instagram.carousel` | Slides with the main points |
| `linkedin.text` | A long post with the argument |
| `x.thread` | A short thread |
| `tiktok.video` | A short vertical video |

Without video, the three text and image targets stay cheap. The video target usually takes most of the bill, so the agency can test the three first, then add video to the articles that perform. `maxCostUsd` protects the account when a request grows.

## Input quality

The API works from what you send. A vague topic gives a vague post.

| Weak input | Stronger input |
|---|---|
| "Post about insurance" | The full article, with its figures |
| No brand details | Brand name and audience |
| No language | `language` set to the audience's language |

Check each figure in generated text against your source. On regulated subjects, keep a legal reviewer in the loop.

## Content API, scheduler or template workflow

| Tool | Creates content? | Publishes? | Best for |
|---|---|---|---|
| Social scheduler | Sometimes, as a helper | Yes | A team that posts by hand |
| Publishing API | No | Yes | A product with its own content |
| Workflow template | With your own wiring | With your own wiring | A one off automation |
| SocialForge | Yes, every format | Yes, through a connected service | A product or agency generating at volume |

A small business posting twice a week will be better served by a scheduler. SocialForge makes sense when content generation is part of a product, or when many brands run through one system.

## Keeping a brand consistent

Brand details travel with the call, so text and images share a voice across every format.

## What each network rewards

Each platform has its own habits, so the same post rarely works everywhere.

| Network | Works well | Common mistake |
|---|---|---|
| LinkedIn | A clear point of view and a useful lesson | Corporate announcements |
| Instagram | Strong visuals and carousels that teach | A wall of text on one image |
| TikTok | A hook in the first seconds | A slow branded intro |
| X | Short takes and threads | Links with no context |
| YouTube | Search friendly titles and depth | Vague titles |
| Reddit | Honest answers in the right community | Promotion dressed as advice |
| Pinterest | Evergreen ideas with a vertical image | Short lived news |

These habits change, so read your own numbers and adjust.

## A reliable content workflow

1. Start from a source your team trusts: an article, a report or a customer question.
2. Generate one campaign and read it through.
3. Correct facts and tone.
4. Schedule the posts across a few days.
5. Read performance after 24 hours and after a week.
6. Feed what worked into the next brief.

Volume alone rarely helps. A few strong posts on a steady schedule tend to outperform a daily stream nobody reads.

## Rights and disclosure

| Topic | What to check |
|---|---|
| Generated people | Do they resemble a real person? |
| Brand names and logos | Do you hold the rights to show them? |
| Music | Is the track cleared for commercial use? |
| AI labels | Does the platform or your country require a label? |
| Regulated claims | Finance, health and legal claims need review |

Platform rules on AI content differ and they change, so check them before a large campaign.

## Build it or use an API

| Question | Build in house | Use an API |
|---|---|---|
| Time to first post | Months | Days |
| Platform rule changes | Your team tracks them | Handled for you |
| Model upgrades | Your team tests them | Handled for you |
| Control | Total | Within the options offered |
| Fit | Content is your core product | Content is a feature |

## Metrics that matter on social

| Goal | Measure | Avoid |
|---|---|---|
| Reach new people | Reach and shares | Follower count alone |
| Build trust | Saves, comments and replies | Likes alone |
| Bring traffic | Clicks and site sessions | Impressions alone |
| Win customers | Leads tagged by source | Vanity totals |

Tag your links with UTM parameters, so your analytics shows which posts bring visits.

## How much to post

Choose a rhythm your team can review. Two or three good posts a week on one or two networks gives you enough data to learn from. Add a network once the first one works, since each adds review time.

## Glossary

| Term | Meaning |
|---|---|
| Carousel | A post made of several slides |
| Reel or short | A brief vertical video |
| Thread | A series of linked short posts |
| Hook | The opening line or seconds |
| Aspect ratio | The shape of an image or video |

## A review checklist for generated posts

- Every figure matches the source.
- Names, products and prices are correct.
- The tone fits your brand.
- Images show nothing misleading.
- Links work and carry their tags.
- Regulated claims have been approved.

A person with the source next to them can do this in minutes per post.

## Next step

[Send a brief](https://laboetie.io/brief) with your platforms, your monthly volume and whether you need publishing. Long form content for the same brands can come from [Cortex](https://laboetie.io/products/cortex), and [Images](https://laboetie.io/products/images) handles delivery of stored media.


## Frequently asked questions

### What is a social media content API?

A social media content API is a web service that generates posts, captions and images for social networks from a program. SocialForge works this way: a single POST request generates content for up to 44 platform and format pairs across 13 platforms. A marketing tool or a back office calls it and receives finished drafts with no design step in between.

### Can one API publish to Instagram, LinkedIn and TikTok at once?

Yes. A single SocialForge request targets several formats on each of Instagram, LinkedIn, TikTok and ten other platforms. The API generates one version per format and applies the text limits and media rules of each platform. Publishing at once needs a connected account for each platform. A scheduled post takes a future date.

### How many AI models does SocialForge use?

The SocialForge catalogue holds 18 image models and 16 language models. A request names a model for one format, for one platform or for every target, per media type. A request with no override uses the default model of the format. The response lists the estimated text, image, video and audio cost of each target.

### Can SocialForge generate Instagram and LinkedIn carousels?

Yes. Carousels are formats of the content matrix on Instagram and LinkedIn, and TikTok has a photo carousel format. SocialForge generates the slide text and images and adds typographic overlays. A client regenerates a single target of a generation and leaves the others as they are, so an approved carousel stays intact.

### How do I control what a generation costs?

The maxCostUsd field sets a ceiling on the estimated spend of one request. SocialForge computes a cost estimate per target and per media type before it starts. When the estimate goes over the ceiling, the API drops targets until the request fits and returns them in abortedTargets. The client then sees which formats did not run.

### Is the SocialForge API open to anyone?

No. Access to SocialForge is by request. Each client authenticates with its own API key in the X-API-Key header. The external social routes allow 60 requests a minute per client. A React Native mobile app sits beside the API. To request access, send us a brief from this page.
