OnlyFans API
OnlyFansStories

Add to Story

Post a new media or vault file to your story, optionally with text overlays, @mentions, and a question sticker. Overlay elements are rendered by OnlyFans on top of your story media at view time.

POST
/api/{account}/stories
AuthorizationBearer <token>

Get your API Key from OnlyFansAPI Console - https://app.onlyfansapi.com/api-keys

In: header

Path Parameters

account*string

The Account ID

Request Body

application/json

mediaFiles*array<string>

Array of media file upload prefixed_ids, or OF vault media IDs.

texts?

Text and @mention overlays.

question?

Interactive question sticker viewers can answer.

canvasWidth?integer

Canvas width overlay positions are relative to. Default 1080.

canvasHeight?integer

Canvas height overlay positions are relative to. Default 1920.

Response Body

application/json

curl -X POST "https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/stories" \  -H "Content-Type: application/json" \  -d '{    "mediaFiles": [      "ofapi_media_abc123",      1234567890    ]  }'
{
  "data": {
    "id": 123,
    "userId": 123,
    "isReady": false,
    "hasPost": false,
    "isWatched": false,
    "media": [
      {
        "id": 123,
        "type": "photo",
        "convertedToVideo": false,
        "canView": true,
        "hasError": false,
        "createdAt": "2025-01-01T01:01:01+00:00",
        "isReady": false,
        "files": {
          "full": {
            "url": null,
            "width": 0,
            "height": 0,
            "size": 0,
            "sources": []
          },
          "thumb": null,
          "preview": null,
          "squarePreview": null
        },
        "duration": 0,
        "hasCustomPreview": false
      }
    ],
    "createdAt": "2025-01-01T01:01:01+00:00",
    "canvasWidth": 1080,
    "canvasHeight": 1920,
    "question": {
      "entity": {
        "id": 123,
        "text": "Ask me anything!",
        "createdAt": "2025-01-01T01:01:01+00:00"
      },
      "type": "question",
      "positions": {
        "zIndex": 7,
        "x": null,
        "y": null,
        "top": 30,
        "left": 25,
        "width": 257,
        "height": 160,
        "angle": 0,
        "color": "#FF51DC"
      }
    },
    "texts": [
      {
        "text": "New drop today!",
        "type": "text",
        "users": [],
        "scale": 1,
        "textAlign": "left",
        "textWidth": 181,
        "textHeight": 41.2,
        "color": "#FFFFFF",
        "bgColor": "#FF51DC",
        "fontFamily": "ShantellSans",
        "fontStyle": null,
        "fontWeight": 400,
        "top": 60,
        "left": 25,
        "angle": 0,
        "fontSize": "24px",
        "zIndex": 8
      },
      {
        "text": "<a href=\"/username\">@username</a>",
        "type": "mention",
        "users": [
          {
            "view": "stv",
            "id": 124,
            "name": "Example Creator",
            "username": "username",
            "isVerified": true,
            "isDeleted": false,
            "isActive": true,
            "avatar": null,
            "avatarThumbs": null
          }
        ],
        "scale": 1,
        "textAlign": "left",
        "textWidth": 145,
        "textHeight": 37,
        "color": "#0091EA",
        "bgColor": "#ffffff",
        "fontFamily": "Roboto",
        "fontStyle": null,
        "fontWeight": 500,
        "top": 48,
        "left": 25,
        "angle": 0,
        "fontSize": "20px",
        "zIndex": 9
      }
    ],
    "viewersCount": 0,
    "viewers": [],
    "commentsCount": 0,
    "canDelete": true,
    "isHighlightCover": false,
    "isLastInHighlight": false,
    "tipsAmount": "$0",
    "tipsAmountRaw": 0,
    "tipsCount": 0,
    "likesCount": 0,
    "releaseForms": [
      {
        "id": 124,
        "name": "Example Creator",
        "partnerSource": "text",
        "type": "user",
        "user": {
          "view": "tu",
          "id": 124,
          "name": "Example Creator",
          "username": "username",
          "isIdentityVerified": true,
          "ivStatus": "approved",
          "isFromGuest": false,
          "avatar": null,
          "avatarThumbs": null
        }
      }
    ]
  },
  "_meta": {
    "_credits": {
      "used": 1,
      "balance": 1000999771,
      "note": "Always"
    },
    "_cache": {
      "is_cached": false,
      "note": "Cache disabled for this endpoint"
    },
    "_rate_limits": {
      "limit_minute": 5000,
      "limit_day": null,
      "remaining_minute": 4995,
      "remaining_day": null,
      "notice": "We have decided to remove our daily rate limits. Please remove any references to these in your integrations."
    }
  }
}