PageSourceSearch

https://www.storyframe.app/en/how-it-works

html storyframe.app collected 2026-10-02 01:15:02 UTC 36,750 bytes, 1,062 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US">
3	<head><meta name="generator" content="ideal.shop"><meta charset="utf-8">
4							<meta name="viewport" content="width=device-width, initial-scale=1">
5				<meta property="og:type" content="website">
6					<meta property="og:title" content="How it works | Storyframe">
7					<meta property="og:url" content="https://www.storyframe.app/en/how-it-works">
8					<meta property="og:image" content="https://cdn-main.ideal.shop/images/by_hash/178e7aca2f0978c43a2c159f673993511388ad2ea67f35198433c58667c79e4d/1200-0/susan-q-yin-10xingmjT0A-unsplash.jpg">
9					<meta property="og:image:width" content="1199">
10					<meta property="og:image:height" content="790">
11				<meta property="og:locale" content="en-US">
12					<link rel="canonical" href="https://www.storyframe.app/en/how-it-works">
13							<link 
14	rel="alternate"
15	hreflang="en-US"
16	href="https://www.storyframe.app/en/how-it-works" />
17<link 
18	rel="alternate"
19	hreflang="da-DK"
20	href="https://www.storyframe.app/hvordan-virker-det" />
21<link 
22	rel="alternate"
23	hreflang="en"
24	href="https://www.storyframe.app/eu/how-it-works" />
25
26				
27	<link rel="shortcut icon" type="image/x-icon" href="https://cdn-main.ideal.shop/images/by_hash/0438d46d405c71e04df70facf7bc157ae4bce4e22804e04ea95cc9fee527d395/180-180/65660437b16b6b3ee853adc893ee557a03bb6822c0a506e63f0edc8e05b1f98a__1_.png">
28	<link rel="apple-touch-icon" href="https://cdn-main.ideal.shop/images/by_hash/0438d46d405c71e04df70facf7bc157ae4bce4e22804e04ea95cc9fee527d395/180-180/65660437b16b6b3ee853adc893ee557a03bb6822c0a506e63f0edc8e05b1f98a__1_.png">
29	<link rel="apple-touch-icon" sizes="57x57" href="https://cdn-main.ideal.shop/images/by_hash/0438d46d405c71e04df70facf7bc157ae4bce4e22804e04ea95cc9fee527d395/57-57/65660437b16b6b3ee853adc893ee557a03bb6822c0a506e63f0edc8e05b1f98a__1_.png">
30	<link rel="apple-touch-icon" sizes="60x60" href="https://cdn-main.ideal.shop/images/by_hash/0438d46d405c71e04df70facf7bc157ae4bce4e22804e04ea95cc9fee527d395/60-60/65660437b16b6b3ee853adc893ee557a03bb6822c0a506e63f0edc8e05b1f98a__1_.png">
31	<link rel="apple-touch-icon" sizes="72x72" href="https://cdn-main.ideal.shop/images/by_hash/0438d46d405c71e04df70facf7bc157ae4bce4e22804e04ea95cc9fee527d395/72-72/65660437b16b6b3ee853adc893ee557a03bb6822c0a506e63f0edc8e05b1f98a__1_.png">
32	<link rel="apple-touch-icon" sizes="76x76" href="https://cdn-main.ideal.shop/images/by_hash/0438d46d405c71e04df70facf7bc157ae4bce4e22804e04ea95cc9fee527d395/76-76/65660437b16b6b3ee853adc893ee557a03bb6822c0a506e63f0edc8e05b1f98a__1_.png">
33	<link rel="apple-touch-icon" sizes="114x114" href="https://cdn-main.ideal.shop/images/by_hash/0438d46d405c71e04df70facf7bc157ae4bce4e22804e04ea95cc9fee527d395/114-114/65660437b16b6b3ee853adc893ee557a03bb6822c0a506e63f0edc8e05b1f98a__1_.png">
34	<link rel="apple-touch-icon" sizes="180x180" href="https://cdn-main.ideal.shop/images/by_hash/0438d46d405c71e04df70facf7bc157ae4bce4e22804e04ea95cc9fee527d395/180-180/65660437b16b6b3ee853adc893ee557a03bb6822c0a506e63f0edc8e05b1f98a__1_.png">
35	<link rel="apple-touch-icon" sizes="228x228" href="https://cdn-main.ideal.shop/images/by_hash/0438d46d405c71e04df70facf7bc157ae4bce4e22804e04ea95cc9fee527d395/228-228/65660437b16b6b3ee853adc893ee557a03bb6822c0a506e63f0edc8e05b1f98a__1_.png">
36	
37		<title>How it works | Storyframe</title>
38
39				<style>
40		@media screen and (min-width: 1200px) and (max-width: 1399px)
41		{
42			body.preload *{visibility: hidden; !important}
43			body.preload #preload-spinner{display: block !important;}
44		}
45	
46		@media screen and (min-width: 1400px)
47		{
48			body.preload *{visibility: hidden; !important}
49			body.preload #preload-spinner{display: block !important;}
50		}
51	</style>
52		
53		
54		
55		
56					
57				
58		
59
60					<link href="https://fonts.googleapis.com/css2?family=Urbanist:ital,wght@0,400;0,700&display=swap" rel="stylesheet">
61				
61<script>
62	"use strict";
63	const SITE_MODE								= 'live';
64	const HTTP_RESPONSE_CODE_INITIAL_REQUEST	= 200;
65	const DISPLAY_WITH_VAT 						= true;
66	const CDN_RESOURCES_MOD_CHECK_HASH 			= '7410ce78d550c561'; 	const BASKET_MINIMAL_CHECKOUT 				= true;
67	const HOW_TO_WRITE_PRICES 					= {"identifier":"$","identifier_position":"before","space_or_nospace":"space","decimals":"show-at-least-2","decimal_separator":".","thousands_separator":","};
68	const CDN_TO_USE_HOSTNAME					= 'cdn-main.ideal.shop';
69	const CDN_LARGE_FILES_TO_USE_HOSTNAME		= 'cdn-main.ideal.shop';
70	let POPSTATE_LAST_USED 						= performance.now();
71	let HISTORY_NAVIGATION_LAST 				= performance.now();
72	const MONTHS_TRANSLATED_ARRAY 				= {"1":"January","2":"February","3":"March","4":"April","5":"May","6":"June","7":"July","8":"August","9":"September","10":"October","11":"November","12":"December"};
73	let CLIENT_CONNECTION_SPEED = 'slow';
74	document.addEventListener('DOMContentLoaded', function(){
75		if(performance.now() < 1250)
76		{
77			CLIENT_CONNECTION_SPEED = 'fast';
78		}
79	});if(typeof(GLOBAL_DEBUG_JS_USER_SCRIPT_ACTIVE) === "undefined")
80	{
81		var GLOBAL_DEBUG_JS_USER_SCRIPT_ACTIVE = false;
82	}
83</script>
83		
84<script>
85	(function(){
86		let main_script_loaded 		= false;
87		let domcontentloaded_called	= false;
88		let load_called				= false;
89		let js_loaded 				= false;
90		let css_loaded 				= false;
91		
92		document.addEventListener('DOMContentLoaded', function(){
93			domcontentloaded_called = true;
94			main_script_loaded_function();
95		});
96		
97		window.addEventListener('load', function(){
98			load_called = true;
99			main_script_loaded_function();
100		});
101		
102		// Taking over "document.addEventListener" and "window.addEventListener"
103		let originalDocumentAddEventListener 	= document.addEventListener.bind(document);
104		let originalWindowAddEventListener 		= window.addEventListener.bind(window);
105		let pendingDocumentHandlers 			= [];
106		let pendingWindowHandlers 				= [];
107		
108		function main_script_loaded_function(){
109
110			if(!domcontentloaded_called || !load_called || !js_loaded || !css_loaded)
111			{
112				// Everything isn't ready yet
113				return false;
114			}
115			
116			main_script_loaded = true;
117			
118			// Fire all deferred document calls and restoring the original
119			pendingDocumentHandlers.forEach(function(h){
120				let faked_event = { type: h.type, target: document, currentTarget: document }; // We need this because of jQuery
121				h.listener.call(document, faked_event);
122			});
123			pendingDocumentHandlers 	= [];
124			document.addEventListener 	= originalDocumentAddEventListener;
125			
126			// Fire all deferred window calls and restoring the original
127			pendingWindowHandlers.forEach(function(h){
128				let faked_event = { type: h.type, target: window, currentTarget: window }; // We need this because of jQuery
129				h.listener.call(window, faked_event);
130			});
131			pendingWindowHandlers 		= [];
132			window.addEventListener  	= originalWindowAddEventListener;
133		}
134
135		document.addEventListener = function(type, listener, options){
136			if(['load', 'DOMContentLoaded'].indexOf(type) > -1 && !main_script_loaded)
137			{
138				pendingDocumentHandlers.push({ type: type, listener: listener });
139			}
140			else
141			{
142				originalDocumentAddEventListener(type, listener, options);
143			}
144		};
145
146		window.addEventListener = function(type, listener, options){
147			if(['load', 'DOMContentLoaded'].indexOf(type) > -1 && !main_script_loaded)
148			{
149				pendingWindowHandlers.push({ type: type, listener: listener });
150			}
151			else
152			{
153				originalWindowAddEventListener(type, listener, options);
154			}
155		};
156		
157		// This will load the combined scripts - With retrys
158		const js_src 		= "https://cdn-main.ideal.shop/combined/js/by_name/edc2ef4d31e08db16ec58ed4a0451d8777f8fbaf6a3db7a2f150f24a7b3e7378.js";
159		const css_src 		= "https://cdn-main.ideal.shop/combined/css/by_name/bc97e2a65c0d2502d5f4530a6e7caecb64fa37c20427d357b93995bf7e1eb6f9.css";
160		let js_attempts 	= 0;
161		let css_attempts 	= 0;
162		
163		function js_load(){
164			js_attempts++;
165			let js 			= document.createElement('script');
166			js.src 			= js_src + (js_attempts === 1 ? '' : '?attempt='+js_attempts+'&time='+new Date().getTime()); // When not the first attempt, we cache bust
167			js.type 		= 'text/javascript';
168			js.crossOrigin 	= 'anonymous';
169			js.onerror 		= function() {
170				if(js_attempts < 10)
171				{
172					// Remove myself
173					js.remove();
174					
175					// Wait a little and try again
176					setTimeout(js_load, 500 * js_attempts);
177				}
178				else 
179				{
180					alert('Unable to fetch needed components, please try again (JS)');
181				}
182			};
183			js.onload = function(){
184				js_loaded = true;
185				main_script_loaded_function();
186			}
187			document.head.appendChild(js);
188		}
189		js_load();
190		function css_load(){
191			css_attempts++;
192			let css 			= document.createElement('link');
193			css.href 			= css_src + (css_attempts === 1 ? '' : '?attempt='+css_attempts+'&time='+new Date().getTime()); // When not the first attempt, we cache bust
194			css.rel 			= 'stylesheet';
195			css.type 			= 'text/css';
196			css.crossOrigin 	= 'anonymous';
197			css.onerror 		= function() {
198				if(css_attempts < 10)
199				{
200					// Remove myself
201					css.remove();
202					
203					// Wait a little and try again
204					setTimeout(css_load, 500 * css_attempts);
205				}
206				else 
207				{
208					alert('Unable to fetch needed components, please try again (CSS)');
209				}
210			};
211			css.onload = function(){
212				css_loaded = true;
213				main_script_loaded_function();
214			}
215			
216			let custom_css_stylesheet = document.getElementById('custom-css-stylesheet');
217			if(custom_css_stylesheet)
218			{
219				// We need to insert CSS before this element - Important because of specificity/inheritance/importance
220				custom_css_stylesheet.parentNode.insertBefore(css, custom_css_stylesheet);
221			}
222			else
223			{
224				// Just appending to <head>
225				document.head.appendChild(css);
226			}
227		}
228		css_load();
229	})();
230</script>
230<script>
231	window.dataLayer = window.dataLayer || [];
232	function gtag(){dataLayer.push(arguments);}
233	gtag('consent', 'default', {
234		'ad_storage': 'denied',
235		'ad_user_data': 'denied',
236		'ad_personalization': 'denied',
237		'analytics_storage': 'denied',
238		'wait_for_update': 500
239	});
240</script>
vendor: 1 bytes, line 240
240
241<script async src="https://www.storyframe.app/collect/gjs?id=G-CCHF883LZ7"></script>
vendor: 1 bytes, line 241
241
242<script>
243  "use strict";
244  
vendor: 134 bytes, lines 244-247
244window.dataLayer = window.dataLayer || [];
245  function gtag(){dataLayer.push(arguments);}
246  gtag('js', new Date());
247  	gtag('config', '
247G-CCHF883LZ7
vendor: 98 bytes, lines 247-250
247', {
248		transport_url: 'https://www.storyframe.app/collect/g',
249		first_party_collection: true
250	});
251</script>
251
252		
252<script>
253			!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();		
254		</script>
254
255		
256				
257				
258				
259				
260				
261				
262				
263				
264				
265				
266				
267				
268				
269				
270				
271				
272				
273				
274				
275				
276				
277				
278				
279				
280				
281				
282				
283				
284				
285				
286				
287				
288				
289				
290				
291				
292				
293				
294				
295				
296				
297				
298				
299				
300				
301				
302				
303				
304				
305				
306				
307				
308				
309				
310				
311				
312				
313				
314				
315				
316				
317				
318				
319				
320				
321				
322				
323				
324				
325				
326				
327				
328				
329				
330				
331				
332				
333				
334				
335				
336				
337				
338				
339				
340				
341				
342				
343				
344				
345				
346				
347				
348				
349				
350				
351				
352				
353				
354				
355				
356				
357				
358				
359				
360				
361				
362				
363				
364				
365				
366				
367				
368				
369				
370				
371				
372				
373				
374				
375				
376				
377				
378				
379				
380				
381				
381<script src="https://cdn-main.ideal.shop/public_js/live/debug.js?m=7410ce78d550c561" crossorigin></script>
381
382		<link id="custom-css-stylesheet" href="https://cdn-main.ideal.shop/combined/css/live/5767/365d98e80a7db4a8.css" rel="stylesheet" crossorigin>
383		
384<script id="custom-js-script">
385	"use strict";
386	window.addEventListener('load', function(){
387		window._g_item_page_image_hover_zoom_type = 'all';window.chat_support_icon = 'bx:bx-chat';		
388	});
389</script>
389
390
391<script type="text/javascript">
392	"use strict";
393	window.language_for_t = 'en-US'; // Used for the function _t
394	window.IDEALSHOP_BUILD_TIMESTAMP = '353'; // Sending build timestamp to JS
395	window.IDEALSHOP_LAST_FULL_GET_TIMESTAMP = Date.now(); // Making sure we have last full get timestamp in JS - Letting JS generate this, so that we do not mess up caching
396	window._g_shop_currency_iso = 'usd';
397	window._g_site_mode = "live";
398	window.dataLayer = window.dataLayer || []; // Making sure dataLayer exists
399</script>
399
400<style>
401.header_gradient
402{
403	-webkit-background-clip: text;
404	background-clip: text;
405	color:transparent;
406	background-image: -webkit-linear-gradient(45deg, #670fff 0%, #f57a00 39%, #ff0000 100%);
407}
408
409@media only screen and (max-width: 600px) {
410  .hero_header
411{
412    font-size:3em !important;
413  }
414}
415
416@media only screen and (max-width: 1235px) {
417  .hero_header
418{
419    font-size:4.2em !important;
420  }
421}
422[data-module-block-type="image-box"] .text-container
423{
424font-size: 36px;
425}
426@media only screen and (max-width: 967px)
427{
428[data-module-block-type="image-box"] .text-container
429{
430padding: 3rem 3rem;
431}
432[data-module-block-type="image-box"] .text-container
433{
434font-size: 24px;
435}
436}
437
438</style>
439		
439<script type="text/javascript">
440			'use strict';
441			window.addEventListener('_cookies_statistics_accepted', function(){
442				
443		dataLayer.push({'cookies_statistics_accepted' : '1'});
444	
445			});
446		</script>
446
447		
448		
448<script type="text/javascript">
449			'use strict';
450			window.addEventListener('_cookies_marketing_accepted', function(){
451				
452		dataLayer.push({'cookies_marketing_accepted' : '1'});
453	dynamically_inject_code(base64_decode('CgkJPHNjcmlwdCBzcmM9Imh0dHBzOi8vc3RhdGljLmtsYXZpeW8uY29tL29uc2l0ZS9qcy9rbGF2aXlvLmpzP2NvbXBhbnlfaWQ9V2tFM2dnIiBhc3luYyBjcm9zc29yaWdpbj48L3NjcmlwdD4KCQk='), 'head');
454			});
455		</script>
455
456		
457		
457<script type="text/javascript">
458			'use strict';
459			window.addEventListener('_cookies_statistics_and_marketing_accepted', function(){
460				dynamically_inject_code(base64_decode('PHNjcmlwdD4KCQkhZnVuY3Rpb24oZixiLGUsdixuLHQscyl7aWYoZi5mYnEpcmV0dXJuO249Zi5mYnE9ZnVuY3Rpb24oKXtuLmNhbGxNZXRob2Q/CgkJbi5jYWxsTWV0aG9kLmFwcGx5KG4sYXJndW1lbnRzKTpuLnF1ZXVlLnB1c2goYXJndW1lbnRzKX07aWYoIWYuX2ZicSlmLl9mYnE9bjsKCQluLnB1c2g9bjtuLmxvYWRlZD0hMDtuLnZlcnNpb249JzIuMCc7bi5xdWV1ZT1bXTt0PWIuY3JlYXRlRWxlbWVudChlKTt0LmFzeW5jPSEwOwoJCXQuc3JjPXY7cz1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpWzBdO3MucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodCxzKX0od2luZG93LAoJCWRvY3VtZW50LCdzY3JpcHQnLCdodHRwczovL2Nvbm5lY3QuZmFjZWJvb2submV0L2VuX1VTL2ZiZXZlbnRzLmpzJyk7CgkJCgkJCQkJZmJxKCdpbml0JywgJzcyMTkzNzI5OTg2MzYxMScpOwoJCQkJCgkJZmJxKCd0cmFjaycsICdQYWdlVmlldycpOwoJCTwvc2NyaXB0Pg=='), 'head');
461			});
462		</script>
462
463		
464
465				
466
467
468
469
470
471
472	
472<script type="text/javascript">
473		"use strict";
474		var translated_public_texts_json = {};
475	</script>
475
476	
477	
478	
479		
480		
481		
482		
483		
484		
485		
486		
487		
488		
489		
490		
491		
492		
493		
494
495				
496		
497
498				
499							
499<script>
500				function basket_add()
501				{
502					alert_nice(false, _t('Shoppen har ikke adgang til denne feature'));
503				}
504				function basket_add_from_item_box()
505				{
506					alert_nice(false, _t('Shoppen har ikke adgang til denne feature'));
507				}
508			</script>
508
509		</head>
510	<body class="preload" data-top-menu-fixed="fixed" data-page-type="normal" data-page-id="68185" data-breadcrumbs="0">
511		
512		<div id="preload-spinner" style="display: none; position: absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); filter: drop-shadow(0 0 5px #FFFFFF);">
513			<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200px" height="200px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid">
514				<path d="M10 50A40 40 0 0 0 90 50A40 42 0 0 1 10 50" fill="#b2b3b6" stroke="none" style="visibility: visible;">
515					<animateTransform attributeName="transform" type="rotate" dur="1s" repeatCount="indefinite" keyTimes="0;1" values="0 50 51;360 50 51"></animateTransform>
516				</path>
517			</svg>
518		</div>
519	
520		
521<div id="elements-fixed-to-top">
522	<div class="fixed-elements">
523				<div id="header_warning_div" style="display: none;"></div>
524					
525			<header id="container_header" data-overlap-carousel="0">
526	<div class="container">
527					<a class="navbar-brand has-image navbar-brand-margin" href="/">
528				<img
529					title="Storyframe"
530					src="https://cdn-main.ideal.shop/images/by_hash/65660437b16b6b3ee853adc893ee557a03bb6822c0a506e63f0edc8e05b1f98a/0-50/lXzL72GV2k-removebg-preview.png"
531					srcset="https://cdn-main.ideal.shop/images/by_hash/65660437b16b6b3ee853adc893ee557a03bb6822c0a506e63f0edc8e05b1f98a/0-50/lXzL72GV2k-removebg-preview.png 1x, https://cdn-main.ideal.shop/images/by_hash/65660437b16b6b3ee853adc893ee557a03bb6822c0a506e63f0edc8e05b1f98a/0-100/lXzL72GV2k-removebg-preview.png 2x, https://cdn-main.ideal.shop/images/by_hash/65660437b16b6b3ee853adc893ee557a03bb6822c0a506e63f0edc8e05b1f98a/0-150/lXzL72GV2k-removebg-preview.png 3x, https://cdn-main.ideal.shop/images/by_hash/65660437b16b6b3ee853adc893ee557a03bb6822c0a506e63f0edc8e05b1f98a/0-200/lXzL72GV2k-removebg-preview.png 4x"
532					fetchpriority="high"
533					
534				>
535			</a>
536		
537		<div id="header_icons_container">
538						<link rel="preload" href="https://cdn-main.ideal.shop/images/flags/4x3/us.svg" as="image" fetchpriority="high"><div class="header-language-selector" data-type="flags">
539					<div class="head">
540						<img class="flag-icon" src="https://cdn-main.ideal.shop/images/flags/4x3/us.svg" title="English (US)">
541					</div>
542					<div class="dropdown">
543																																										<div class="language" data-public="1" data-language="da-DK" title="Dansk">
544									<img class="flag-icon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-load-src="https://cdn-main.ideal.shop/images/flags/4x3/dk.svg">
545								</div>
546																																				<div class="language" data-public="1" data-language="en-EU" title="English (EU)">
547									<img class="flag-icon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-load-src="https://cdn-main.ideal.shop/images/flags/4x3/eu.svg">
548								</div>
549																		</div>
550				</div>
551			
552											<div class="ss-nav-menu-toggler">
553					<i class="iconify-inline" data-icon="fa:bars" data-width="0.9em" data-height="1.1em"></i>
554				</div>
555			
556						
557			<div id="frontpage_search_container">
558				<span class="iconify-inline search-icon" onclick="content_search_toggle(event);" data-icon="fa:search"></span>
559			</div>
560
561					</div>
562
563		<div class="ss-nav-menu-outer">
564			<nav class="ss-nav-menu">
565				<div class="ss-nav-item">
566						<div class="ss-nav-actions ss-level-0">
567							<a
568								href="/"
569								
570								data-roadmap-module="pages"
571								data-roadmap-action="page"
572							>
573								Home
574							</a>
575						</div>
576					</div><div class="ss-nav-item">
577						<div class="ss-nav-actions ss-level-0">
578							<a
579								href="/en/how-it-works"
580								
581								data-roadmap-module="pages"
582								data-roadmap-action="page"
583							>
584								How it works
585							</a>
586						</div>
587					</div><div class="ss-nav-item">
588						<div class="ss-nav-actions ss-level-0">
589							<a
590								href="/prices"
591								
592								data-roadmap-module="pages"
593								data-roadmap-action="page"
594							>
595								Prices
596							</a>
597						</div>
598					</div><div class="ss-nav-item">
599						<div class="ss-nav-actions ss-level-0">
600							<a
601								href="/contact"
602								
603								data-roadmap-module="pages"
604								data-roadmap-action="page"
605							>
606								Contact
607							</a>
608						</div>
609					</div>			</nav>
610		</div>
611
612		<div id="minimal-checkout-back-button-container">
613			<a href="/">Back to the webshop</a>
614		</div>
615	</div>
616	<div id="header-box-shadow"></div>
617</header>
618
619			</div>
620	<div class="space-for-the-fixed-elements"></div>
621</div>
622
623		<div id="container-main-content" role="main">
624				<span class="page-header" data-page-type="normal" data-page-id="68185">
624<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Frontpage","item":"https:\/\/www.storyframe.app\/"},{"@type":"ListItem","position":2,"name":"How it works"}]}</script>
624</span>
625
626<div class="section-in-main-container"
627	data-module-block-id="147560"
628	data-module-block-type="text"
629	data-module-block-available-sizes=""
630	data-module-block-columns=""
631	data-module-block-columns-extra-data=""
632	 data-lazy-load-elements="1"
633	data-intersection-callback="text_block_setup"
634	
635>
636	<div
637		class="module-block container text-block"
638		data-mobile-vertical-position="top"
639		data-desktop-horizontal-position="right"
640		data-image-border-radius-50-percent="0"
641		data-desktop-size="30"
642		data-image-text-relation="standard"
643		data-slide-in-element-direction=bottom
644	>
645		<div class="text-block-inner-container">
646									<div class="content">
647								<div class="text-content"><span style="font-size:4em;">How it works</span>
648<br><br>
649As easy as 1-2-3.</div>
650							</div>
651
652					</div>
653	</div>
654</div>
655
656<div class="section-in-main-container module-block"
657	data-module-block-id="147561"
658	data-module-block-type="image-box"
659	data-module-block-available-sizes=""
660	data-module-block-columns=""
661	data-module-block-columns-extra-data=""
662	data-image-box-first-image-placement="right"
663	data-floating-text-box-on-large-screens="0"
664	 data-lazy-load-elements="1"
665	data-intersection-callback="module_block_image_box_setup"
666	
667>
668	<div class="container" data-slide-in-element-direction="bottom">
669					<div class="image-outer-container" data-id="16279">
670				<div class="text-container">
671					<div class="text-inner-container">
672																			<div class="text"><p><span style="font-size: 36px;">1. Install the app on an old <a href="https://apps.apple.com/us/app/storyframe-smart-photo-frame/id6474573548" target="_blank">iOS/iPad</a> or <a href="https://play.google.com/store/apps/details?id=app.storyframe.app" target="_blank">Android</a> tablet or smartphone. This will be your Storyframe.</span></p></div>
673																	</div>
674				</div>
675				<div class="image-container">
676																	<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-load-src="https://cdn-main.ideal.shop/images/by_hash/e2a74a294d001283c5931277bf1611a18b65f3e2222e9879723915ac0f68f737/800-0/DALL_E_2023-10-24_09.06.21_-_tablet_in_a_drawer.png" class="grow-container-with-image">
677														</div>
678			</div>
679					<div class="image-outer-container" data-id="16280">
680				<div class="text-container">
681					<div class="text-inner-container">
682																			<div class="text"><p><span style="font-size: 36px;">2. Add your photos in the app (from your own phone).</span></p></div>
683																	</div>
684				</div>
685				<div class="image-container">
686																	<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-load-src="https://cdn-main.ideal.shop/images/by_hash/17e992bffc288a67812be978c6cc16e78a9beb432158769d6674a65ca859cfef/800-0/connor-olson-7yPmjStM6rY-unsplash.jpg" class="grow-container-with-image">
687														</div>
688			</div>
689					<div class="image-outer-container" data-id="16512">
690				<div class="text-container">
691					<div class="text-inner-container">
692																			<div class="text"><p><span style="font-size: 36px;">3. On your tablet, enter the Storyframe ID and pin code to start displaying photos.</span><br></p></div>
693																	</div>
694				</div>
695				<div class="image-container">
696																	<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-load-src="https://cdn-main.ideal.shop/images/by_hash/5d962d2a6a29f9027ff59eaad03844dd1fd469e0355bef902e6e75f1f35f29fc/800-0/goashape-FKpdSwrfzA0-unsplash.jpg" class="grow-container-with-image">
697														</div>
698			</div>
699			</div>
700</div>
701
702<div class="section-in-main-container"
703	data-module-block-id="147562"
704	data-module-block-type="faq"
705	data-module-block-available-sizes=""
706	data-module-block-columns=""
707	data-module-block-columns-extra-data=""
708	 data-lazy-load-elements="1"
709	data-intersection-callback="module_block_faq_setup"
710	
711>
712	<div class="module-block faq container" data-slide-in-element-direction="bottom">
713		<div class="faq-boxes-container">
714							<div class="faq-box" data-faq-id="4009">
715					<div class="faq-box-title-container">
716						<div class="faq-box-title">Can I setup multiple devices to show the same photos?</div>
717						<div class="faq-box-arrow"><i class="iconify" data-icon="fa:chevron-down" data-rotate="315"></i></div>
718					</div>
719					<div class="faq-box-text">
720						<p>Yes, you can install Storyframe on multiple devices and have them display the same photos.</p>
721					</div>
722				</div>
723							<div class="faq-box" data-faq-id="4010">
724					<div class="faq-box-title-container">
725						<div class="faq-box-title">Can multiple people add and remove photos?</div>
726						<div class="faq-box-arrow"><i class="iconify" data-icon="fa:chevron-down" data-rotate="315"></i></div>
727					</div>
728					<div class="faq-box-text">
729						<p>Yes, anyone who knows the password can add and remove photos from your Storyframe.</p><p>Also you can invite friends and family members to contribute to your Storyframe.</p>
730					</div>
731				</div>
732							<div class="faq-box" data-faq-id="4011">
733					<div class="faq-box-title-container">
734						<div class="faq-box-title">Can my old device run the app?</div>
735						<div class="faq-box-arrow"><i class="iconify" data-icon="fa:chevron-down" data-rotate="315"></i></div>
736					</div>
737					<div class="faq-box-text">
738						Almost all old tablets and smartphones can run the app. But to make sure, we recommend that you install the app and test it out, before you buy the full experience.
739					</div>
740				</div>
741							<div class="faq-box" data-faq-id="4012">
742					<div class="faq-box-title-container">
743						<div class="faq-box-title">Does the app turn off at night?</div>
744						<div class="faq-box-arrow"><i class="iconify" data-icon="fa:chevron-down" data-rotate="315"></i></div>
745					</div>
746					<div class="faq-box-text">
747						<p>Yes, the Storyframe turns off at night by default. You can change the settings (when to turn off and on) within the app.<br></p>
748					</div>
749				</div>
750							<div class="faq-box" data-faq-id="4013">
751					<div class="faq-box-title-container">
752						<div class="faq-box-title">Do you require a subscription?</div>
753						<div class="faq-box-arrow"><i class="iconify" data-icon="fa:chevron-down" data-rotate="315"></i></div>
754					</div>
755					<div class="faq-box-text">
756						<p>No, you can choose to pay a one-time fee for 1, 2 or 3 years service.</p><p>If you wish to extend your period, simply buy another 1, 2 or 3 years.</p>
757					</div>
758				</div>
759							<div class="faq-box" data-faq-id="4014">
760					<div class="faq-box-title-container">
761						<div class="faq-box-title">How many photos can I add?</div>
762						<div class="faq-box-arrow"><i class="iconify" data-icon="fa:chevron-down" data-rotate="315"></i></div>
763					</div>
764					<div class="faq-box-text">
765						<p>You can add up to 1000 photos at any time. If you wish to replace photos, you can simply remove old photos and upload new ones.</p>
766					</div>
767				</div>
768							<div class="faq-box" data-faq-id="4015">
769					<div class="faq-box-title-container">
770						<div class="faq-box-title">How will the photos be displayed?</div>
771						<div class="faq-box-arrow"><i class="iconify" data-icon="fa:chevron-down" data-rotate="315"></i></div>
772					</div>
773					<div class="faq-box-text">
774						<p>Photos in the active folder will be rotated on the Storyframe device. Each photo is shown for 5 minutes before the next photo is shown.</p><p>It is possible to swipe between photos by pressing the screen.</p><p>The Storyframe device can also display an overlay of a clock and/or a countdown.</p>
775					</div>
776				</div>
777							<div class="faq-box" data-faq-id="4016">
778					<div class="faq-box-title-container">
779						<div class="faq-box-title">Does the Storyframe device need internet access?</div>
780						<div class="faq-box-arrow"><i class="iconify" data-icon="fa:chevron-down" data-rotate="315"></i></div>
781					</div>
782					<div class="faq-box-text">
783						<p>Yes, the device used to display photos should always be connected to wifi.</p><p>The app can function without an active internet connection, but you will not be able to add or remove photos being displayed.</p>
784					</div>
785				</div>
786					</div>
787
788			</div>
789</div>
790
791
792
793	
793<script type="application/ld+json">
794	{
795		"@context": "https://schema.org",
796		"@type": "FAQPage",
797		"mainEntity": [
798							{
799				"@type": "Question",
800				"name": "Can I setup multiple devices to show the same photos?",
801				"acceptedAnswer": {
802					"@type": "Answer",
803					"text": "&lt;p&gt;Yes, you can install Storyframe on multiple devices and have them display the same photos.&lt;/p&gt;"
804				}
805			},					{
806				"@type": "Question",
807				"name": "Can multiple people add and remove photos?",
808				"acceptedAnswer": {
809					"@type": "Answer",
810					"text": "&lt;p&gt;Yes, anyone who knows the password can add and remove photos from your Storyframe.&lt;/p&gt;&lt;p&gt;Also you can invite friends and family members to contribute to your Storyframe.&lt;/p&gt;"
811				}
812			},					{
813				"@type": "Question",
814				"name": "Can my old device run the app?",
815				"acceptedAnswer": {
816					"@type": "Answer",
817					"text": "Almost all old tablets and smartphones can run the app. But to make sure, we recommend that you install the app and test it out, before you buy the full experience."
818				}
819			},					{
820				"@type": "Question",
821				"name": "Does the app turn off at night?",
822				"acceptedAnswer": {
823					"@type": "Answer",
824					"text": "&lt;p&gt;Yes, the Storyframe turns off at night by default. You can change the settings (when to turn off and on) within the app.&lt;br&gt;&lt;/p&gt;"
825				}
826			},					{
827				"@type": "Question",
828				"name": "Do you require a subscription?",
829				"acceptedAnswer": {
830					"@type": "Answer",
831					"text": "&lt;p&gt;No, you can choose to pay a one-time fee for 1, 2 or 3 years service.&lt;/p&gt;&lt;p&gt;If you wish to extend your period, simply buy another 1, 2 or 3 years.&lt;/p&gt;"
832				}
833			},					{
834				"@type": "Question",
835				"name": "How many photos can I add?",
836				"acceptedAnswer": {
837					"@type": "Answer",
838					"text": "&lt;p&gt;You can add up to 1000 photos at any time. If you wish to replace photos, you can simply remove old photos and upload new ones.&lt;/p&gt;"
839				}
840			},					{
841				"@type": "Question",
842				"name": "How will the photos be displayed?",
843				"acceptedAnswer": {
844					"@type": "Answer",
845					"text": "&lt;p&gt;Photos in the active folder will be rotated on the Storyframe device. Each photo is shown for 5 minutes before the next photo is shown.&lt;/p&gt;&lt;p&gt;It is possible to swipe between photos by pressing the screen.&lt;/p&gt;&lt;p&gt;The Storyframe device can also display an overlay of a clock and/or a countdown.&lt;/p&gt;"
846				}
847			},					{
848				"@type": "Question",
849				"name": "Does the Storyframe device need internet access?",
850				"acceptedAnswer": {
851					"@type": "Answer",
852					"text": "&lt;p&gt;Yes, the device used to display photos should always be connected to wifi.&lt;/p&gt;&lt;p&gt;The app can function without an active internet connection, but you will not be able to add or remove photos being displayed.&lt;/p&gt;"
853				}
854			}				]
855	}
856	</script>
856
857
858		</div>
859
860		
861
862					<div id="container_footer" role="contentinfo">
863	<div id="container_footer_inner" class="container row">
864					<div class="footer-column col-sm-12 col-md-12 col-lg-4">
865												
866																<div class="footer-section">
867												<p><b>About</b></p><p>Storyframe is an app allowing you to turn any device into a digital photo frame. Place your old device in your own living room, or at the house of a family member, and change the photos remotely anytime you want.</p>					</div>
868
869										</div>
870					<div class="footer-column col-sm-12 col-md-12 col-lg-4">
871												
872																										</div>
873					<div class="footer-column col-sm-12 col-md-12 col-lg-4">
874												<div class="footer-section">
875																	<div class="category" style="padding-left: 0px;">
876						<div class="title">
877													Links
878												</div>
879										<a
880					href="/"
881					
882				>Home</a>
883				<br>				<a
884					href="/en/how-it-works"
885					
886				>How it works</a>
887				<br>				<a
888					href="/prices"
889					
890				>Prices</a>
891				<br>				<a
892					href="/contact"
893					
894				>Contact</a>
895				<br>
896					</div>					</div>
897
898										</div>
899						<div id="footer-minimal-container" class="col-sm-12">
900			
901			
902		</div>
903	</div>
904</div>		
905		
906
907					<div class="cookie-modal-backdrop"></div>
908		<div class="cookie-banner-modal" role="dialog" tabindex="0" aria-modal="true" aria-label="Cookie banner">
909			<div class="cookie-banner-modal-inner">
910				<div class="cookie-text-container">
911					<div class="cookie-text"><span style="font-size: 2.2em;">We use cookies <i class="iconify" data-icon="iconoir:half-cookie"></i></span>
912<br>We use our own cookies and cookies from third parties to personalise your experience, for marketing and to learn how our website is used. You can always recall your cookie accept by visiting our cookie link at the bottom of the page.</div>
913					<br>
914											<a href="/cookies">Read more about cookies</a>
915									</div>
916
917				<div class="cookie-settings-container">
918					<div class="cookie-settings-toggle form-check necessary">
919						<input type="checkbox" class="form-check-input" name="necessary" aria-label="Necessary cookies" disabled checked>
920						<div class="cookie-show-details-button">
921							Necessary cookies
922							<i class="iconify icon" data-icon="fa:chevron-right" data-width="0.5em"></i>
923						</div>
924					</div>
925					<div class="cookie-settings-toggle form-check functional">
926						<input type="checkbox" class="form-check-input" name="functional" aria-label="Functional cookies" autocomplete="off">
927						<div class="cookie-show-details-button">
928							Functional cookies
929							<i class="iconify icon" data-icon="fa:chevron-right" data-width="0.5em"></i>
930						</div>
931					</div>
932					<div class="cookie-settings-toggle form-check statistics">
933						<input type="checkbox" class="form-check-input" name="statistics" aria-label="Statistics cookies" autocomplete="off">
934						<div class="cookie-show-details-button">
935							Statistics cookies
936							<i class="iconify icon" data-icon="fa:chevron-right" data-width="0.5em"></i>
937						</div>
938					</div>
939					<div class="cookie-settings-toggle form-check marketing">
940						<input type="checkbox" class="form-check-input" name="marketing" aria-label="Marketing cookies" autocomplete="off">
941						<div class="cookie-show-details-button">
942							Marketing cookies
943							<i class="iconify icon" data-icon="fa:chevron-right" data-width="0.5em"></i>
944						</div>
945					</div>
946				</div>
947
948				<div class="cookie-buttons">
949					<button type="button" class="accept-cookies">Accept all</button>
950					<button type="button" class="accept-limited-cookies">Accept selected</button>
951				</div>
952			</div>
953		</div>
954			
955				<div class="modal fade" id="modal_current" data-bs-backdrop="static" data-bs-keyboard="false" role="dialog" aria-modal="true">
956			<form method="post" class="the_modal_form">
957				<div class="modal-dialog" role="document">
958					<div class="modal-content">
959						<div class="modal-header">
960							<h4 class="modal-title"></h4>
961							<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
962						</div>
963						<div class="modal-body"></div>
964						<div class="modal-footer">
965							<div style="position: relative; display: inline-block;" class="footer_custom_container"></div>
966							<button type="submit" class="btn btn-primary btn-modal-save" disabled>Save</button>
967							<button type="button" class="btn btn-secondary btn-modal-close" data-bs-dismiss="modal">Close</button>
968						</div>
969					</div>
970				</div>
971			</form>
972		</div>
973		
974				
975				
976				
977				
978				
979				
980				
981				
982				
983				
984				
985				
986				
987				
988				
989				
990				
991				
992				
993				
994				
995				
996				
997				
998				
999				
1000				
1001				
1002				
1003				
1004				
1005				
1006				
1007				
1008				
1009				
1010				
1011				
1012				
1013				
1014				
1015				
1016				
1017				
1018				
1019				
1020				
1021				
1022				
1023				
1024				
1025				
1026				
1027				
1028				
1029				
1030				
1031				
1032				
1033				
1034				
1035				
1036				
1037				
1038				
1039				
1040				
1041				
1042				
1043				
1044				
1045				
1046	
1046<script type="text/javascript">
1047		"use strict";
1048		
1049			window._g_popups = [];
1050			
1051			window._g_popups.push({
1052				id: 439,
1053				when_to_show: "after_x_seconds",
1054				when_to_show_number: 3,
1055				cookie_days_to_exist: 365,
1056				show_on_landingpages: 1,
1057			});
1058			
1059	</script>
1059
1060	
1061	</body>
1062</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.