Stories

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

Request

  • Base URL
    https://app.onlyfansapi.com
  • URL
    https://app.onlyfansapi.com/api/{account}/stories
  • Auth
    HTTP bearer

Request body

mediaFilesstring[] required

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

canvasWidthinteger

Canvas width overlay positions are relative to. Default 1080.

canvasHeightinteger

Canvas height overlay positions are relative to. Default 1920.

Example request

{
  "mediaFiles": [
    "ofapi_media_abc123",
    1234567890
  ],
  "texts": [
    []
  ],
  "question": {
    "text": "Ask me anything!",
    "color": "#FF51DC",
    "left": 25,
    "top": 30,
    "width": 257,
    "height": 160
  },
  "canvasWidth": 1080,
  "canvasHeight": 1920
}

Response

Success

Example response

{
  "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."
    }
  }
}

Changes

    • breaking

      the / response's property type changed from string to object for status

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      endpoint added