API resource

Validation

Check content before you post it. These endpoints never publish anything.

Check caption length

POST/v1/tools/validate/post-length

Works on: Instagram, TikTok, YouTube, X, Threads, Facebook, LinkedIn

Weighted character count against every network’s limit (X counts links and emoji differently, for example).

Body

textstringrequired

The caption to check.

curl -X POST "https://creatoros-production-5658.up.railway.app/v1/tools/validate/post-length" \
  -H "Authorization: Bearer $CREATOROS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Three hooks that doubled my watch time 👇 https://example.com"
  }'
Response 200
{
  "text": "Three hooks that doubled my watch time 👇 https://example.com",
  "platforms": {
    "twitter": {
      "count": 64,
      "limit": 280,
      "valid": true
    },
    "instagram": {
      "count": 60,
      "limit": 2200,
      "valid": true
    },
    "threads": {
      "count": 60,
      "limit": 500,
      "valid": true
    }
  }
}

Validate a post

POST/v1/tools/validate/post

Works on: Instagram, TikTok, YouTube, X, Threads, Facebook, LinkedIn

Dry-runs a post against each target network’s rules: errors for anything that would fail, warnings for content near a limit.

Body

platformsobject[]required

Targets, same shape as advanced Create a post.

contentstring

Caption.

mediaItemsobject[]

[{ type, url }] media to check.

curl -X POST "https://creatoros-production-5658.up.railway.app/v1/tools/validate/post" \
  -H "Authorization: Bearer $CREATOROS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Three hooks that doubled my watch time 👇",
    "platforms": [
      {
        "platform": "instagram",
        "accountId": "acc_uwsum2TkX6QB7M2BWX_F2kYykNTaWuC3V2Spge_Xm4r"
      }
    ]
  }'
Response 200
{
  "valid": false,
  "errors": [
    {
      "platform": "instagram",
      "error": "Instagram posts require at least one image or video."
    }
  ],
  "warnings": []
}

Validate media

POST/v1/tools/validate/media

Works on: Instagram, TikTok, YouTube, X, Threads, Facebook, LinkedIn

Checks a media URL is reachable and within each network’s size limits.

Body

urlurlrequired

A public media URL (Creator OS media URLs work).

curl -X POST "https://creatoros-production-5658.up.railway.app/v1/tools/validate/media" \
  -H "Authorization: Bearer $CREATOROS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://creatoros-production-5658.up.railway.app/v1/media/med_b0Wq7Yx2Rk9LzT4nVs1Pc8Hf3Jd6Gm5Ea2Uo7Ki9Nr0.mp4"
  }'
Response 200
{
  "valid": true,
  "url": "https://creatoros-production-5658.up.railway.app/v1/media/med_b0Wq7Yx2Rk9LzT4nVs1Pc8Hf3Jd6Gm5Ea2Uo7Ki9Nr0.mp4",
  "contentType": "video/mp4",
  "size": 18234567
}