{
  "source_file": "0930",
  "source_platform": "技术平台",
  "author": "Jason Brownlee / Machine Learning Mastery",
  "title_listed": "How to Use Word Embedding Layers for Deep Learning with Keras",
  "keywords": "词嵌入,Keras,深度学习",
  "domain": "文本处理",
  "content_type": "教程",
  "is_paid_flag": "否",
  "url": "https://machinelearningmastery.com/use-word-embedding-layers-deep-learning-keras/",
  "publish_date": "2019-07",
  "corpus_stage": "预训练/SFT",
  "notes": "Keras词嵌入层使用",
  "id": "cc1b913f8655",
  "collected_at": "2026-10-02T17:55:26",
  "title": "How to Use Word Embedding Layers for Deep Learning with Keras - MachineLearningMastery.com",
  "body_markdown": "How to Use Word Embedding Layers for Deep Learning with Keras\nBy\nJason Brownlee\non\nFebruary 2, 2021\nin\nDeep Learning for Natural Language Processing\n657\nShare\nPost\nShare\nWord embeddings\nprovide a dense representation of words and their relative meanings.\nThey are an improvement over sparse representations used in simpler bag of word model representations.\nWord embeddings can be learned from text data and reused among projects. They can also be learned as part of fitting a neural network on text data.\nIn this tutorial, you will discover how to use word embeddings for deep learning in Python with Keras.\nAfter completing this tutorial, you will know:\nAbout word embeddings and that Keras supports word embeddings via the Embedding layer.\nHow to learn a word embedding while fitting a neural network.\nHow to use a pre-trained word embedding in a neural network.\nKick-start your project\nwith my new book\nDeep Learning for Natural Language Processing\n, including\nstep-by-step tutorials\nand the\nPython source code\nfiles for all examples.\nLet’s get started.\nUpdated Feb/2018\n: Fixed a bug due to a change in the underlying APIs.\nUpdated Oct/2019\n: Updated for Keras 2.3 and TensorFlow 2.0.\nHow to Use Word Embedding Layers for Deep Learning with Keras\nPhoto by\nthisguy\n, some rights reserved.\nTutorial Overview\nThis tutorial is divided into 3 parts; they are:\nWord Embedding\nKeras Embedding Layer\nExample of Learning an Embedding\nExample of Using Pre-Trained GloVe Embedding\nNeed help with Deep Learning for Text Data?\nTake my free 7-day email crash course now (with code).\nClick to sign-up and also get a free PDF Ebook version of the course.\nStart Your FREE Crash-Course Now\n1. Word Embedding\nA word embedding is a class of approaches for representing words and documents using a dense vector representation.\nIt is an improvement over more the traditional bag-of-word model encoding schemes where large sparse vectors were used to represent each word or to score each word within a vector to represent an entire vocabulary. These representations were sparse because the vocabularies were vast and a given word or document would be represented by a large vector comprised mostly of zero values.\nInstead, in an embedding, words are represented by dense vectors where a vector represents the projection of the word into a continuous vector space.\nThe position of a word within the vector space is learned from text and is based on the words that surround the word when it is used.\nThe position of a word in the learned vector space is referred to as its embedding.\nTwo popular examples of methods of learning word embeddings from text include:\nWord2Vec.\nGloVe.\nIn addition to these carefully designed methods, a word embedding can be learned as part of a deep learning model. This can be a slower approach, but tailors the model to a specific training dataset.\n2. Keras Embedding Layer\nKeras offers an\nEmbedding\nlayer that can be used for neural networks on text data.\nIt requires that the input data be integer encoded, so that each word is represented by a unique integer. This data preparation step can be performed using the\nTokenizer API\nalso provided with Keras.\nThe Embedding layer is initialized with random weights and will learn an embedding for all of the words in the training dataset.\nIt is a flexible layer that can be used in a variety of ways, such as:\nIt can be used alone to learn a word embedding that can be saved and used in another model later.\nIt can be used as part of a deep learning model where the embedding is learned along with the model itself.\nIt can be used to load a pre-trained word embedding model, a type of transfer learning.\nThe Embedding layer is defined as the first hidden layer of a network. It must specify 3 arguments:\nIt must specify 3 arguments:\ninput_dim\n: This is the size of the vocabulary in the text data. For example, if your data is integer encoded to values between 0-10, then the size of the vocabulary would be 11 words.\noutput_dim\n: This is the size of the vector space in which words will be embedded. It defines the size of the output vectors from this layer for each word. For example, it could be 32 or 100 or even larger. Test different values for your problem.\ninput_length\n: This is the length of input sequences, as you would define for any input layer of a Keras model. For example, if all of your input documents are comprised of 1000 words, this would be 1000.\nFor example, below we define an Embedding layer with a vocabulary of 200 (e.g. integer encoded words from 0 to 199, inclusive), a vector space of 32 dimensions in which words will be embedded, and input documents that have 50 words each.\ne = Embedding(200, 32, input_length=50)\n1\ne\n=\nEmbedding\n(\n200\n,\n32\n,\ninput_length\n=\n50\n)\nThe Embedding layer has weights that are learned. If you save your model to file, this will include weights for the Embedding layer.\nThe output of the\nEmbedding\nlayer is a 2D vector with one embedding for each word in the input sequence of words (input document).\nIf you wish to connect a\nDense\nlayer directly to an Embedding layer, you must first flatten the 2D output matrix to a 1D vector using the\nFlatten\nlayer.\nNow, let’s see how we can use an Embedding layer in practice.\n3. Example of Learning an Embedding\nIn this section, we will look at how we can learn a word embedding while fitting a neural network on a\ntext classification\nproblem.\nWe will define a small problem where we have 10 text documents, each with a comment about a piece of work a student submitted. Each text document is classified as positive “1” or negative “0”. This is a simple sentiment analysis problem.\nFirst, we will define the documents and their class labels.\n# define documents\ndocs = ['Well done!',\n\t\t'Good work',\n\t\t'Great effort',\n\t\t'nice work',\n\t\t'Excellent!',\n\t\t'Weak',\n\t\t'Poor effort!',\n\t\t'not good',\n\t\t'poor work',\n\t\t'Could have done better.']\n# define class labels\nlabels = array([1,1,1,1,1,0,0,0,0,0])\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n# define documents\ndocs\n=\n[\n'Well done!'\n,\n'Good work'\n,\n'Great effort'\n,\n'nice work'\n,\n'Excellent!'\n,\n'Weak'\n,\n'Poor effort!'\n,\n'not good'\n,\n'poor work'\n,\n'Could have done better.'\n]\n# define class labels\nlabels\n=\narray\n(\n[\n1\n,\n1\n,\n1\n,\n1\n,\n1\n,\n0\n,\n0\n,\n0\n,\n0\n,\n0\n]\n)\nNext, we can integer encode each document. This means that as input the Embedding layer will have sequences of integers. We could experiment with other more sophisticated bag of word model encoding like counts or TF-IDF.\nKeras provides the\none_hot() function\nthat creates a hash of each word as an efficient integer encoding. We will estimate the vocabulary size of 50, which is much larger than needed to reduce the probability of collisions from the hash function.\n# integer encode the documents\nvocab_size = 50\nencoded_docs = [one_hot(d, vocab_size) for d in docs]\nprint(encoded_docs)\n1\n2\n3\n4\n# integer encode the documents\nvocab_size\n=\n50\nencoded_docs\n=\n[\none_hot\n(\nd\n,\nvocab_size\n)\nfor\nd\nin\ndocs\n]\nprint\n(\nencoded_docs\n)\nThe sequences have different lengths and Keras prefers inputs to be vectorized and all inputs to have the same length. We will pad all input sequences to have the length of 4. Again, we can do this with a built in Keras function, in this case the\npad_sequences() function\n.\n# pad documents to a max length of 4 words\nmax_length = 4\npadded_docs = pad_sequences(encoded_docs, maxlen=max_length, padding='post')\nprint(padded_docs)\n1\n2\n3\n4\n# pad documents to a max length of 4 words\nmax_length\n=\n4\npadded_docs\n=\npad_sequences\n(\nencoded_docs\n,\nmaxlen\n=\nmax_length\n,\npadding\n=\n'post'\n)\nprint\n(\npadded_docs\n)\nWe are now ready to define our\nEmbedding\nlayer as part of our neural network model.\nThe\nEmbedding\nhas a vocabulary of 50 and an input length of 4. We will choose a small embedding space of 8 dimensions.\nThe model is a simple binary classification model. Importantly, the output from the\nEmbedding\nlayer will be 4 vectors of 8 dimensions each, one for each word. We flatten this to a one 32-element vector to pass on to the\nDense\noutput layer.\n# define the model\nmodel = Sequential()\nmodel.add(Embedding(vocab_size, 8, input_length=max_length))\nmodel.add(Flatten())\nmodel.add(Dense(1, activation='sigmoid'))\n# compile the model\nmodel.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])\n# summarize the model\nprint(model.summary())\n1\n2\n3\n4\n5\n6\n7\n8\n9\n# define the model\nmodel\n=\nSequential\n(\n)\nmodel\n.\nadd\n(\nEmbedding\n(\nvocab_size\n,\n8\n,\ninput_length\n=\nmax_length\n)\n)\nmodel\n.\nadd\n(\nFlatten\n(\n)\n)\nmodel\n.\nadd\n(\nDense\n(\n1\n,\nactivation\n=\n'sigmoid'\n)\n)\n# compile the model\nmodel\n.\ncompile\n(\noptimizer\n=\n'adam'\n,\nloss\n=\n'binary_crossentropy'\n,\nmetrics\n=\n[\n'accuracy'\n]\n)\n# summarize the model\nprint\n(\nmodel\n.\nsummary\n(\n)\n)\nFinally, we can fit and evaluate the classification model.\n# fit the model\nmodel.fit(padded_docs, labels, epochs=50, verbose=0)\n# evaluate the model\nloss, accuracy = model.evaluate(padded_docs, labels, verbose=0)\nprint('Accuracy: %f' % (accuracy*100))\n1\n2\n3\n4\n5\n# fit the model\nmodel\n.\nfit\n(\npadded_docs\n,\nlabels\n,\nepochs\n=\n50\n,\nverbose\n=\n0\n)\n# evaluate the model\nloss\n,\naccuracy\n=\nmodel\n.\nevaluate\n(\npadded_docs\n,\nlabels\n,\nverbose\n=\n0\n)\nprint\n(\n'Accuracy: %f'\n%\n(\naccuracy*\n100\n)\n)\nThe complete code listing is provided below.\nfrom numpy import array\nfrom keras.preprocessing.text import one_hot\nfrom keras.preprocessing.sequence import pad_sequences\nfrom keras.models import Sequential\nfrom keras.layers import Dense\nfrom keras.layers import Flatten\nfrom keras.layers.embeddings import Embedding\n# define documents\ndocs = ['Well done!',\n\t\t'Good work',\n\t\t'Great effort',\n\t\t'nice work',\n\t\t'Excellent!',\n\t\t'Weak',\n\t\t'Poor effort!',\n\t\t'not good',\n\t\t'poor work',\n\t\t'Could have done better.']\n# define class labels\nlabels = array([1,1,1,1,1,0,0,0,0,0])\n# integer encode the documents\nvocab_size = 50\nencoded_docs = [one_hot(d, vocab_size) for d in docs]\nprint(encoded_docs)\n# pad documents to a max length of 4 words\nmax_length = 4\npadded_docs = pad_sequences(encoded_docs, maxlen=max_length, padding='post')\nprint(padded_docs)\n# define the model\nmodel = Sequential()\nmodel.add(Embedding(vocab_size, 8, input_length=max_length))\nmodel.add(Flatten())\nmodel.add(Dense(1, activation='sigmoid'))\n# compile the model\nmodel.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])\n# summarize the model\nprint(model.summary())\n# fit the model\nmodel.fit(padded_docs, labels, epochs=50, verbose=0)\n# evaluate the model\nloss, accuracy = model.evaluate(padded_docs, labels, verbose=0)\nprint('Accuracy: %f' % (accuracy*100))\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n37\n38\n39\n40\n41\n42\nfrom\nnumpy\nimport\narray\nfrom\nkeras\n.\npreprocessing\n.\ntext\nimport\none_hot\nfrom\nkeras\n.\npreprocessing\n.\nsequence\nimport\npad_sequences\nfrom\nkeras\n.\nmodels\nimport\nSequential\nfrom\nkeras\n.\nlayers\nimport\nDense\nfrom\nkeras\n.\nlayers\nimport\nFlatten\nfrom\nkeras\n.\nlayers\n.\nembeddings\nimport\nEmbedding\n# define documents\ndocs\n=\n[\n'Well done!'\n,\n'Good work'\n,\n'Great effort'\n,\n'nice work'\n,\n'Excellent!'\n,\n'Weak'\n,\n'Poor effort!'\n,\n'not good'\n,\n'poor work'\n,\n'Could have done better.'\n]\n# define class labels\nlabels\n=\narray\n(\n[\n1\n,\n1\n,\n1\n,\n1\n,\n1\n,\n0\n,\n0\n,\n0\n,\n0\n,\n0\n]\n)\n# integer encode the documents\nvocab_size\n=\n50\nencoded_docs\n=\n[\none_hot\n(\nd\n,\nvocab_size\n)\nfor\nd\nin\ndocs\n]\nprint\n(\nencoded_docs\n)\n# pad documents to a max length of 4 words\nmax_length\n=\n4\npadded_docs\n=\npad_sequences\n(\nencoded_docs\n,\nmaxlen\n=\nmax_length\n,\npadding\n=\n'post'\n)\nprint\n(\npadded_docs\n)\n# define the model\nmodel\n=\nSequential\n(\n)\nmodel\n.\nadd\n(\nEmbedding\n(\nvocab_size\n,\n8\n,\ninput_length\n=\nmax_length\n)\n)\nmodel\n.\nadd\n(\nFlatten\n(\n)\n)\nmodel\n.\nadd\n(\nDense\n(\n1\n,\nactivation\n=\n'sigmoid'\n)\n)\n# compile the model\nmodel\n.\ncompile\n(\noptimizer\n=\n'adam'\n,\nloss\n=\n'binary_crossentropy'\n,\nmetrics\n=\n[\n'accuracy'\n]\n)\n# summarize the model\nprint\n(\nmodel\n.\nsummary\n(\n)\n)\n# fit the model\nmodel\n.\nfit\n(\npadded_docs\n,\nlabels\n,\nepochs\n=\n50\n,\nverbose\n=\n0\n)\n# evaluate the model\nloss\n,\naccuracy\n=\nmodel\n.\nevaluate\n(\npadded_docs\n,\nlabels\n,\nverbose\n=\n0\n)\nprint\n(\n'Accuracy: %f'\n%\n(\naccuracy*\n100\n)\n)\nRunning the example first prints the integer encoded documents.\n[[6, 16], [42, 24], [2, 17], [42, 24], [18], [17], [22, 17], [27, 42], [22, 24], [49, 46, 16, 34]]\n1\n[[6, 16], [42, 24], [2, 17], [42, 24], [18], [17], [22, 17], [27, 42], [22, 24], [49, 46, 16, 34]]\nThen the padded versions of each document are printed, making them all uniform length.\n[[ 6 16  0  0]\n [42 24  0  0]\n [ 2 17  0  0]\n [42 24  0  0]\n [18  0  0  0]\n [17  0  0  0]\n [22 17  0  0]\n [27 42  0  0]\n [22 24  0  0]\n [49 46 16 34]]\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n[[ 6 16  0  0]\n[42 24  0  0]\n[ 2 17  0  0]\n[42 24  0  0]\n[18  0  0  0]\n[17  0  0  0]\n[22 17  0  0]\n[27 42  0  0]\n[22 24  0  0]\n[49 46 16 34]]\nAfter the network is defined, a summary of the layers is printed. We can see that as expected, the output of the Embedding layer is a 4×8 matrix and this is squashed to a 32-element vector by the Flatten layer.\n_________________________________________________________________\nLayer (type)                 Output Shape              Param #\n=================================================================\nembedding_1 (Embedding)      (None, 4, 8)              400\n_________________________________________________________________\nflatten_1 (Flatten)          (None, 32)                0\n_________________________________________________________________\ndense_1 (Dense)              (None, 1)                 33\n=================================================================\nTotal params: 433\nTrainable params: 433\nNon-trainable params: 0\n_________________________________________________________________\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n_________________________________________________________________\nLayer (type)                 Output Shape              Param #\n=================================================================\nembedding_1 (Embedding)      (None, 4, 8)              400\n_________________________________________________________________\nflatten_1 (Flatten)          (None, 32)                0\n_________________________________________________________________\ndense_1 (Dense)              (None, 1)                 33\n=================================================================\nTotal params: 433\nTrainable params: 433\nNon-trainable params: 0\n_________________________________________________________________\nNote\n: Your\nresults may vary\ngiven the stochastic nature of the algorithm or evaluation procedure, or differences in numerical precision. Consider running the example a few times and compare the average outcome.\nFinally, the accuracy of the trained model is printed, showing that it learned the training dataset perfectly (which is not surprising).\nAccuracy: 100.000000\n1\nAccuracy: 100.000000\nYou could save the learned weights from the Embedding layer to file for later use in other models.\nYou could also use this model generally to classify other documents that have the same kind vocabulary seen in the test dataset.\nNext, let’s look at loading a pre-trained word embedding in Keras.\n4. Example of Using Pre-Trained GloVe Embedding\nThe Keras Embedding layer can also use a word embedding learned elsewhere.\nIt is common in the field of Natural Language Processing to learn, save, and make freely available word embeddings.\nFor example, the researchers behind GloVe method provide a suite of pre-trained word embeddings on their website released under a public domain license. See:\nGloVe: Global Vectors for Word Representation\nThe smallest package of embeddings is 822Mb, called “\nglove.6B.zip\n“. It was trained on a dataset of one billion tokens (words) with a vocabulary of 400 thousand words. There are a few different embedding vector sizes, including 50, 100, 200 and 300 dimensions.\nYou can download this collection of embeddings and we can seed the Keras\nEmbedding\nlayer with weights from the pre-trained embedding for the words in your training dataset.\nThis example is inspired by an example in the Keras project:\npretrained_word_embeddings.py\n.\nAfter downloading and unzipping, you will see a few files, one of which is “\nglove.6B.100d.txt\n“, which contains a 100-dimensional version of the embedding.\nIf you peek inside the file, you will see a token (word) followed by the weights (100 numbers) on each line. For example, below are the first line of the embedding ASCII text file showing the embedding for “\nthe\n“.\nthe -0.038194 -0.24487 0.72812 -0.39961 0.083172 0.043953 -0.39141 0.3344 -0.57545 0.087459 0.28787 -0.06731 0.30906 -0.26384 -0.13231 -0.20757 0.33395 -0.33848 -0.31743 -0.48336 0.1464 -0.37304 0.34577 0.052041 0.44946 -0.46971 0.02628 -0.54155 -0.15518 -0.14107 -0.039722 0.28277 0.14393 0.23464 -0.31021 0.086173 0.20397 0.52624 0.17164 -0.082378 -0.71787 -0.41531 0.20335 -0.12763 0.41367 0.55187 0.57908 -0.33477 -0.36559 -0.54857 -0.062892 0.26584 0.30205 0.99775 -0.80481 -3.0243 0.01254 -0.36942 2.2167 0.72201 -0.24978 0.92136 0.034514 0.46745 1.1079 -0.19358 -0.074575 0.23353 -0.052062 -0.22044 0.057162 -0.15806 -0.30798 -0.41625 0.37972 0.15006 -0.53212 -0.2055 -1.2526 0.071624 0.70565 0.49744 -0.42063 0.26148 -1.538 -0.30223 -0.073438 -0.28312 0.37104 -0.25217 0.016215 -0.017099 -0.38984 0.87424 -0.72569 -0.51058 -0.52028 -0.1459 0.8278 0.27062\n1\nthe -0.038194 -0.24487 0.72812 -0.39961 0.083172 0.043953 -0.39141 0.3344 -0.57545 0.087459 0.28787 -0.06731 0.30906 -0.26384 -0.13231 -0.20757 0.33395 -0.33848 -0.31743 -0.48336 0.1464 -0.37304 0.34577 0.052041 0.44946 -0.46971 0.02628 -0.54155 -0.15518 -0.14107 -0.039722 0.28277 0.14393 0.23464 -0.31021 0.086173 0.20397 0.52624 0.17164 -0.082378 -0.71787 -0.41531 0.20335 -0.12763 0.41367 0.55187 0.57908 -0.33477 -0.36559 -0.54857 -0.062892 0.26584 0.30205 0.99775 -0.80481 -3.0243 0.01254 -0.36942 2.2167 0.72201 -0.24978 0.92136 0.034514 0.46745 1.1079 -0.19358 -0.074575 0.23353 -0.052062 -0.22044 0.057162 -0.15806 -0.30798 -0.41625 0.37972 0.15006 -0.53212 -0.2055 -1.2526 0.071624 0.70565 0.49744 -0.42063 0.26148 -1.538 -0.30223 -0.073438 -0.28312 0.37104 -0.25217 0.016215 -0.017099 -0.38984 0.87424 -0.72569 -0.51058 -0.52028 -0.1459 0.8278 0.27062\nAs in the previous section, the first step is to define the examples, encode them as integers, then pad the sequences to be the same length.\nIn this case, we need to be able to map words to integers as well as integers to words.\nKeras provides a\nTokenizer\nclass that can be fit on the training data, can convert text to sequences consistently by calling the\ntexts_to_sequences()\nmethod on the\nTokenizer\nclass, and provides access to the dictionary mapping of words to integers in a\nword_index\nattribute.\n# define documents\ndocs = ['Well done!',\n\t\t'Good work',\n\t\t'Great effort',\n\t\t'nice work',\n\t\t'Excellent!',\n\t\t'Weak',\n\t\t'Poor effort!',\n\t\t'not good',\n\t\t'poor work',\n\t\t'Could have done better.']\n# define class labels\nlabels = array([1,1,1,1,1,0,0,0,0,0])\n# prepare tokenizer\nt = Tokenizer()\nt.fit_on_texts(docs)\nvocab_size = len(t.word_index) + 1\n# integer encode the documents\nencoded_docs = t.texts_to_sequences(docs)\nprint(encoded_docs)\n# pad documents to a max length of 4 words\nmax_length = 4\npadded_docs = pad_sequences(encoded_docs, maxlen=max_length, padding='post')\nprint(padded_docs)\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n# define documents\ndocs\n=\n[\n'Well done!'\n,\n'Good work'\n,\n'Great effort'\n,\n'nice work'\n,\n'Excellent!'\n,\n'Weak'\n,\n'Poor effort!'\n,\n'not good'\n,\n'poor work'\n,\n'Could have done better.'\n]\n# define class labels\nlabels\n=\narray\n(\n[\n1\n,\n1\n,\n1\n,\n1\n,\n1\n,\n0\n,\n0\n,\n0\n,\n0\n,\n0\n]\n)\n# prepare tokenizer\nt\n=\nTokenizer\n(\n)\nt\n.\nfit_on_texts\n(\ndocs\n)\nvocab_size\n=\nlen\n(\nt\n.\nword_index\n)\n+\n1\n# integer encode the documents\nencoded_docs\n=\nt\n.\ntexts_to_sequences\n(\ndocs\n)\nprint\n(\nencoded_docs\n)\n# pad documents to a max length of 4 words\nmax_length\n=\n4\npadded_docs\n=\npad_sequences\n(\nencoded_docs\n,\nmaxlen\n=\nmax_length\n,\npadding\n=\n'post'\n)\nprint\n(\npadded_docs\n)\nNext, we need to load the entire GloVe word embedding file into memory as a dictionary of word to embedding array.\n# load the whole embedding into memory\nembeddings_index = dict()\nf = open('glove.6B.100d.txt')\nfor line in f:\n\tvalues = line.split()\n\tword = values[0]\n\tcoefs = asarray(values[1:], dtype='float32')\n\tembeddings_index[word] = coefs\nf.close()\nprint('Loaded %s word vectors.' % len(embeddings_index))\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n# load the whole embedding into memory\nembeddings_index\n=\ndict\n(\n)\nf\n=\nopen\n(\n'glove.6B.100d.txt'\n)\nfor\nline\nin\nf\n:\nvalues\n=\nline\n.\nsplit\n(\n)\nword\n=\nvalues\n[\n0\n]\ncoefs\n=\nasarray\n(\nvalues\n[\n1\n:\n]\n,\ndtype\n=\n'float32'\n)\nembeddings_index\n[\nword\n]\n=\ncoefs\nf\n.\nclose\n(\n)\nprint\n(\n'Loaded %s word vectors.'\n%\nlen\n(\nembeddings_index\n)\n)\nThis is pretty slow. It might be better to filter the embedding for the unique words in your training data.\nNext, we need to create a matrix of one embedding for each word in the training dataset. We can do that by enumerating all unique words in the\nTokenizer.word_index\nand locating the embedding weight vector from the loaded GloVe embedding.\nThe result is a matrix of weights only for words we will see during training.\n# create a weight matrix for words in training docs\nembedding_matrix = zeros((vocab_size, 100))\nfor word, i in t.word_index.items():\n\tembedding_vector = embeddings_index.get(word)\n\tif embedding_vector is not None:\n\t\tembedding_matrix[i] = embedding_vector\n1\n2\n3\n4\n5\n6\n# create a weight matrix for words in training docs\nembedding_matrix\n=\nzeros\n(\n(\nvocab_size\n,\n100\n)\n)\nfor\nword\n,\ni\nin\nt\n.\nword_index\n.\nitems\n(\n)\n:\nembedding_vector\n=\nembeddings_index\n.\nget\n(\nword\n)\nif\nembedding_vector\nis\nnot\nNone\n:\nembedding_matrix\n[\ni\n]\n=\nembedding_vector\nNow we can define our model, fit, and evaluate it as before.\nThe key difference is that the embedding layer can be seeded with the GloVe word embedding weights. We chose the 100-dimensional version, therefore the Embedding layer must be defined with\noutput_dim\nset to 100. Finally, we do not want to update the learned word weights in this model, therefore we will set the\ntrainable\nattribute for the model to be\nFalse\n.\ne = Embedding(vocab_size, 100, weights=[embedding_matrix], input_length=4, trainable=False)\n1\ne\n=\nEmbedding\n(\nvocab_size\n,\n100\n,\nweights\n=\n[\nembedding_matrix\n]\n,\ninput_length\n=\n4\n,\ntrainable\n=\nFalse\n)\nThe complete worked example is listed below.\nfrom numpy import array\nfrom numpy import asarray\nfrom numpy import zeros\nfrom keras.preprocessing.text import Tokenizer\nfrom keras.preprocessing.sequence import pad_sequences\nfrom keras.models import Sequential\nfrom keras.layers import Dense\nfrom keras.layers import Flatten\nfrom keras.layers import Embedding\n# define documents\ndocs = ['Well done!',\n\t\t'Good work',\n\t\t'Great effort',\n\t\t'nice work',\n\t\t'Excellent!',\n\t\t'Weak',\n\t\t'Poor effort!',\n\t\t'not good',\n\t\t'poor work',\n\t\t'Could have done better.']\n# define class labels\nlabels = array([1,1,1,1,1,0,0,0,0,0])\n# prepare tokenizer\nt = Tokenizer()\nt.fit_on_texts(docs)\nvocab_size = len(t.word_index) + 1\n# integer encode the documents\nencoded_docs = t.texts_to_sequences(docs)\nprint(encoded_docs)\n# pad documents to a max length of 4 words\nmax_length = 4\npadded_docs = pad_sequences(encoded_docs, maxlen=max_length, padding='post')\nprint(padded_docs)\n# load the whole embedding into memory\nembeddings_index = dict()\nf = open('../glove_data/glove.6B/glove.6B.100d.txt')\nfor line in f:\n\tvalues = line.split()\n\tword = values[0]\n\tcoefs = asarray(values[1:], dtype='float32')\n\tembeddings_index[word] = coefs\nf.close()\nprint('Loaded %s word vectors.' % len(embeddings_index))\n# create a weight matrix for words in training docs\nembedding_matrix = zeros((vocab_size, 100))\nfor word, i in t.word_index.items():\n\tembedding_vector = embeddings_index.get(word)\n\tif embedding_vector is not None:\n\t\tembedding_matrix[i] = embedding_vector\n# define model\nmodel = Sequential()\ne = Embedding(vocab_size, 100, weights=[embedding_matrix], input_length=4, trainable=False)\nmodel.add(e)\nmodel.add(Flatten())\nmodel.add(Dense(1, activation='sigmoid'))\n# compile the model\nmodel.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])\n# summarize the model\nprint(model.summary())\n# fit the model\nmodel.fit(padded_docs, labels, epochs=50, verbose=0)\n# evaluate the model\nloss, accuracy = model.evaluate(padded_docs, labels, verbose=0)\nprint('Accuracy: %f' % (accuracy*100))\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n37\n38\n39\n40\n41\n42\n43\n44\n45\n46\n47\n48\n49\n50\n51\n52\n53\n54\n55\n56\n57\n58\n59\n60\n61\n62\n63\n64\nfrom\nnumpy\nimport\narray\nfrom\nnumpy\nimport\nasarray\nfrom\nnumpy\nimport\nzeros\nfrom\nkeras\n.\npreprocessing\n.\ntext\nimport\nTokenizer\nfrom\nkeras\n.\npreprocessing\n.\nsequence\nimport\npad_sequences\nfrom\nkeras\n.\nmodels\nimport\nSequential\nfrom\nkeras\n.\nlayers\nimport\nDense\nfrom\nkeras\n.\nlayers\nimport\nFlatten\nfrom\nkeras\n.\nlayers\nimport\nEmbedding\n# define documents\ndocs\n=\n[\n'Well done!'\n,\n'Good work'\n,\n'Great effort'\n,\n'nice work'\n,\n'Excellent!'\n,\n'Weak'\n,\n'Poor effort!'\n,\n'not good'\n,\n'poor work'\n,\n'Could have done better.'\n]\n# define class labels\nlabels\n=\narray\n(\n[\n1\n,\n1\n,\n1\n,\n1\n,\n1\n,\n0\n,\n0\n,\n0\n,\n0\n,\n0\n]\n)\n# prepare tokenizer\nt\n=\nTokenizer\n(\n)\nt\n.\nfit_on_texts\n(\ndocs\n)\nvocab_size\n=\nlen\n(\nt\n.\nword_index\n)\n+\n1\n# integer encode the documents\nencoded_docs\n=\nt\n.\ntexts_to_sequences\n(\ndocs\n)\nprint\n(\nencoded_docs\n)\n# pad documents to a max length of 4 words\nmax_length\n=\n4\npadded_docs\n=\npad_sequences\n(\nencoded_docs\n,\nmaxlen\n=\nmax_length\n,\npadding\n=\n'post'\n)\nprint\n(\npadded_docs\n)\n# load the whole embedding into memory\nembeddings_index\n=\ndict\n(\n)\nf\n=\nopen\n(\n'../glove_data/glove.6B/glove.6B.100d.txt'\n)\nfor\nline\nin\nf\n:\nvalues\n=\nline\n.\nsplit\n(\n)\nword\n=\nvalues\n[\n0\n]\ncoefs\n=\nasarray\n(\nvalues\n[\n1\n:\n]\n,\ndtype\n=\n'float32'\n)\nembeddings_index\n[\nword\n]\n=\ncoefs\nf\n.\nclose\n(\n)\nprint\n(\n'Loaded %s word vectors.'\n%\nlen\n(\nembeddings_index\n)\n)\n# create a weight matrix for words in training docs\nembedding_matrix\n=\nzeros\n(\n(\nvocab_size\n,\n100\n)\n)\nfor\nword\n,\ni\nin\nt\n.\nword_index\n.\nitems\n(\n)\n:\nembedding_vector\n=\nembeddings_index\n.\nget\n(\nword\n)\nif\nembedding_vector\nis\nnot\nNone\n:\nembedding_matrix\n[\ni\n]\n=\nembedding\n_\nvector\n# define model\nmodel\n=\nSequential\n(\n)\ne\n=\nEmbedding\n(\nvocab_size\n,\n100\n,\nweights\n=\n[\nembedding_matrix\n]\n,\ninput_length\n=\n4\n,\ntrainable\n=\nFalse\n)\nmodel\n.\nadd\n(\ne\n)\nmodel\n.\nadd\n(\nFlatten\n(\n)\n)\nmodel\n.\nadd\n(\nDense\n(\n1\n,\nactivation\n=\n'sigmoid'\n)\n)\n# compile the model\nmodel\n.\ncompile\n(\noptimizer\n=\n'adam'\n,\nloss\n=\n'binary_crossentropy'\n,\nmetrics\n=\n[\n'accuracy'\n]\n)\n# summarize the model\nprint\n(\nmodel\n.\nsummary\n(\n)\n)\n# fit the model\nmodel\n.\nfit\n(\npadded_docs\n,\nlabels\n,\nepochs\n=\n50\n,\nverbose\n=\n0\n)\n# evaluate the model\nloss\n,\naccuracy\n=\nmodel\n.\nevaluate\n(\npadded_docs\n,\nlabels\n,\nverbose\n=\n0\n)\nprint\n(\n'Accuracy: %f'\n%\n(\naccuracy*\n100\n)\n)\nNote\n: Your\nresults may vary\ngiven the stochastic nature of the algorithm or evaluation procedure, or differences in numerical precision. Consider running the example a few times and compare the average outcome.\nRunning the example may take a bit longer, but then demonstrates that it is just as capable of fitting this simple problem.\n[[6, 2], [3, 1], [7, 4], [8, 1], [9], [10], [5, 4], [11, 3], [5, 1], [12, 13, 2, 14]]\n\n[[ 6  2  0  0]\n [ 3  1  0  0]\n [ 7  4  0  0]\n [ 8  1  0  0]\n [ 9  0  0  0]\n [10  0  0  0]\n [ 5  4  0  0]\n [11  3  0  0]\n [ 5  1  0  0]\n [12 13  2 14]]\n\nLoaded 400000 word vectors.\n\n_________________________________________________________________\nLayer (type)                 Output Shape              Param #\n=================================================================\nembedding_1 (Embedding)      (None, 4, 100)            1500\n_________________________________________________________________\nflatten_1 (Flatten)          (None, 400)               0\n_________________________________________________________________\ndense_1 (Dense)              (None, 1)                 401\n=================================================================\nTotal params: 1,901\nTrainable params: 401\nNon-trainable params: 1,500\n_________________________________________________________________\n\n\nAccuracy: 100.000000\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n[[6, 2], [3, 1], [7, 4], [8, 1], [9], [10], [5, 4], [11, 3], [5, 1], [12, 13, 2, 14]]\n[[ 6  2  0  0]\n[ 3  1  0  0]\n[ 7  4  0  0]\n[ 8  1  0  0]\n[ 9  0  0  0]\n[10  0  0  0]\n[ 5  4  0  0]\n[11  3  0  0]\n[ 5  1  0  0]\n[12 13  2 14]]\nLoaded 400000 word vectors.\n_________________________________________________________________\nLayer (type)                 Output Shape              Param #\n=================================================================\nembedding_1 (Embedding)      (None, 4, 100)            1500\n_________________________________________________________________\nflatten_1 (Flatten)          (None, 400)               0\n_________________________________________________________________\ndense_1 (Dense)              (None, 1)                 401\n=================================================================\nTotal params: 1,901\nTrainable params: 401\nNon-trainable params: 1,500\n_________________________________________________________________\nAccuracy: 100.000000\nIn practice, I would encourage you to experiment with learning a word embedding using a pre-trained embedding that is fixed and trying to perform learning on top of a pre-trained embedding.\nSee what works best for your specific problem.\nFurther Reading\nThis section provides more resources on the topic if you are looking go deeper.\nWord Embedding on Wikipedia\nKeras Embedding Layer API\nUsing pre-trained word embeddings in a Keras model\n, 2016\nExample of using a pre-trained GloVe Embedding in Keras\nGloVe Embedding\nAn overview of word embeddings and their connection to distributional semantic models\n, 2016\nDeep Learning, NLP, and Representations\n, 2014\nSummary\nIn this tutorial, you discovered how to use word embeddings for deep learning in Python with Keras.\nSpecifically, you learned:\nAbout word embeddings and that Keras supports word embeddings via the Embedding layer.\nHow to learn a word embedding while fitting a neural network.\nHow to use a pre-trained word embedding in a neural network.\nDo you have any questions?\nAsk your questions in the comments below and I will do my best to answer.\nDevelop Deep Learning models for Text Data Today!\nDevelop Your Own Text models in Minutes\n...with just a few lines of python code\nDiscover how in my new Ebook:\nDeep Learning for Natural Language Processing\nIt provides\nself-study tutorials\non topics like:\nBag-of-Words, Word Embedding, Language Models, Caption Generation, Text Translation\nand much more...\nFinally Bring Deep Learning to your Natural Language Processing Projects\nSkip the Academics. Just Results.\nSee What's Inside\nShare\nPost\nShare\nMore On This Topic\nHow to use the UpSampling2D and Conv2DTranspose…\nImage Augmentation with Keras Preprocessing Layers…\nUsing Normalization Layers to Improve Deep Learning Models\nHow Do Convolutional Layers Work in Deep Learning…\nHow to Use the Keras Functional API for Deep Learning\nHow to Use Metrics for Deep Learning with Keras in Python\nAbout Jason Brownlee\nJason Brownlee, PhD is a machine learning specialist who teaches developers how to get results with modern machine learning methods via hands-on tutorials.\nView all posts by Jason Brownlee\n→",
  "metadata": {
    "title": "How to Use Word Embedding Layers for Deep Learning with Keras - MachineLearningMastery.com",
    "description": null,
    "keywords": null,
    "author": "Jason Brownlee",
    "og:locale": "en_US",
    "og:type": "article",
    "og:title": "How to Use Word Embedding Layers for Deep Learning with Keras - MachineLearningMastery.com",
    "og:description": "Word embeddings provide a dense representation of words and their relative meanings. They are an improvement over sparse representations used in simpler bag of word model representations. Word embeddings can be learned from text data and reused among projects. They can also be learned as part of fitting a neural network on text data. In this tutorial, you will discover how…",
    "og:url": "https://machinelearningmastery.com/use-word-embedding-layers-deep-learning-keras/",
    "og:site_name": "MachineLearningMastery.com",
    "og:image": "https://machinelearningmastery.com/wp-content/uploads/2017/10/How-to-Use-Word-Embedding-Layers-for-Deep-Learning-with-Keras.jpg",
    "og:image:width": "640",
    "og:image:height": "427",
    "og:image:type": "image/jpeg",
    "twitter:label1": "Written by",
    "twitter:data1": "Jason Brownlee",
    "twitter:label2": "Est. reading time",
    "twitter:data2": "13 minutes",
    "twitter:card": "summary_large_image",
    "twitter:description": "Word embeddings provide a dense representation of words and their relative meanings. They are an improvement over sparse representations used in simpler bag of word model representations. Word embeddings can be learned from text data and reused among projects. They can also be learned as part of fitting a neural network on text data. In this tutorial, you will discover how…",
    "twitter:title": "How to Use Word Embedding Layers for Deep Learning with Keras - MachineLearningMastery.com",
    "article:publisher": "https://www.facebook.com/MachineLearningMastery/",
    "article:author": "https://www.facebook.com/MachineLearningMastery/",
    "article:published_time": "2017-10-03T18:00:43+00:00",
    "article:modified_time": "2021-02-01T21:02:44+00:00"
  },
  "paywall": {
    "listed_paid": false,
    "detected": false,
    "marker": "",
    "public_only": false,
    "policy": "付费/会员内容只保留页面公开可见部分，不绕过付费墙"
  },
  "crawl": {
    "success": true,
    "status_code": 200,
    "error": ""
  },
  "code_blocks": [],
  "images": [
    {
      "status": "ok",
      "url": "https://machinelearningmastery.com/wp-content/uploads/2017/10/How-to-Use-Word-Embedding-Layers-for-Deep-Learning-with-Keras.jpg",
      "bytes": 76600,
      "reused": true,
      "local_path": "attachments/cc1b913f8655/images/000.jpg",
      "src": "https://machinelearningmastery.com/wp-content/uploads/2017/10/How-to-Use-Word-Embedding-Layers-for-Deep-Learning-with-Keras.jpg",
      "alt": "How to Use Word Embedding Layers for Deep Learning with Keras",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://machinelearningmastery.com/wp-content/uploads/2022/11/DL4NLP-220.png",
      "bytes": 4110,
      "reused": false,
      "local_path": "attachments/cc1b913f8655/images/body-e8fcb21cfc1be3513af1.png",
      "src": "https://machinelearningmastery.com/wp-content/uploads/2022/11/DL4NLP-220.png",
      "alt": "Deep Learning for Natural Language Processing",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://machinelearningmastery.com/wp-content/uploads/2019/06/A-Gentle-Introduction-to-Upsampling-and-Transpose-Convolution-Layers-for-Generative-Adversarial-Networks.jpg",
      "bytes": 69048,
      "reused": true,
      "local_path": "attachments/cc1b913f8655/images/003.jpg",
      "src": "https://machinelearningmastery.com/wp-content/uploads/2019/06/A-Gentle-Introduction-to-Upsampling-and-Transpose-Convolution-Layers-for-Generative-Adversarial-Networks.jpg",
      "alt": "A Gentle Introduction to Upsampling and Transpose Convolution Layers for Generative Adversarial Networks",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://machinelearningmastery.com/wp-content/uploads/2022/07/steven-kamenar-MMJx78V7xS8-unsplash-150x150.jpg",
      "bytes": 5359,
      "reused": true,
      "local_path": "attachments/cc1b913f8655/images/005.jpg",
      "src": "https://machinelearningmastery.com/wp-content/uploads/2022/07/steven-kamenar-MMJx78V7xS8-unsplash-150x150.jpg",
      "alt": "steven-kamenar-MMJx78V7xS8-unsplash",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://machinelearningmastery.com/wp-content/uploads/2022/06/pexels-matej-712501-150x150.jpg",
      "bytes": 6682,
      "reused": true,
      "local_path": "attachments/cc1b913f8655/images/006.jpg",
      "src": "https://machinelearningmastery.com/wp-content/uploads/2022/06/pexels-matej-712501-150x150.jpg",
      "alt": "pexels-matej-712501",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://machinelearningmastery.com/wp-content/uploads/2019/04/A-Gentle-Introduction-to-Convolutional-Layers-for-Deep-Learning-Neural-Networks.jpg",
      "bytes": 52846,
      "reused": true,
      "local_path": "attachments/cc1b913f8655/images/007.jpg",
      "src": "https://machinelearningmastery.com/wp-content/uploads/2019/04/A-Gentle-Introduction-to-Convolutional-Layers-for-Deep-Learning-Neural-Networks.jpg",
      "alt": "A Gentle Introduction to Convolutional Layers for Deep Learning Neural Networks",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://machinelearningmastery.com/wp-content/uploads/2017/08/multiple_inputs.png",
      "bytes": 12379,
      "reused": true,
      "local_path": "attachments/cc1b913f8655/images/009.png",
      "src": "https://machinelearningmastery.com/wp-content/uploads/2017/08/multiple_inputs.png",
      "alt": "Neural Network Graph With Multiple Inputs",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://machinelearningmastery.com/wp-content/uploads/2017/08/Metrics-and-How-to-Use-Custom-Metrics-for-Deep-Learning-with-Keras-in-Python.jpg",
      "bytes": 85628,
      "reused": true,
      "local_path": "attachments/cc1b913f8655/images/011.jpg",
      "src": "https://machinelearningmastery.com/wp-content/uploads/2017/08/Metrics-and-How-to-Use-Custom-Metrics-for-Deep-Learning-with-Keras-in-Python.jpg",
      "alt": "Metrics and How to Use Custom Metrics for Deep Learning with Keras in Python",
      "downloaded": true
    }
  ],
  "audio": [],
  "videos": [],
  "links": [
    {
      "href": "https://machinelearningmastery.com/author/jasonb/",
      "label": "Jason Brownlee",
      "type": "a"
    },
    {
      "href": "https://machinelearningmastery.com/category/natural-language-processing/",
      "label": "Deep Learning for Natural Language Processing",
      "type": "a"
    },
    {
      "href": "https://machinelearningmastery.com/use-word-embedding-layers-deep-learning-keras/",
      "label": "657",
      "type": "a"
    },
    {
      "href": "https://machinelearningmastery.com/what-are-word-embeddings/",
      "label": "Word embeddings",
      "type": "a"
    },
    {
      "href": "https://machinelearningmastery.com/deep-learning-for-nlp/",
      "label": "Deep Learning for Natural Language Processing",
      "type": "a"
    },
    {
      "href": "https://www.flickr.com/photos/davebloggs007/36375879215/",
      "label": "thisguy",
      "type": "a"
    },
    {
      "href": "https://keras.io/layers/embeddings/",
      "label": "Embedding",
      "type": "a"
    },
    {
      "href": "https://keras.io/preprocessing/text/",
      "label": "Tokenizer API",
      "type": "a"
    },
    {
      "href": "https://machinelearningmastery.com/best-practices-document-classification-deep-learning/",
      "label": "text classification",
      "type": "a"
    },
    {
      "href": "https://keras.io/preprocessing/sequence/",
      "label": "pad_sequences() function",
      "type": "a"
    },
    {
      "href": "https://machinelearningmastery.com/different-results-each-time-in-machine-learning/",
      "label": "results may vary",
      "type": "a"
    },
    {
      "href": "https://nlp.stanford.edu/projects/glove/",
      "label": "GloVe: Global Vectors for Word Representation",
      "type": "a"
    },
    {
      "href": "https://github.com/fchollet/keras/blob/master/examples/pretrained_word_embeddings.py",
      "label": "pretrained_word_embeddings.py",
      "type": "a"
    },
    {
      "href": "https://en.wikipedia.org/wiki/Word_embedding",
      "label": "Word Embedding on Wikipedia",
      "type": "a"
    },
    {
      "href": "https://blog.keras.io/using-pre-trained-word-embeddings-in-a-keras-model.html",
      "label": "Using pre-trained word embeddings in a Keras model",
      "type": "a"
    },
    {
      "href": "http://blog.aylien.com/overview-word-embeddings-history-word2vec-cbow-glove/",
      "label": "An overview of word embeddings and their connection to distributional semantic models",
      "type": "a"
    },
    {
      "href": "http://colah.github.io/posts/2014-07-NLP-RNNs-Representations/",
      "label": "Deep Learning, NLP, and Representations",
      "type": "a"
    },
    {
      "href": "https://machinelearningmastery.com/upsampling-and-transpose-convolution-layers-for-generative-adversarial-networks/",
      "label": "How to use the UpSampling2D and Conv2DTranspose…",
      "type": "a"
    },
    {
      "href": "https://machinelearningmastery.com/image-augmentation-with-keras-preprocessing-layers-and-tf-image/",
      "label": "Image Augmentation with Keras Preprocessing Layers…",
      "type": "a"
    },
    {
      "href": "https://machinelearningmastery.com/using-normalization-layers-to-improve-deep-learning-models/",
      "label": "Using Normalization Layers to Improve Deep Learning Models",
      "type": "a"
    },
    {
      "href": "https://machinelearningmastery.com/convolutional-layers-for-deep-learning-neural-networks/",
      "label": "How Do Convolutional Layers Work in Deep Learning…",
      "type": "a"
    },
    {
      "href": "https://machinelearningmastery.com/keras-functional-api-deep-learning/",
      "label": "How to Use the Keras Functional API for Deep Learning",
      "type": "a"
    },
    {
      "href": "https://machinelearningmastery.com/custom-metrics-deep-learning-keras-python/",
      "label": "How to Use Metrics for Deep Learning with Keras in Python",
      "type": "a"
    }
  ],
  "repair_version": 2,
  "repaired_at": "2026-10-14T10:54:27Z",
  "source_url": "https://machinelearningmastery.com/use-word-embedding-layers-deep-learning-keras/",
  "papers": [],
  "actual_video_files": [
    {
      "local_path": "attachments/cc1b913f8655/videos/-04NqPMoFHg.mp4",
      "bytes": 795508627,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4330.541000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/-5mr995apeo.mp4",
      "bytes": 85406409,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2275.461000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/-Hep2WyPwJ8.mp4",
      "bytes": 644431173,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3741.981000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/-NlNnlcFSCA.mp4",
      "bytes": 593761962,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3232.421000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/-dbuVbKNSoM.mp4",
      "bytes": 40049136,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "757.941000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/-tXMogAU1-k.mp4",
      "bytes": 61750685,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1766.841000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/-u8D3YGAXKI.mp4",
      "bytes": 106286389,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1190.923067",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/07y_YwOERq4.mp4",
      "bytes": 332787776,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "4325.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/0DqBpd9js10.mp4",
      "bytes": 37818484,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "832.061000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/0RFQ6QOYL68.mp4",
      "bytes": 102632015,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1234.132900",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/0WbZUmcUW-E.mp4",
      "bytes": 46353674,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1342.721000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/0bWHIQmAKCE.mp4",
      "bytes": 150306712,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "809.701000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/0g_RQp6YhB4.mp4",
      "bytes": 325539887,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2323.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/0mWIgLAwhhY.mp4",
      "bytes": 182256036,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1473.381000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/0ypKHsLPmbI.mp4",
      "bytes": 153958861,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2001.121000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/1U-eqizFAO8.mp4",
      "bytes": 208140609,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2475.841000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/1ssCV_fgWBk.mp4",
      "bytes": 325555695,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3796.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/20JC1GybFgQ.mp4",
      "bytes": 99894765,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2002.961000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/23J-kU38-6w.mp4",
      "bytes": 959011605,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "6150.621000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/23MaDySl1zU.mp4",
      "bytes": 64466229,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2148.381000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/26RzdyYG_sQ.mp4",
      "bytes": 271891933,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3470.941000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/2RdUn9YW820.mp4",
      "bytes": 88076841,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1753.541000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/2cnUayfNVoE.mp4",
      "bytes": 121885766,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1335.067067",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/2o6rUWnmT5E.mp4",
      "bytes": 73636849,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1388.241000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/2wU3GlUR3IA.mp4",
      "bytes": 12760928,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "173.061000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/376wNZppZ54.mp4",
      "bytes": 23127976,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "174.661000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/3KDolHiCzE0.mp4",
      "bytes": 90605764,
      "valid": true,
      "height": 720,
      "width": 1152,
      "duration": "2044.461000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/3UA3vf047M0.mp4",
      "bytes": 123798239,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2367.156458",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/3WEDJgiVd8Q.mp4",
      "bytes": 34730672,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "449.341000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/3XZVPTzwISQ.mp4",
      "bytes": 208106881,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3879.125250",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/3fGyBe4YA3I.mp4",
      "bytes": 148687683,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4577.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/3gpQrgA4iYg.mp4",
      "bytes": 611792042,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2536.741000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/3j5UkGjJaSw.mp4",
      "bytes": 8283275,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "140.461000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/3w8rQ_PGhaI.mp4",
      "bytes": 4866597,
      "valid": true,
      "height": 1080,
      "width": 608,
      "duration": "96.261000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/43v7Jzp4ymw.mp4",
      "bytes": 232482281,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1332.701000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/47nFMOFl1Po.mp4",
      "bytes": 16865283,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "300.101000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/48J7gVQohyo.mp4",
      "bytes": 481356932,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2329.681000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/4JglydQO2IU.mp4",
      "bytes": 104907263,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2846.581000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/4VlXqEkNJ4o.mp4",
      "bytes": 44315438,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "924.281000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/5-3xDqhNLNE.mp4",
      "bytes": 159689784,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1779.544433",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/595h7_zYeuE.mp4",
      "bytes": 42224584,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "558.361000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/5EmUcLzsSik.mp4",
      "bytes": 8516292,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "280.521000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/5MQ63pDxULw.mp4",
      "bytes": 264452649,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3290.541000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/5coEr8ij2HY.mp4",
      "bytes": 467738890,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2116.641000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/5zzk1PtjYf8.mp4",
      "bytes": 32890448,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "1049.541000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/63QFHD64wWk.mp4",
      "bytes": 60937371,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "874.501000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/6ANTgbaPHJs.mp4",
      "bytes": 266097629,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4065.936875",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/6BqXljy10XI.mp4",
      "bytes": 368657655,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3803.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/6OyA-aFpjlc.mp4",
      "bytes": 46685152,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "702.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/6YMXjAayIRE.mp4",
      "bytes": 75282227,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1760.881000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/7-uhmRnGJpc.mp4",
      "bytes": 19842895,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "298.961000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/70SAXm6dtbo.mp4",
      "bytes": 67611018,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1424.061000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/71mubTQ90Uw.mp4",
      "bytes": 46010697,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "857.481000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/74iHzO0FapI.mp4",
      "bytes": 28942879,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "759.041000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/7CcgYaicJQ4.mp4",
      "bytes": 124971639,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3588.321000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/7JWeBUHeACQ.mp4",
      "bytes": 217324881,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1893.521000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/7L5bkMu0Pgg.mp4",
      "bytes": 192452930,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2608.061000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/7MhZ2DDg89Y.mp4",
      "bytes": 93050989,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1752.221000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/7PUb1_qcEgY.mp4",
      "bytes": 39808116,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "300.861000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/7RMs2McrtHo.mp4",
      "bytes": 73578749,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1637.921000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/7eAFdklC3I8.mp4",
      "bytes": 82115213,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "924.101000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/7kbrXcR-F_I.mp4",
      "bytes": 712726005,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "8528.561000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/7l5bfIse3Go.mp4",
      "bytes": 106930624,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1784.741000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/7nnSjZBJVDs.mp4",
      "bytes": 143060542,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1733.321000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/8Cvh8XyiUhk.mp4",
      "bytes": 15846444,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "195.033333",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/8aV-5XqomTU.mp4",
      "bytes": 260787913,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1852.581000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/8anmj9bZWgY.mp4",
      "bytes": 562421088,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "6211.501000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/8eAYvV5cXDI.mp4",
      "bytes": 440092814,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "4207.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/8mPx0yZszMg.mp4",
      "bytes": 1963631868,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "7242.441000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/8oSQR5UhxGM.mp4",
      "bytes": 154153047,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1520.421000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/8xFAwn0fvoU.mp4",
      "bytes": 318735225,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2523.801000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/96WNFpaehBU.mp4",
      "bytes": 123271078,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1599.341000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/9FKPpLsiMZA.mp4",
      "bytes": 944074458,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4523.221000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/9JdgwCzqPfw.mp4",
      "bytes": 597334163,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "7365.581000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/9TEPkRLhgSc.mp4",
      "bytes": 136530777,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1519.651467",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/9WpS3Mefbrk.mp4",
      "bytes": 291512790,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2012.381000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/9cg7zE3YMYc.mp4",
      "bytes": 127101691,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3285.281000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/9xzcoIRkAQc.mp4",
      "bytes": 166926192,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2145.341000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/9znazy4roAc.mp4",
      "bytes": 95614968,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1241.621000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/A-B5I03yDDQ.mp4",
      "bytes": 213477994,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4495.801000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/A6vjGk4S4c0.mp4",
      "bytes": 370494811,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "8292.466667",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/A8W1YOU9R4w.mp4",
      "bytes": 319518056,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "3704.661000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/AKCH-5MiYVU.mp4",
      "bytes": 64563675,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1596.461000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/AKvPoiSpHnU.mp4",
      "bytes": 70072852,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1160.301000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/AhpLb6xvtuM.mp4",
      "bytes": 50974767,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1383.298583",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Ait1_xNmxII.mp4",
      "bytes": 69919130,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1054.486767",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/AlWTJDtnLsE.mp4",
      "bytes": 853606178,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5358.221000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/AnulP5PaweA.mp4",
      "bytes": 1432932699,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "9087.541000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Au-q_N-nuU8.mp4",
      "bytes": 193194642,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1993.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/B08baRr2LlY.mp4",
      "bytes": 111071414,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1327.961000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/B2-29F5X9s4.mp4",
      "bytes": 664021927,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5297.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/B2D6b0zZILo.mp4",
      "bytes": 11152171,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "173.101000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/B66760rvHA8.mp4",
      "bytes": 96603272,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1285.181000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/BJPXDpcSYtg.mp4",
      "bytes": 39650056,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1159.221000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/BZ5uKU1ITz4.mp4",
      "bytes": 120528954,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2277.161000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/BjBlyIgdSoA.mp4",
      "bytes": 78448001,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1686.301000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/BlRB-bzgFYk.mp4",
      "bytes": 5709110,
      "valid": true,
      "height": 1080,
      "width": 1080,
      "duration": "101.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Bs1zKK88n3w.mp4",
      "bytes": 210267832,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2696.381000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/BscPlBafyDA.mp4",
      "bytes": 105390222,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2213.301000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/C-3lHZSBx0A.mp4",
      "bytes": 45723389,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "655.841000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/C1JRkfL_GOk.mp4",
      "bytes": 563173164,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "6137.301000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/C24JHHFwhaw.mp4",
      "bytes": 33287429,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "393.361000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/C4HW-HYCcm8.mp4",
      "bytes": 471742830,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "7767.561000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/C4JQYwOfBgY.mp4",
      "bytes": 242697348,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1338.981000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/CP21JmGtUR0.mp4",
      "bytes": 49078641,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1005.841000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/CZc_UjHmDAg.mp4",
      "bytes": 299577085,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2771.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Co9jcrbI_QQ.mp4",
      "bytes": 200471236,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4061.432375",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/DJlRxUHuh5E.mp4",
      "bytes": 66684533,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1784.961000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/DUDpj5115l8.mp4",
      "bytes": 74201165,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1694.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/DVz084WLZ1Q.mp4",
      "bytes": 33121169,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "714.521000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/DWrm3ggIgF0.mp4",
      "bytes": 288873789,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1271.441000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/DYri0iAZrC8.mp4",
      "bytes": 47067421,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "659.867542",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/DbT_x9Z_phw.mp4",
      "bytes": 429057490,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1552.241000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Dbm79TpLI3E.mp4",
      "bytes": 361513989,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5048.221000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Dj72XpkT2Eg.mp4",
      "bytes": 674595840,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4114.541000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Do3-IY1ndL4.mp4",
      "bytes": 226078270,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "3314.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/E4RlO3Rm5so.mp4",
      "bytes": 316100141,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1554.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/E7-YJOPIgvc.mp4",
      "bytes": 107833023,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "1457.701000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/EQDnIBCKZr0.mp4",
      "bytes": 160989176,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3087.084000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/E_kpn3QjGNw.mp4",
      "bytes": 110135981,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1357.823133",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/EqEypFPPdAY.mp4",
      "bytes": 590059110,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5355.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ErUrRbXfdJs.mp4",
      "bytes": 101036117,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2079.981000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/EtILfUI4BLc.mp4",
      "bytes": 1219021670,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4340.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/F--_SOlufpE.mp4",
      "bytes": 519636853,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2554.481000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/F-SzUTvNOmc.mp4",
      "bytes": 387844635,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4279.341733",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/FEVCmJXc7eI.mp4",
      "bytes": 219742908,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2341.341000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/FHuMORlAOP0.mp4",
      "bytes": 73373242,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1567.221000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/FN7cS6bZxVg.mp4",
      "bytes": 563874135,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2408.981000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/FaFFQK9uYxM.mp4",
      "bytes": 82872667,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1419.381000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/FmKfSaPK_dM.mp4",
      "bytes": 81662059,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1942.961000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/FooxrbFlGOA.mp4",
      "bytes": 31476630,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "967.481000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/FvgIslZZtR4.mp4",
      "bytes": 120417037,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3183.741000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/G-yleO61exg.mp4",
      "bytes": 120588413,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1207.681000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/G2SonFFmwgk.mp4",
      "bytes": 1393830896,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5605.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/GFGbzYr1WX4.mp4",
      "bytes": 68257198,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "1749.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/GI312pPQIUM.mp4",
      "bytes": 156878036,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "2397.041000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/GJx4CVVd1_M.mp4",
      "bytes": 17698957,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "96.341000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/GPkJMbXbcDM.mp4",
      "bytes": 479419964,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3593.241000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/GW4fvWwd0NE.mp4",
      "bytes": 37922963,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "659.461000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/GlpY_B1mmyY.mp4",
      "bytes": 57265337,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1044.641000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/GpVPSIbDQUw.mp4",
      "bytes": 212854274,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "816.481000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/GtPOq5Wybkc.mp4",
      "bytes": 31034151,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "802.921000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/GvqXb95Ipmw.mp4",
      "bytes": 148075055,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "905.901000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/HJTy6MnrLls.mp4",
      "bytes": 499919640,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "5611.461000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/HWs_aHk79og.mp4",
      "bytes": 178962959,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3494.361000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Hc2Xk7JaJ9k.mp4",
      "bytes": 205683842,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "922.941000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Hd22uDfvUFw.mp4",
      "bytes": 231477715,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2717.548167",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/HguVyFCriWo.mp4",
      "bytes": 34553213,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "613.161000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/HlCW8Fo_Upg.mp4",
      "bytes": 128094529,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1449.714933",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Ho5f9rnMc9k.mp4",
      "bytes": 522146280,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4242.181000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Htv7yYAlsyc.mp4",
      "bytes": 240515109,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1788.301000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/HuRQDDUNNZU.mp4",
      "bytes": 612939478,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3234.221000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/HyndWTl9gGA.mp4",
      "bytes": 774342397,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3326.041000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/IdynmrSFx9A.mp4",
      "bytes": 26712732,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "378.061000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/IoCQYZRIUjQ.mp4",
      "bytes": 118893338,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2151.061000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/JBsrpo1iWPk.mp4",
      "bytes": 303281023,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5572.461000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/JK1eJiocGDI.mp4",
      "bytes": 48026084,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "978.341000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/JVIiPaCFB78.mp4",
      "bytes": 196046668,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2039.704333",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/JfA9TzTV5-k.mp4",
      "bytes": 1900678,
      "valid": true,
      "height": 1080,
      "width": 608,
      "duration": "33.521000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/JpYUu13r7_g.mp4",
      "bytes": 148016888,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2300.761000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/JrZ2PDkQmhs.mp4",
      "bytes": 319707406,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2700.661000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/JzTO_gFw_sA.mp4",
      "bytes": 337604027,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2879.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/JzoIHdkFcQU.mp4",
      "bytes": 117354669,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1117.701000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/K4I6I1CVNrQ.mp4",
      "bytes": 8911030,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "182.361000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/KIQ_27Y0I1c.mp4",
      "bytes": 176774058,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2900.564333",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/KPc04bX-cXw.mp4",
      "bytes": 88256580,
      "valid": true,
      "height": 1080,
      "width": 1440,
      "duration": "2769.641000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Kefqr1GGGT8.mp4",
      "bytes": 112301565,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1564.501000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/KnSeSdXMX_Q.mp4",
      "bytes": 1693262394,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "6125.761000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Ko4XCu87DsA.mp4",
      "bytes": 34012306,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "610.641000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/L3D6rNwqqpo.mp4",
      "bytes": 121363629,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1637.369067",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/LPnLRkOSkNA.mp4",
      "bytes": 81936942,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1787.118667",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/LXCQJGo4Os8.mp4",
      "bytes": 12213652,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "273.101000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/LodJDBkl_s4.mp4",
      "bytes": 704758788,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2666.241000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/LrLvAIIs8nU.mp4",
      "bytes": 91944752,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1859.521000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Lr_04A_z2ko.mp4",
      "bytes": 175014338,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2508.601000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Ly8QN86_2Os.mp4",
      "bytes": 102999925,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "896.695800",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/LzrCIlB3n38.mp4",
      "bytes": 279787060,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2512.061000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/M-G2otsDMOA.mp4",
      "bytes": 72400534,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1393.381000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/MQYHgxh8SNk.mp4",
      "bytes": 87037623,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1152.541000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/MR2MOpwZJ-0.mp4",
      "bytes": 995939546,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5355.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/MXbDiXG3k0U.mp4",
      "bytes": 339141480,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4492.941000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/MXi0gMJPRRs.mp4",
      "bytes": 425377293,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4422.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/MkZQI1y8e8Q.mp4",
      "bytes": 75989538,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "789.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Mo1Xrnp9qgI.mp4",
      "bytes": 20303637,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "167.521000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Mq6t0dNwYXY.mp4",
      "bytes": 239072133,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3265.421000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/MqC92j3erWc.mp4",
      "bytes": 45484790,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "750.641000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Ms25KU1eDC0.mp4",
      "bytes": 115817646,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2462.601000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/MxKPaF8nP2c.mp4",
      "bytes": 37473126,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "514.781000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/N96CZf8LJXI.mp4",
      "bytes": 1125191816,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5411.401000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/NPJTAcyi5vw.mp4",
      "bytes": 404797756,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3232.741000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/NUvujp-ixYY.mp4",
      "bytes": 339609331,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2098.741000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/NVO7dU6A8CM.mp4",
      "bytes": 92058949,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1429.941000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/NhyGImQMrhs.mp4",
      "bytes": 88145792,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2310.921000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/NlMgH0J2_DE.mp4",
      "bytes": 42896493,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "556.514292",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/O0FuZVCgWTQ.mp4",
      "bytes": 167189445,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2202.733867",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/O4KAJsh2Oe8.mp4",
      "bytes": 569286594,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5055.461000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ORDtWKft16g.mp4",
      "bytes": 43455572,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "983.161000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/OXE6U7QqYQo.mp4",
      "bytes": 25940240,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "475.266458",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/OYZqZ2RLwWQ.mp4",
      "bytes": 40426025,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "814.281000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/O_zGfyGRL78.mp4",
      "bytes": 72309374,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1600.061000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Ojl5C6xvlVU.mp4",
      "bytes": 362163063,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4661.501000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/OniSl_9DPwg.mp4",
      "bytes": 282115441,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1664.501000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/OsM5JPFHORI.mp4",
      "bytes": 85686058,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "856.661000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/OtvkORF_bJU.mp4",
      "bytes": 100440072,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2393.121000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/P0MTXaeUJ9s.mp4",
      "bytes": 145476986,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "686.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/P7m7BqJdYHk.mp4",
      "bytes": 1499851576,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5780.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/PQVg6pyBV5E.mp4",
      "bytes": 307564246,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4766.341000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Pqi-y5fBEVY.mp4",
      "bytes": 371328214,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2104.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Q3dw7kEnZyU.mp4",
      "bytes": 3716311,
      "valid": true,
      "height": 1080,
      "width": 608,
      "duration": "110.201000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/QBHjpjymqbM.mp4",
      "bytes": 134563311,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1337.061000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/QEZ8oF4A68k.mp4",
      "bytes": 191818193,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2937.981000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/QmFnbmaZaAg.mp4",
      "bytes": 89620466,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "1388.501000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/QyYefiw__0Q.mp4",
      "bytes": 209050128,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2233.581000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/QyqshOG098o.mp4",
      "bytes": 102132510,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2236.301000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/R2u97_olrXc.mp4",
      "bytes": 56181348,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1221.601000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/RIgtyz_bIqI.mp4",
      "bytes": 346757088,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1518.221000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ROOuUS4uX4M.mp4",
      "bytes": 20879620,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "427.781000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/RQfceE2yIOE.mp4",
      "bytes": 28141065,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "635.741000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/RRP0czWtOeM.mp4",
      "bytes": 209838411,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2034.361000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/RvT8CRpcaQM.mp4",
      "bytes": 79418925,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1277.421000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/RyUwQ-OaigM.mp4",
      "bytes": 2320470,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "53.841000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/S8l-zzHD8Gg.mp4",
      "bytes": 18901704,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "379.295583",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/SGOzu-zV3-c.mp4",
      "bytes": 64744437,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1042.961000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/SZ7I8P1VpiE.mp4",
      "bytes": 20965210,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "131.001000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/SZNqENbc9f4.mp4",
      "bytes": 238800272,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2793.081000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/T3puf6gj8jg.mp4",
      "bytes": 331826086,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1735.481000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/TBDPCmoP8yc.mp4",
      "bytes": 352189483,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1699.441000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/TGWewXRNCdQ.mp4",
      "bytes": 67374893,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "883.521000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/TMvrJrccdUM.mp4",
      "bytes": 68625700,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "494.221000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/TtbT_NLUD4E.mp4",
      "bytes": 700061623,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "7560.581000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/TxzSMGXP2C4.mp4",
      "bytes": 262631326,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2357.521000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/U2FaJzh4P_U.mp4",
      "bytes": 157441319,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2509.201000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/U2JeCvt-qN0.mp4",
      "bytes": 2062474267,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "6499.681000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/UA4rDcq5Cuo.mp4",
      "bytes": 199170828,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2827.581000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/UIKGMaWSFv8.mp4",
      "bytes": 891333140,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "9585.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/UNkXgDjkIsA.mp4",
      "bytes": 522745994,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "6159.781000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/UfDGoiHpJ3w.mp4",
      "bytes": 315166971,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2834.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/UzDiT2rJYK4.mp4",
      "bytes": 183296763,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3767.066667",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/V41CiBNQ7_k.mp4",
      "bytes": 68545530,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1321.281000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/V5GfCW5z5aY.mp4",
      "bytes": 417083315,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1939.901000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/VY8Pw8ll1no.mp4",
      "bytes": 113103968,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3137.281000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/VeIOalL5ROY.mp4",
      "bytes": 24798340,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "94.966667",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/VeW5w2kjKLU.mp4",
      "bytes": 182471985,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "1707.901000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Vpp0VbX9X-Q.mp4",
      "bytes": 99621153,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1977.541000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/W4Yjd-nPB1A.mp4",
      "bytes": 102523479,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2555.201000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/WFApqb93YDk.mp4",
      "bytes": 21408817,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "653.501000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/WROhkDgKudc.mp4",
      "bytes": 59706536,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1596.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/WS84lMl2AeI.mp4",
      "bytes": 42603892,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "696.701000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/WZ1UqeJ4ZAQ.mp4",
      "bytes": 16165719,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "90.701000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/WZdxt9xatrY.mp4",
      "bytes": 131157929,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1400.661000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Was40HqtPq4.mp4",
      "bytes": 386947325,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "6478.501000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/WhSbp9-_PNM.mp4",
      "bytes": 1364964424,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5230.181000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/WhshZ7NmDZA.mp4",
      "bytes": 44681324,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "499.421000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/WmTtZPC-H34.mp4",
      "bytes": 65288793,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2154.281000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/XIR4Pv4l3mQ.mp4",
      "bytes": 20028634,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "411.921000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/XIZs_A6YbA0.mp4",
      "bytes": 41724772,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "108.308200",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/XOfqyPoMkEo.mp4",
      "bytes": 114867910,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1898.441000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/XY03OPE5d7M.mp4",
      "bytes": 39748029,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "307.001000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/XiHgT_s_mmk.mp4",
      "bytes": 61721889,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "829.401000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Y18rmbLLQu0.mp4",
      "bytes": 95386001,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1866.961000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/YC84JttxdoA.mp4",
      "bytes": 66606134,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1675.382042",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/YRu1sbqlCxc.mp4",
      "bytes": 78384571,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "1304.641000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Yipntan7CAQ.mp4",
      "bytes": 281763097,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2542.541000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/YrTu7ch8dcU.mp4",
      "bytes": 47626060,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "583.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Yxz-MkGPfEw.mp4",
      "bytes": 728015975,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1278.381000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Z74PBDnnDQE.mp4",
      "bytes": 252699855,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3082.633000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ZBwJBrMQ5yg.mp4",
      "bytes": 121015180,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "988.981000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ZIWaOkFHSRA.mp4",
      "bytes": 15566072,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "275.800000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ZJZOXyHnVoc.mp4",
      "bytes": 120445581,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1738.201000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ZhSYKfmPuM8.mp4",
      "bytes": 533473020,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3150.281000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Zk3410wQ-bY.mp4",
      "bytes": 36197967,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "469.800000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/Zx70kAoDrOI.mp4",
      "bytes": 342445820,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1772.081000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ZyYS1AtCpvE.mp4",
      "bytes": 2945022,
      "valid": true,
      "height": 1080,
      "width": 608,
      "duration": "92.041000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ZzRVxTgv4-c.mp4",
      "bytes": 57314335,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1006.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/_74FK5IE1i4.mp4",
      "bytes": 183090880,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "3325.001000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/_DdjGxw6hnE.mp4",
      "bytes": 30857466,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "657.681000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/_JLRu1HZOpY.mp4",
      "bytes": 701792098,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2525.041000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/_UX2lfWbjn8.mp4",
      "bytes": 18800044,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "127.041000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/_VSo_SC-m1A.mp4",
      "bytes": 91898303,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "933.432500",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/_WuKtNKaT04.mp4",
      "bytes": 126132452,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2976.401000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/_Y4nz4UN9Ys.mp4",
      "bytes": 230536301,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2623.741000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/_ZIR70kJ9pg.mp4",
      "bytes": 1237964886,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "11243.221000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/__obggWom4M.mp4",
      "bytes": 91790065,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2107.701000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/_luFlo5SPFY.mp4",
      "bytes": 40361417,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "832.121000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/_oGa6cETTDg.mp4",
      "bytes": 523474246,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3697.101000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/_rlt4mzLDLc.mp4",
      "bytes": 14368417,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "381.781000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/_wnb-4lSOwo.mp4",
      "bytes": 124889073,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2341.305633",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/aHDGHPQ0RgE.mp4",
      "bytes": 243257327,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2808.281000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/aHsOjGcZLDM.mp4",
      "bytes": 143644955,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "896.461000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/aLrnwbdEFng.mp4",
      "bytes": 786118519,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "6471.261000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/abJtisIVZm8.mp4",
      "bytes": 875272,
      "valid": true,
      "height": 1080,
      "width": 608,
      "duration": "15.061000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/b0mQjv0mziU.mp4",
      "bytes": 261433368,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2753.481000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/b6e0AdjCJME.mp4",
      "bytes": 470712799,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4605.381000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/bBWRX-vJk4s.mp4",
      "bytes": 236599620,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5944.188250",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/bJbEfz3a2SE.mp4",
      "bytes": 271376458,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1517.121000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/bTOEuaRqhWM.mp4",
      "bytes": 729783207,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "8127.381000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/bfoU5B5TD1E.mp4",
      "bytes": 353658512,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1900.421000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/btK72JpVAeI.mp4",
      "bytes": 677880454,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3199.861000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/c7yl0GS2mJQ.mp4",
      "bytes": 617467011,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "7009.241000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/c8p9_62auAM.mp4",
      "bytes": 66544884,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1068.321000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/cGBTURJNRy4.mp4",
      "bytes": 140487145,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2331.461000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/cH9TJ5j7Plo.mp4",
      "bytes": 14767385,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "137.761000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/cKCt7RHfuyA.mp4",
      "bytes": 224978522,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2219.817600",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/cM4Bkon5q4U.mp4",
      "bytes": 379788623,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4503.221000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/cN3osnZh2NQ.mp4",
      "bytes": 66448607,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1457.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/cTIzVReqSBY.mp4",
      "bytes": 127577276,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "1876.741000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/cd94CXu4naA.mp4",
      "bytes": 216181869,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5805.257792",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/cy7vzuuADBc.mp4",
      "bytes": 64427576,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "1628.933333",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/d4r79nzwD-M.mp4",
      "bytes": 28760644,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "448.322875",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/dGN7Zm0UZuk.mp4",
      "bytes": 97041232,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1767.198767",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/dK99eo480eQ.mp4",
      "bytes": 135196191,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3019.599917",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/dVjgkqObE80.mp4",
      "bytes": 199252274,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "2598.341000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/dbO4gean8IA.mp4",
      "bytes": 109994870,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2638.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/dhf4GZN4iPg.mp4",
      "bytes": 280870702,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1900.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/dyDxAS5M7AU.mp4",
      "bytes": 291553669,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3632.541000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/eCLPhBraORI.mp4",
      "bytes": 461775167,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2403.401000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/eRXlGa325eM.mp4",
      "bytes": 287450715,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2090.781000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/erzQcD2EOZ4.mp4",
      "bytes": 332847671,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3433.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/exieHhpQ85o.mp4",
      "bytes": 494459355,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4901.666000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/f3O1eKucLA8.mp4",
      "bytes": 239259211,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4685.305625",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/fSesQpDyMG0.mp4",
      "bytes": 63530624,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1312.561250",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/fU-pDnwrq1g.mp4",
      "bytes": 226670800,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2086.784700",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/fWrPpQL9xRQ.mp4",
      "bytes": 192399760,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1374.901000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/fZOydE781Zc.mp4",
      "bytes": 15952075,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "154.061000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/fajs2DCEklA.mp4",
      "bytes": 59243922,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1828.801000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/fzBtzFv8uJ8.mp4",
      "bytes": 44296991,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1094.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/fzeyltUvaiE.mp4",
      "bytes": 277166379,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3212.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/g4MSvklUNA4.mp4",
      "bytes": 151696639,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "932.481000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/g5g6Cmr283c.mp4",
      "bytes": 14503425,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "96.201000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/g7yqy94Fsr8.mp4",
      "bytes": 31966580,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "830.181000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/gBR9M6viTm8.mp4",
      "bytes": 341887893,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1941.341000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/gHGZnyWdXOc.mp4",
      "bytes": 157855005,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1750.482067",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/gPoLPAr4kSI.mp4",
      "bytes": 40952659,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "1061.281000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/gc6JOZlmpUc.mp4",
      "bytes": 261063388,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5079.201000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/gjjAyZWFkds.mp4",
      "bytes": 343851007,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1926.521000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/h7sEx05aAn0.mp4",
      "bytes": 314029203,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1282.781000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/hGCj05xA2FE.mp4",
      "bytes": 490256564,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "4082.066667",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/hMYgw629sgA.mp4",
      "bytes": 191483185,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1790.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/hXJzFYL1wk0.mp4",
      "bytes": 1488098433,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5677.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/hXX1mHZEuXk.mp4",
      "bytes": 313595021,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2960.301000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/hbuV2GuPK78.mp4",
      "bytes": 38313258,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "877.421000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/hgBKShWAF18.mp4",
      "bytes": 52951682,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "961.361000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/hgs5lcwj7YQ.mp4",
      "bytes": 33871724,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "749.941000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/hjvkxWxmmW0.mp4",
      "bytes": 53391909,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "962.061000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ht27bIEMt84.mp4",
      "bytes": 19955618,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "438.561000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/hvVD7I7Af88.mp4",
      "bytes": 79456504,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "1527.421000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/i5Et50umrUA.mp4",
      "bytes": 333132394,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1200.881000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/iBOSLSzKRNU.mp4",
      "bytes": 681244425,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "7984.921000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/iHJkfsV9cqY.mp4",
      "bytes": 199424527,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2359.641000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/iM_0ER5ZVnk.mp4",
      "bytes": 187636520,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "939.741000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/iMhd2LPM1Lo.mp4",
      "bytes": 171315635,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2162.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/iSK3-u6ZOG0.mp4",
      "bytes": 70400690,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1061.894167",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/iSuKyidFXSU.mp4",
      "bytes": 26631561,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "556.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/iZaWHylSvh0.mp4",
      "bytes": 251016754,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3992.361000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/i_xK2l68RA8.mp4",
      "bytes": 36941986,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1222.121000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ioYLHUH_ZuI.mp4",
      "bytes": 236445698,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3389.301000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ipVQTnbnR8o.mp4",
      "bytes": 86509820,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "987.661000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/izd6UOmxOrU.mp4",
      "bytes": 615728484,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3248.381000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/j-i1UyQQbuE.mp4",
      "bytes": 797228497,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "6044.701000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/jKaNR7cYHVE.mp4",
      "bytes": 452611080,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4384.066000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/jLFYCWSOWSo.mp4",
      "bytes": 178177147,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2139.961000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/jY77rPNFWZo.mp4",
      "bytes": 118847835,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2901.481000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/jbxasX6lcIk.mp4",
      "bytes": 19591281,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "236.301000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/jgClN29nzQE.mp4",
      "bytes": 549982262,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5281.001000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/jneVJVA2OyQ.mp4",
      "bytes": 662275427,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "7149.581000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/jrAc2JWJI_w.mp4",
      "bytes": 28926517,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "955.361000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/k-DgeJqDQk0.mp4",
      "bytes": 155303352,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2287.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/k2O8SyLVbkc.mp4",
      "bytes": 90955722,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "2202.961000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/kCRlEwjp7JU.mp4",
      "bytes": 69998292,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "875.401000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/kHN9Tnmy7Bs.mp4",
      "bytes": 20904222,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "370.341000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/k_0RAJXxTFg.mp4",
      "bytes": 320011572,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2101.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/kiYvNcmg8o4.mp4",
      "bytes": 196754932,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2688.541000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/kq19i7MVuyY.mp4",
      "bytes": 880830060,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4538.861000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/kqO4dm-ER7U.mp4",
      "bytes": 697478403,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3398.501000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/kyUQgjFUdiQ.mp4",
      "bytes": 41015760,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1059.501000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ky_Dlfnsk9M.mp4",
      "bytes": 1399079992,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5495.241000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/l1qyhy5oZNQ.mp4",
      "bytes": 79388077,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "1486.201000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/l7i_qywmtSU.mp4",
      "bytes": 123376960,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2520.000000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/lDyIRg9UfBU.mp4",
      "bytes": 545656306,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2148.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/lMO1sTRD378.mp4",
      "bytes": 184776295,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3750.581000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/lZaTWhUG0LY.mp4",
      "bytes": 616032422,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "6838.233333",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/lgC3GSSsYdk.mp4",
      "bytes": 125747209,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2547.836958",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ls47CPFU1vE.mp4",
      "bytes": 25564749,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "387.581000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ltl-VPI-fwY.mp4",
      "bytes": 721531347,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "7333.121000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/m4qwWPlqhHA.mp4",
      "bytes": 41120402,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "887.241000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/m5CX5wN40VE.mp4",
      "bytes": 334845556,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "3097.261000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/m5khwmWzBhk.mp4",
      "bytes": 24508615,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "673.761000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/mGRAZ5CyxYU.mp4",
      "bytes": 20721560,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "125.121000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/mLwdx5IxjwU.mp4",
      "bytes": 358644,
      "valid": true,
      "height": 720,
      "width": 620,
      "duration": "48.121000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/mXhpDTKSzVI.mp4",
      "bytes": 75067643,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1424.131042",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/m_enPucy4Cg.mp4",
      "bytes": 108460070,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "1345.341000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/mciDykbYzYA.mp4",
      "bytes": 236801901,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1544.481000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/mdpW5C7TuaM.mp4",
      "bytes": 81445984,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1501.321000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/mhitt9QV3fE.mp4",
      "bytes": 524788498,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2932.461000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/mjdTwwY5oeE.mp4",
      "bytes": 35317234,
      "valid": true,
      "height": 720,
      "width": 1152,
      "duration": "1027.861000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/nCErFS1vHCQ.mp4",
      "bytes": 2901095,
      "valid": true,
      "height": 720,
      "width": 720,
      "duration": "73.661000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/nDYg6h4tdzU.mp4",
      "bytes": 14385361,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "89.361000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/nGAJf69xZVA.mp4",
      "bytes": 114814829,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2232.981000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/nJMEoiMUnTM.mp4",
      "bytes": 132154858,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3994.365375",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/nMjoHcFaMHY.mp4",
      "bytes": 944402000,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3279.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/npCpQZNu2MU.mp4",
      "bytes": 454463557,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4553.401000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/nzsA8AzByrQ.mp4",
      "bytes": 278012611,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2818.041000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/o13m6nKesBA.mp4",
      "bytes": 177340740,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "3486.421000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/o98-phSua6k.mp4",
      "bytes": 133827481,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1613.501000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/oBiewjL4y2E.mp4",
      "bytes": 437568810,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2252.401000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/oC4xgStpFRU.mp4",
      "bytes": 497938960,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "7428.901000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/oLDWdtUzXf8.mp4",
      "bytes": 175988966,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "2685.181000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/oMLs9mwbGjw.mp4",
      "bytes": 138095862,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3442.861000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ob-WI4kJagQ.mp4",
      "bytes": 21969943,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "174.541033",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/odp8JzkKIRU.mp4",
      "bytes": 44914995,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "830.701000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/opcdWsHzMLQ.mp4",
      "bytes": 196592819,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3303.301000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/p2QlkuV4ito.mp4",
      "bytes": 196431600,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2278.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/pEAsHz4hEzI.mp4",
      "bytes": 60599389,
      "valid": true,
      "height": 720,
      "width": 1152,
      "duration": "1863.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/pHz2TwM7UdI.mp4",
      "bytes": 123984762,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1499.221000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/pJqt5hr4Hs4.mp4",
      "bytes": 313921287,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3387.161000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/pLzAk8hkiEw.mp4",
      "bytes": 166523242,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1456.588467",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/pM54ZLMU-1U.mp4",
      "bytes": 205649800,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "863.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/pTszM3YN7_8.mp4",
      "bytes": 891289983,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3614.461000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/pWVN9W7shOs.mp4",
      "bytes": 9699219,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "41.601000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/p__H-x_vIQw.mp4",
      "bytes": 6977473,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "170.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/q1DusuAG6sw.mp4",
      "bytes": 102237663,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "945.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/q4a2jvEWEBc.mp4",
      "bytes": 283050182,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1802.381000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/qOTrmRmn0wk.mp4",
      "bytes": 81578972,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1838.001000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/qQHVDAPuuI4.mp4",
      "bytes": 9803106,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "194.281000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/qZFisE7XPYU.mp4",
      "bytes": 5086640,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "26.726700",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/qagxesavBhY.mp4",
      "bytes": 90873363,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2098.901000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/qmBuhn0TFGo.mp4",
      "bytes": 532482363,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "5069.261000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/qucMoMdo4ak.mp4",
      "bytes": 42993352,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "516.901000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/qyeUfY4LjQM.mp4",
      "bytes": 74662381,
      "valid": true,
      "height": 720,
      "width": 1152,
      "duration": "1202.501000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/rKISic-EA94.mp4",
      "bytes": 32977763,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "887.661000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/rT0UOyJjOaE.mp4",
      "bytes": 54144676,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1053.281000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/rbQirv2xhLk.mp4",
      "bytes": 48379807,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "766.161000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/rfYVwCn_aPs.mp4",
      "bytes": 67752091,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "456.401000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/rjqUkYYNCw4.mp4",
      "bytes": 823995289,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3260.061000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/rloG2pKJf70.mp4",
      "bytes": 58038206,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1539.041000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/sITo94WlyPA.mp4",
      "bytes": 377770048,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "3706.821000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/sLu2zoOZC6E.mp4",
      "bytes": 88732758,
      "valid": true,
      "height": 720,
      "width": 1152,
      "duration": "2205.501000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/sOSkkDz7bW0.mp4",
      "bytes": 223355519,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "3852.961000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/sTjZmtywUyU.mp4",
      "bytes": 576995451,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2677.321000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/soCta4FNo0c.mp4",
      "bytes": 87181166,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "686.161000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/t6a5BNEHzwM.mp4",
      "bytes": 353216923,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3985.861000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/t8T43ayNPTQ.mp4",
      "bytes": 206130185,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1980.411767",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/tG2IRt5-pKA.mp4",
      "bytes": 169158922,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1041.981000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/tJRIBg1qcFw.mp4",
      "bytes": 265220525,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2581.145233",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/tPv1S_ysUa4.mp4",
      "bytes": 737212477,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "6378.181000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/tWOPD_N_f2k.mp4",
      "bytes": 362342176,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1647.741000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/tgTERTDQJcw.mp4",
      "bytes": 527900084,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "6327.633000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/twlI_j45Fv4.mp4",
      "bytes": 120603665,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1713.441000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/u6m8GnYt5LI.mp4",
      "bytes": 636943379,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3490.033333",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/uZE8vtwy_Q4.mp4",
      "bytes": 176543534,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "4020.321000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ukZTjkkhjOk.mp4",
      "bytes": 202425736,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2771.921000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/vw7UZLxBfO8.mp4",
      "bytes": 64411093,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1596.901000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/w4xmEPnUHko.mp4",
      "bytes": 673837414,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "2554.921000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/wHzUEgE9Egg.mp4",
      "bytes": 667714784,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "8922.741000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/wOe5Wj85zZM.mp4",
      "bytes": 52690558,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1046.701000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/w_g6L8qlBMw.mp4",
      "bytes": 65804599,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "438.581000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/wfqXrkgpo4A.mp4",
      "bytes": 912142202,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4221.181000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/wwKv3AMx0b0.mp4",
      "bytes": 795711458,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "6230.461000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/x0ME6k2HHlQ.mp4",
      "bytes": 465926624,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3267.941000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/xOzsKHcz6wU.mp4",
      "bytes": 69073652,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "574.381000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/xWYS1v7pSY0.mp4",
      "bytes": 125383811,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "850.781000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/xfDd3vndAfw.mp4",
      "bytes": 76261845,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "897.301000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/xi59Ty1FXJ4.mp4",
      "bytes": 51485517,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "736.561000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/xpycAr9AXBQ.mp4",
      "bytes": 290230933,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1808.741000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/xyJNb8-GGdA.mp4",
      "bytes": 205409321,
      "valid": true,
      "height": 720,
      "width": 1280,
      "duration": "4384.881000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/y7MuNypx_4g.mp4",
      "bytes": 70070338,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1855.021000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/yOMqxazoLW8.mp4",
      "bytes": 53399439,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1113.278833",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/yUxtFHzqzDI.mp4",
      "bytes": 80668566,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "453.119000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/yZ08iWF_iaU.mp4",
      "bytes": 38363652,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "913.681000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/ymvfv4kL_9I.mp4",
      "bytes": 1220696276,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "4609.621000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/yspTGOlPdII.mp4",
      "bytes": 261302804,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1428.281000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/z2d-BxKUfWE.mp4",
      "bytes": 376578923,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3258.141000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/zZp5tRwIhzc.mp4",
      "bytes": 549442967,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5531.601000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/zrPSCBuqoMA.mp4",
      "bytes": 196395666,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1246.161000",
      "status": "ok"
    },
    {
      "local_path": "attachments/cc1b913f8655/videos/zzAUSYBFfEg.mp4",
      "bytes": 70299193,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1015.281000",
      "status": "ok"
    }
  ],
  "body_chars": 31321,
  "expected_body_images": 8,
  "discovery_status": "ok",
  "delivery_status": "ok",
  "missing_reason": "",
  "raw_html": "attachments/cc1b913f8655/pages/source.html",
  "local_html": "attachments/cc1b913f8655/pages/article.html",
  "body_base_path": "attachments/cc1b913f8655/pages/",
  "body_markdown_path": "attachments/cc1b913f8655/pages/article.md"
}