@@ -13,21 +13,308 @@ class StoryCreateParams < Onlyfans::Internal::Type::BaseModel
1313 required :account , String
1414
1515 # @!attribute media_files
16- # Array of media file upload prefixed_ids, or OF media IDs (required if price is
17- # not 0).
16+ # Array of media file upload prefixed_ids, or OF vault media IDs.
1817 #
1918 # @return [Array<String>]
2019 required :media_files , Onlyfans ::Internal ::Type ::ArrayOf [ String ] , api_name : :mediaFiles
2120
22- # @!method initialize(account:, media_files:, request_options: {})
23- # Some parameter documentations has been truncated, see
24- # {Onlyfans::Models::StoryCreateParams} for more details.
21+ # @!attribute canvas_height
22+ # Canvas height overlay positions are relative to. Default `1920`.
2523 #
24+ # @return [Integer, nil]
25+ optional :canvas_height , Integer , api_name : :canvasHeight
26+
27+ # @!attribute canvas_width
28+ # Canvas width overlay positions are relative to. Default `1080`.
29+ #
30+ # @return [Integer, nil]
31+ optional :canvas_width , Integer , api_name : :canvasWidth
32+
33+ # @!attribute question
34+ # Interactive question sticker viewers can answer.
35+ #
36+ # @return [Onlyfans::Models::StoryCreateParams::Question, nil]
37+ optional :question , -> { Onlyfans ::StoryCreateParams ::Question }
38+
39+ # @!attribute texts
40+ # Text and @mention overlays.
41+ #
42+ # @return [Array<Onlyfans::Models::StoryCreateParams::Text>, nil]
43+ optional :texts , -> { Onlyfans ::Internal ::Type ::ArrayOf [ Onlyfans ::StoryCreateParams ::Text ] }
44+
45+ # @!method initialize(account:, media_files:, canvas_height: nil, canvas_width: nil, question: nil, texts: nil, request_options: {})
2646 # @param account [String]
2747 #
28- # @param media_files [Array<String>] Array of media file upload prefixed_ids, or OF media IDs (required if price is n
48+ # @param media_files [Array<String>] Array of media file upload prefixed_ids, or OF vault media IDs.
49+ #
50+ # @param canvas_height [Integer] Canvas height overlay positions are relative to. Default `1920`.
51+ #
52+ # @param canvas_width [Integer] Canvas width overlay positions are relative to. Default `1080`.
53+ #
54+ # @param question [Onlyfans::Models::StoryCreateParams::Question] Interactive question sticker viewers can answer.
55+ #
56+ # @param texts [Array<Onlyfans::Models::StoryCreateParams::Text>] Text and @mention overlays.
2957 #
3058 # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}]
59+
60+ class Question < Onlyfans ::Internal ::Type ::BaseModel
61+ # @!attribute color
62+ # Sticker accent color (hex). Default `#FF51DC`.
63+ #
64+ # @return [String, nil]
65+ optional :color , String
66+
67+ # @!attribute height
68+ # Sticker height in canvas px. Default `160`.
69+ #
70+ # @return [Float, nil]
71+ optional :height , Float
72+
73+ # @!attribute left
74+ # Horizontal position as a percentage of the canvas width (0-100). Default `25`.
75+ #
76+ # @return [Float, nil]
77+ optional :left , Float
78+
79+ # @!attribute text
80+ # The question to ask.
81+ #
82+ # @return [String, nil]
83+ optional :text , String
84+
85+ # @!attribute top
86+ # Vertical position as a percentage of the canvas height (0-100). Default `30`.
87+ #
88+ # @return [Float, nil]
89+ optional :top , Float
90+
91+ # @!attribute width
92+ # Sticker width in canvas px. Default `257`.
93+ #
94+ # @return [Float, nil]
95+ optional :width , Float
96+
97+ # @!method initialize(color: nil, height: nil, left: nil, text: nil, top: nil, width: nil)
98+ # Interactive question sticker viewers can answer.
99+ #
100+ # @param color [String] Sticker accent color (hex). Default `#FF51DC`.
101+ #
102+ # @param height [Float] Sticker height in canvas px. Default `160`.
103+ #
104+ # @param left [Float] Horizontal position as a percentage of the canvas width (0-100). Default `25`.
105+ #
106+ # @param text [String] The question to ask.
107+ #
108+ # @param top [Float] Vertical position as a percentage of the canvas height (0-100). Default `30`.
109+ #
110+ # @param width [Float] Sticker width in canvas px. Default `257`.
111+ end
112+
113+ class Text < Onlyfans ::Internal ::Type ::BaseModel
114+ # @!attribute text
115+ # The overlay text. For mentions this must be the `@username` to mention (OnlyFans
116+ # resolves the user and adds them to the story's release forms).
117+ #
118+ # @return [String]
119+ required :text , String
120+
121+ # @!attribute angle
122+ # Rotation in degrees. Default `0`.
123+ #
124+ # @return [Float, nil]
125+ optional :angle , Float
126+
127+ # @!attribute bg_color
128+ # Background color (hex, `#00000000` = transparent). Native editor palette:
129+ # #FFFFFF #000000 #69818C #FF51DC #FF4081 #FA3240 #FF8040 #FCA800 #70CF27 #00C864
130+ # #00B1CC #2196F3 #7953F5 #A832BF. Default: transparent for texts, white for
131+ # mentions.
132+ #
133+ # @return [String, nil]
134+ optional :bg_color , String , api_name : :bgColor
135+
136+ # @!attribute color
137+ # Text color (hex). Defaults to the native editor behavior: white on a colored
138+ # background, black on a white background (mentions: OnlyFans blue `#0091EA` on
139+ # white).
140+ #
141+ # @return [String, nil]
142+ optional :color , String
143+
144+ # @!attribute font_family
145+ # Font family. Families support specific weights only: Roboto (400/500/700),
146+ # PTMono (400), ShantellSans (400), SofiaSans (400, renders uppercase),
147+ # YanoneKaffeesatz (700), RubikMedium (500), RubikBlack (700). Default `Roboto`.
148+ # Ignored for mentions (always Roboto 500).
149+ #
150+ # @return [Symbol, Onlyfans::Models::StoryCreateParams::Text::FontFamily, nil]
151+ optional :font_family ,
152+ enum : -> {
153+ Onlyfans ::StoryCreateParams ::Text ::FontFamily
154+ } ,
155+ api_name : :fontFamily
156+
157+ # @!attribute font_size
158+ # Font size in canvas px (8-100). The native editor uses 9-36. Default `20`.
159+ #
160+ # @return [Float, nil]
161+ optional :font_size , Float , api_name : :fontSize
162+
163+ # @!attribute font_weight
164+ # Font weight; must match the chosen family (see `fontFamily`).
165+ #
166+ # @return [Integer, Onlyfans::Models::StoryCreateParams::Text::FontWeight, nil]
167+ optional :font_weight ,
168+ enum : -> {
169+ Onlyfans ::StoryCreateParams ::Text ::FontWeight
170+ } ,
171+ api_name : :fontWeight
172+
173+ # @!attribute left
174+ # Horizontal position as a percentage of the canvas width (0-100). Default `25`.
175+ #
176+ # @return [Float, nil]
177+ optional :left , Float
178+
179+ # @!attribute scale
180+ # Scale factor. Default `1`.
181+ #
182+ # @return [Float, nil]
183+ optional :scale , Float
184+
185+ # @!attribute text_align
186+ # Text alignment. Default `left`.
187+ #
188+ # @return [Symbol, Onlyfans::Models::StoryCreateParams::Text::TextAlign, nil]
189+ optional :text_align , enum : -> { Onlyfans ::StoryCreateParams ::Text ::TextAlign } , api_name : :textAlign
190+
191+ # @!attribute text_height
192+ # Rendered text box height in canvas px. Estimated automatically when omitted.
193+ #
194+ # @return [Float, nil]
195+ optional :text_height , Float , api_name : :textHeight
196+
197+ # @!attribute text_width
198+ # Rendered text box width in canvas px. Estimated automatically when omitted.
199+ #
200+ # @return [Float, nil]
201+ optional :text_width , Float , api_name : :textWidth
202+
203+ # @!attribute top
204+ # Vertical position as a percentage of the canvas height (0-100). Defaults stagger
205+ # each overlay below the previous one.
206+ #
207+ # @return [Float, nil]
208+ optional :top , Float
209+
210+ # @!attribute type
211+ # Overlay type. Default `text`.
212+ #
213+ # @return [Symbol, Onlyfans::Models::StoryCreateParams::Text::Type, nil]
214+ optional :type , enum : -> { Onlyfans ::StoryCreateParams ::Text ::Type }
215+
216+ # @!attribute z_index
217+ # Stacking order. Defaults to placement order.
218+ #
219+ # @return [Integer, nil]
220+ optional :z_index , Integer , api_name : :zIndex
221+
222+ # @!method initialize(text:, angle: nil, bg_color: nil, color: nil, font_family: nil, font_size: nil, font_weight: nil, left: nil, scale: nil, text_align: nil, text_height: nil, text_width: nil, top: nil, type: nil, z_index: nil)
223+ # Some parameter documentations has been truncated, see
224+ # {Onlyfans::Models::StoryCreateParams::Text} for more details.
225+ #
226+ # @param text [String] The overlay text. For mentions this must be the `@username` to mention (OnlyFans
227+ #
228+ # @param angle [Float] Rotation in degrees. Default `0`.
229+ #
230+ # @param bg_color [String] Background color (hex, `#00000000` = transparent). Native editor palette: #FFFFF
231+ #
232+ # @param color [String] Text color (hex). Defaults to the native editor behavior: white on a colored bac
233+ #
234+ # @param font_family [Symbol, Onlyfans::Models::StoryCreateParams::Text::FontFamily] Font family. Families support specific weights only: Roboto (400/500/700), PTMon
235+ #
236+ # @param font_size [Float] Font size in canvas px (8-100). The native editor uses 9-36. Default `20`.
237+ #
238+ # @param font_weight [Integer, Onlyfans::Models::StoryCreateParams::Text::FontWeight] Font weight; must match the chosen family (see `fontFamily`).
239+ #
240+ # @param left [Float] Horizontal position as a percentage of the canvas width (0-100). Default `25`.
241+ #
242+ # @param scale [Float] Scale factor. Default `1`.
243+ #
244+ # @param text_align [Symbol, Onlyfans::Models::StoryCreateParams::Text::TextAlign] Text alignment. Default `left`.
245+ #
246+ # @param text_height [Float] Rendered text box height in canvas px. Estimated automatically when omitted.
247+ #
248+ # @param text_width [Float] Rendered text box width in canvas px. Estimated automatically when omitted.
249+ #
250+ # @param top [Float] Vertical position as a percentage of the canvas height (0-100). Defaults stagger
251+ #
252+ # @param type [Symbol, Onlyfans::Models::StoryCreateParams::Text::Type] Overlay type. Default `text`.
253+ #
254+ # @param z_index [Integer] Stacking order. Defaults to placement order.
255+
256+ # Font family. Families support specific weights only: Roboto (400/500/700),
257+ # PTMono (400), ShantellSans (400), SofiaSans (400, renders uppercase),
258+ # YanoneKaffeesatz (700), RubikMedium (500), RubikBlack (700). Default `Roboto`.
259+ # Ignored for mentions (always Roboto 500).
260+ #
261+ # @see Onlyfans::Models::StoryCreateParams::Text#font_family
262+ module FontFamily
263+ extend Onlyfans ::Internal ::Type ::Enum
264+
265+ ROBOTO = :Roboto
266+ PT_MONO = :PTMono
267+ SHANTELL_SANS = :ShantellSans
268+ SOFIA_SANS = :SofiaSans
269+ YANONE_KAFFEESATZ = :YanoneKaffeesatz
270+ RUBIK_MEDIUM = :RubikMedium
271+ RUBIK_BLACK = :RubikBlack
272+
273+ # @!method self.values
274+ # @return [Array<Symbol>]
275+ end
276+
277+ # Font weight; must match the chosen family (see `fontFamily`).
278+ #
279+ # @see Onlyfans::Models::StoryCreateParams::Text#font_weight
280+ module FontWeight
281+ extend Onlyfans ::Internal ::Type ::Enum
282+
283+ FONT_WEIGHT_400 = 400
284+ FONT_WEIGHT_500 = 500
285+ FONT_WEIGHT_700 = 700
286+
287+ # @!method self.values
288+ # @return [Array<Integer>]
289+ end
290+
291+ # Text alignment. Default `left`.
292+ #
293+ # @see Onlyfans::Models::StoryCreateParams::Text#text_align
294+ module TextAlign
295+ extend Onlyfans ::Internal ::Type ::Enum
296+
297+ LEFT = :left
298+ CENTER = :center
299+ RIGHT = :right
300+
301+ # @!method self.values
302+ # @return [Array<Symbol>]
303+ end
304+
305+ # Overlay type. Default `text`.
306+ #
307+ # @see Onlyfans::Models::StoryCreateParams::Text#type
308+ module Type
309+ extend Onlyfans ::Internal ::Type ::Enum
310+
311+ TEXT = :text
312+ MENTION = :mention
313+
314+ # @!method self.values
315+ # @return [Array<Symbol>]
316+ end
317+ end
31318 end
32319 end
33320end
0 commit comments