title
Setting up API and Vision Intro - Google Cloud Python Tutorials p.2
description
Welcome everyone to part 2 of the Google Cloud tutorial series. In this tutorial, we're going to be covering the vision API, but also covering the initial set up for just about any of the APIs. Some of the setup that we do here will only need to be done once in this series.
Sample code: https://pythonprogramming.net/vision-api-intro-google-cloud-tutorial/
https://twitter.com/sentdex
https://www.facebook.com/pythonprogramming.net/
https://plus.google.com/+sentdex
detail
{'title': 'Setting up API and Vision Intro - Google Cloud Python Tutorials p.2', 'heatmap': [{'end': 121.954, 'start': 98.347, 'weight': 0.822}, {'end': 199.137, 'start': 163.266, 'weight': 0.83}, {'end': 295.51, 'start': 266.898, 'weight': 0.711}, {'end': 491.219, 'start': 477.484, 'weight': 0.709}, {'end': 606.225, 'start': 587.457, 'weight': 0.726}], 'summary': 'Tutorial covers the setup of google cloud vision api, including initial installation, capabilities such as object recognition and metadata provision, setting up google cloud api with pip installation, creating api credentials, configuring environment variables, using vision api in python to analyze images, and discussing vision api label attributes, limitations, and potential use cases.', 'chapters': [{'end': 95.377, 'segs': [{'end': 44.025, 'src': 'embed', 'start': 1.854, 'weight': 0, 'content': [{'end': 6.56, 'text': 'Welcome everybody to part two of our Google Cloud tutorial mini-series.', 'start': 1.854, 'duration': 4.706}, {'end': 15.135, 'text': "In this video, what we're gonna be doing is covering the first API, but also just kind of how to set up any of the APIs that you're gonna use.", 'start': 7.253, 'duration': 7.882}, {'end': 21.597, 'text': "Cause the first time you go through this, you've got to deal with some sort of API validation key and stuff like that.", 'start': 15.175, 'duration': 6.422}, {'end': 27.418, 'text': 'So also you have to install the actual Google cloud stuff to work on the server.', 'start': 21.697, 'duration': 5.721}, {'end': 32.198, 'text': "So anyway, the first one that we're gonna work with is the actual vision API.", 'start': 27.498, 'duration': 4.7}, {'end': 38.082, 'text': 'So this is something you can feed an image to, and it can, And the API will basically give you information on this image.', 'start': 32.499, 'duration': 5.583}, {'end': 39.723, 'text': "what's in the image?", 'start': 38.082, 'duration': 1.641}, {'end': 41.384, 'text': 'what is the image about?', 'start': 39.723, 'duration': 1.661}, {'end': 44.025, 'text': 'It can even give you some metadata on that image.', 'start': 41.824, 'duration': 2.201}], 'summary': "Covering setup and usage of google cloud's vision api for image analysis.", 'duration': 42.171, 'max_score': 1.854, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y41854.jpg'}], 'start': 1.854, 'title': 'Google cloud vision api setup', 'summary': 'Covers the setup of google cloud vision api, including the initial installation process and the capabilities of the api to provide information and metadata on images, such as recognizing objects and providing relevant wikipedia pages.', 'chapters': [{'end': 95.377, 'start': 1.854, 'title': 'Google cloud vision api setup', 'summary': 'Covers the setup of google cloud vision api, including the initial installation process, and the capabilities of the api to provide information and metadata on images, such as recognizing objects and providing relevant wikipedia pages.', 'duration': 93.523, 'highlights': ['The API provides information on images, such as identifying objects and providing metadata, like Wikipedia pages, based on the content of the image.', 'Initial setup involves dealing with API validation keys and installing the necessary Google Cloud tools on the server.', 'The tutorial focuses on setting up the Google Cloud Vision API and the process of working with it to obtain information about images.']}], 'duration': 93.523, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y41854.jpg', 'highlights': ['The API provides information on images, such as identifying objects and providing metadata, like Wikipedia pages, based on the content of the image.', 'The tutorial focuses on setting up the Google Cloud Vision API and the process of working with it to obtain information about images.', 'Initial setup involves dealing with API validation keys and installing the necessary Google Cloud tools on the server.']}, {'end': 665.339, 'segs': [{'end': 127.327, 'src': 'heatmap', 'start': 98.347, 'weight': 0.822, 'content': [{'end': 102.028, 'text': "And what I'm going to do here is first let's go ahead and make sure we've got PIP.", 'start': 98.347, 'duration': 3.681}, {'end': 104.829, 'text': 'So you should have it, but just in case, sudo apt-get install.', 'start': 102.068, 'duration': 2.761}, {'end': 107.15, 'text': "Actually, I'm not sure if these servers will come with PIP or not.", 'start': 104.849, 'duration': 2.301}, {'end': 109.87, 'text': 'Anyway, sudo apt-get install python-pip.', 'start': 107.35, 'duration': 2.52}, {'end': 111.931, 'text': "Nope, doesn't look like we had it already.", 'start': 110.45, 'duration': 1.481}, {'end': 112.451, 'text': 'So cool.', 'start': 111.991, 'duration': 0.46}, {'end': 113.331, 'text': "Let's grab it.", 'start': 112.471, 'duration': 0.86}, {'end': 121.954, 'text': 'The other thing we probably should have done is an update and upgrade, but you can do that on your own time.', 'start': 113.351, 'duration': 8.603}, {'end': 123.234, 'text': "I think we'll get away with not doing it.", 'start': 121.994, 'duration': 1.24}, {'end': 127.327, 'text': "Even pip's taking a while.", 'start': 126.266, 'duration': 1.061}], 'summary': 'Installation of pip using sudo apt-get install python-pip.', 'duration': 28.98, 'max_score': 98.347, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y498347.jpg'}, {'end': 199.137, 'src': 'heatmap', 'start': 135.831, 'weight': 0, 'content': [{'end': 142.114, 'text': "Since I'm going to be doing a series on Google Cloud, I'm going to do sudo pip install google-cloud.", 'start': 135.831, 'duration': 6.283}, {'end': 146.216, 'text': 'But if you just wanted vision, you could type dash vision.', 'start': 142.494, 'duration': 3.722}, {'end': 150.238, 'text': "But I want the whole thing, so I'm going to install the full everything.", 'start': 146.376, 'duration': 3.862}, {'end': 152.339, 'text': "So just as you can see, everything's getting installed here.", 'start': 150.298, 'duration': 2.041}, {'end': 162.946, 'text': "Once we've done that, there's one more thing that we really need to do, and that is the API key for dealing with the APIs.", 'start': 156.322, 'duration': 6.624}, {'end': 170.691, 'text': "So, while this is running head back over to Google Cloud here and let's click on the little hamburger thing,", 'start': 163.266, 'duration': 7.425}, {'end': 174.853, 'text': 'go to API manager and then come on down to credentials.', 'start': 170.691, 'duration': 4.162}, {'end': 179.776, 'text': "And once you're in the credentials, what we're going to want to do is create credentials.", 'start': 176.354, 'duration': 3.422}, {'end': 181.697, 'text': "We'll do a service account key.", 'start': 179.996, 'duration': 1.701}, {'end': 199.137, 'text': "and let's choose a new service account and i'm going to call this um api tutorial, something like that role project, and let's just give it owner,", 'start': 184.032, 'duration': 15.105}], 'summary': 'Installing google cloud with api key for full functionality.', 'duration': 43.945, 'max_score': 135.831, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y4135831.jpg'}, {'end': 295.51, 'src': 'heatmap', 'start': 266.898, 'weight': 0.711, 'content': [{'end': 273.461, 'text': 'Pip. and now what we want to do is add this api key.', 'start': 266.898, 'duration': 6.563}, {'end': 280.904, 'text': "so i'm going to go ahead and just nano api key, dot json, and it's an empty file.", 'start': 273.461, 'duration': 7.443}, {'end': 285.326, 'text': "so i'm going to now take that file that we just downloaded from google copy.", 'start': 280.904, 'duration': 4.422}, {'end': 288.227, 'text': 'come over here, paste ctrl x to save.', 'start': 285.326, 'duration': 2.901}, {'end': 290.028, 'text': 'yes, enter whatever.', 'start': 288.227, 'duration': 1.801}, {'end': 292.669, 'text': 'you can feel free to use a different editor if you like.', 'start': 290.028, 'duration': 2.641}, {'end': 295.51, 'text': "i know someone's gonna be like why did you use nano?", 'start': 292.669, 'duration': 2.841}], 'summary': 'Adding an api key by creating and editing a json file using nano text editor.', 'duration': 28.612, 'max_score': 266.898, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y4266898.jpg'}, {'end': 321.592, 'src': 'embed', 'start': 298.504, 'weight': 5, 'content': [{'end': 308.568, 'text': "Now, once we've done that, the next thing that we can do is so, for example, like if you go to Google, basically what they tell you to do is okay,", 'start': 298.504, 'duration': 10.064}, {'end': 317.491, 'text': 'export and then Google underscore application, underscore credentials equals, and then you give the path to those credentials.', 'start': 308.568, 'duration': 8.923}, {'end': 320.832, 'text': 'This is going to run off the screen, so let me make sure this is all shown.', 'start': 317.531, 'duration': 3.301}, {'end': 321.592, 'text': 'There we go.', 'start': 320.852, 'duration': 0.74}], 'summary': 'Instructions for setting up google application credentials.', 'duration': 23.088, 'max_score': 298.504, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y4298504.jpg'}, {'end': 507.346, 'src': 'heatmap', 'start': 477.484, 'weight': 0.709, 'content': [{'end': 480.107, 'text': 'and in fact we need to kind of let me just save this here.', 'start': 477.484, 'duration': 2.623}, {'end': 483.19, 'text': "so yes, so we're back over here.", 'start': 480.107, 'duration': 3.083}, {'end': 483.931, 'text': 'ctrl x save.', 'start': 483.19, 'duration': 0.741}, {'end': 486.013, 'text': "yes, i'm going to do a w.", 'start': 483.931, 'duration': 2.082}, {'end': 491.219, 'text': 'get that image awesome.', 'start': 486.013, 'duration': 5.206}, {'end': 494.642, 'text': 'so that image name is is here ls to list out the directory.', 'start': 491.219, 'duration': 3.423}, {'end': 504.205, 'text': "i'm going to copy that image and then now back vano, vision x or nano.", 'start': 494.642, 'duration': 9.563}, {'end': 507.346, 'text': "and now, um, we're going to specify the file name.", 'start': 504.205, 'duration': 3.141}], 'summary': 'Navigating and manipulating files using command line interface.', 'duration': 29.862, 'max_score': 477.484, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y4477484.jpg'}, {'end': 587.457, 'src': 'embed', 'start': 555.874, 'weight': 3, 'content': [{'end': 563.74, 'text': "because this one's going to serve both as an intro to the vision API, but also just how to use any of the APIs, because the process is pretty similar.", 'start': 555.874, 'duration': 7.866}, {'end': 567.523, 'text': 'Labels equals image dot detect underscore labels.', 'start': 564.441, 'duration': 3.082}, {'end': 571.166, 'text': 'So this will just tell us what Google happens to see in this image.', 'start': 567.883, 'duration': 3.283}, {'end': 576.089, 'text': "So we're just going to print out and in fact let's iterate through labels.", 'start': 571.306, 'duration': 4.783}, {'end': 587.457, 'text': "so let's say for label, in labels we can print print label dot description, and let's just do that.", 'start': 576.089, 'duration': 11.368}], 'summary': 'Introduction to vision api and iterating through labels in an image.', 'duration': 31.583, 'max_score': 555.874, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y4555874.jpg'}, {'end': 620.111, 'src': 'heatmap', 'start': 587.457, 'weight': 0.726, 'content': [{'end': 590.92, 'text': "and then I'm going to give you some advice on using this API.", 'start': 587.457, 'duration': 3.463}, {'end': 597.945, 'text': "so yes, enter and let's go ahead, and I think we might have to use sudo for this, but let's just try to run it without sudo.", 'start': 590.92, 'duration': 7.025}, {'end': 606.225, 'text': "Oh, we haven't enabled the API.", 'start': 604.824, 'duration': 1.401}, {'end': 607.885, 'text': 'Okay, so, duh.', 'start': 606.525, 'duration': 1.36}, {'end': 610.146, 'text': "Okay, that's the whole point of this tutorial.", 'start': 608.386, 'duration': 1.76}, {'end': 613.328, 'text': 'So, yeah, so we got the permission denied.', 'start': 610.627, 'duration': 2.701}, {'end': 620.111, 'text': "So we got the API key, but we haven't enabled the Vision API in our actual platform.", 'start': 613.368, 'duration': 6.743}], 'summary': 'Tutorial on using api, encountering permission denied due to unenabled vision api', 'duration': 32.654, 'max_score': 587.457, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y4587457.jpg'}, {'end': 669.399, 'src': 'embed', 'start': 639.645, 'weight': 1, 'content': [{'end': 641.686, 'text': "Okay, now we'll come back over.", 'start': 639.645, 'duration': 2.041}, {'end': 645.568, 'text': 'It did say, wait a few minutes after you enable the API.', 'start': 641.706, 'duration': 3.862}, {'end': 646.909, 'text': "Let's go ahead and try it.", 'start': 645.968, 'duration': 0.941}, {'end': 649.53, 'text': "Hopefully I didn't just sacrifice a few minutes for everybody.", 'start': 647.009, 'duration': 2.521}, {'end': 652.736, 'text': 'Boom, done.', 'start': 652.196, 'duration': 0.54}, {'end': 654.016, 'text': 'So actually that was very quick.', 'start': 652.876, 'duration': 1.14}, {'end': 663.018, 'text': 'Okay, so what does it see in the image? It sees hair, face, person, facial hair, nose, chin, hairstyle, beard, head, and senior citizen.', 'start': 654.596, 'duration': 8.422}, {'end': 665.339, 'text': 'Sorry, Guido.', 'start': 664.738, 'duration': 0.601}, {'end': 669.399, 'text': 'Okay, so this is like a really quick example.', 'start': 665.939, 'duration': 3.46}], 'summary': 'Enabled api successfully, image recognition: hair, face, person, facial hair, nose, chin, hairstyle, beard, head, senior citizen.', 'duration': 29.754, 'max_score': 639.645, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y4639645.jpg'}], 'start': 98.347, 'title': 'Setting up google cloud api, api key, and using vision api in python', 'summary': 'Covers setting up google cloud api with pip installation, including installing google-cloud, creating api credentials, and saving the json file. it also discusses setting up an api key for google cloud, configuring environment variables, and using the google cloud vision api in python to analyze an image and identify various labels. a specific example of analyzing an image of guido van rossum is provided.', 'chapters': [{'end': 248.172, 'start': 98.347, 'title': 'Setting up google cloud api', 'summary': 'Covers setting up google cloud api with pip installation, including installing google-cloud, creating api credentials, and saving the json file, with a focus on owner role permissions and file management.', 'duration': 149.825, 'highlights': ['The chapter covers setting up Google Cloud API with PIP installation, including installing google-cloud, creating API credentials, and saving the JSON file, with a focus on owner role permissions and file management.', 'Installing google-cloud or google-cloud-vision using sudo pip install, with the option to choose specific components based on requirements.', 'Creating API credentials involves choosing a service account, assigning roles (e.g., owner for full access), and obtaining a JSON file for authentication.', 'Emphasizing the importance of role-based access control for specific employees or business needs when creating API credentials.']}, {'end': 407.396, 'start': 248.192, 'title': 'Setting up api key and environment variables', 'summary': "Discusses setting up an api key for google cloud and configuring environment variables by exporting the path to the credentials file, and updating the profile to ensure persistence, with a troubleshooting note on the command 'export google application credentials'.", 'duration': 159.204, 'highlights': ['Setting up an API key for Google Cloud involves creating an empty file, adding the downloaded credentials, and exporting the path to it, with a note on the command for exporting the Google application credentials.', 'Configuring environment variables involves updating the profile to ensure persistence, with a troubleshooting note on updating the profile and exporting the path to the credentials file.', "Using 'nano' to create and edit files, and the process of copying and pasting content within the terminal for setup and configuration."]}, {'end': 665.339, 'start': 407.477, 'title': 'Using google cloud vision api in python', 'summary': 'Covers using the google cloud vision api in python to analyze an image and identify various labels, serving as an introduction to the api and demonstrating how to enable and use it, with a specific example of analyzing an image of guido van rossum, identifying labels such as hair, face, person, and more.', 'duration': 257.862, 'highlights': ['The chapter covers using the Google Cloud Vision API in Python to analyze an image and identify various labels. The tutorial demonstrates using the Google Cloud Vision API in Python to analyze an image and identify labels such as hair, face, person, facial hair, nose, chin, hairstyle, beard, head, and senior citizen.', 'Demonstrating how to enable and use the Google Cloud Vision API in Python. The tutorial explains the process of enabling the Vision API in the Google Cloud platform and demonstrates using Python to load an image into memory, analyze it using the Vision API, and print out the detected labels.', 'Specific example of analyzing an image of Guido van Rossum and identifying labels such as hair, face, person, and more. The tutorial provides a specific example of analyzing an image of Guido van Rossum, the creator of Python, and identifies labels such as hair, face, person, facial hair, nose, chin, hairstyle, beard, head, and senior citizen.']}], 'duration': 566.992, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y498347.jpg', 'highlights': ['The chapter covers setting up Google Cloud API with PIP installation, including installing google-cloud, creating API credentials, and saving the JSON file, with a focus on owner role permissions and file management.', 'Specific example of analyzing an image of Guido van Rossum and identifying labels such as hair, face, person, and more. The tutorial provides a specific example of analyzing an image of Guido van Rossum, the creator of Python, and identifies labels such as hair, face, person, facial hair, nose, chin, hairstyle, beard, head, and senior citizen.', 'Creating API credentials involves choosing a service account, assigning roles (e.g., owner for full access), and obtaining a JSON file for authentication.', 'The chapter covers using the Google Cloud Vision API in Python to analyze an image and identify various labels. The tutorial demonstrates using the Google Cloud Vision API in Python to analyze an image and identify labels such as hair, face, person, facial hair, nose, chin, hairstyle, beard, head, and senior citizen.', 'Setting up an API key for Google Cloud involves creating an empty file, adding the downloaded credentials, and exporting the path to it, with a note on the command for exporting the Google application credentials.', 'Configuring environment variables involves updating the profile to ensure persistence, with a troubleshooting note on updating the profile and exporting the path to the credentials file.']}, {'end': 921.754, 'segs': [{'end': 697.508, 'src': 'embed', 'start': 665.939, 'weight': 2, 'content': [{'end': 669.399, 'text': 'Okay, so this is like a really quick example.', 'start': 665.939, 'duration': 3.46}, {'end': 671, 'text': "There's more stuff I'm definitely gonna show you.", 'start': 669.419, 'duration': 1.581}, {'end': 676.241, 'text': 'But the one thing I do wanna show you that I think is kind of part of all of the APIs is,', 'start': 671.74, 'duration': 4.501}, {'end': 684.063, 'text': "I think the document usually Google is really good about documentation, but there's a lot of the examples that don't have Python examples yet.", 'start': 677.541, 'duration': 6.522}, {'end': 689.946, 'text': 'And then the documentation is meh and the code is kind of a challenge to crawl through.', 'start': 684.544, 'duration': 5.402}, {'end': 697.508, 'text': 'So, for example, when you have like the labels and labels, and actually even labels like so, for example.', 'start': 690.466, 'duration': 7.042}], 'summary': "Google's api documentation lacks python examples and has challenging code.", 'duration': 31.569, 'max_score': 665.939, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y4665939.jpg'}, {'end': 739.371, 'src': 'embed', 'start': 710.154, 'weight': 3, 'content': [{'end': 711.757, 'text': "Let's see if we get away with this.", 'start': 710.154, 'duration': 1.603}, {'end': 715.162, 'text': "Great So I'm just running this in regular Python.", 'start': 712.057, 'duration': 3.105}, {'end': 720.069, 'text': 'So, if we do something like this, like dir, this will tell you all the kind of attributes of something, right?', 'start': 715.202, 'duration': 4.867}, {'end': 722.853, 'text': 'So, for example, we could say dir labels.', 'start': 720.129, 'duration': 2.724}, {'end': 725.986, 'text': 'this just tells us kind of what.', 'start': 724.705, 'duration': 1.281}, {'end': 728.567, 'text': 'what are the, all the attributes and things and methods that we can do?', 'start': 725.986, 'duration': 2.581}, {'end': 730.527, 'text': "we've got append count, count, okay.", 'start': 728.567, 'duration': 1.96}, {'end': 734.489, 'text': "um, so clearly this is something that's an iterable just by looking at this.", 'start': 730.527, 'duration': 3.962}, {'end': 739.371, 'text': 'but then what what we can do is like for label in dir?', 'start': 734.489, 'duration': 4.882}], 'summary': 'Demonstrating python code to retrieve attributes and methods from an iterable.', 'duration': 29.217, 'max_score': 710.154, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y4710154.jpg'}, {'end': 825.863, 'src': 'embed', 'start': 796.404, 'weight': 4, 'content': [{'end': 806.074, 'text': 'So for example, for label in labels, print label dot locations.', 'start': 796.404, 'duration': 9.67}, {'end': 810.999, 'text': "Let's do label dot locations, label dot locale.", 'start': 807.336, 'duration': 3.663}, {'end': 813.722, 'text': "I don't think that one either has any information.", 'start': 811.039, 'duration': 2.683}, {'end': 819.16, 'text': "yeah. so locale i'm not really sure, locale, what that would normally give you.", 'start': 815.478, 'duration': 3.682}, {'end': 823.142, 'text': "so clearly it looks like it's going to give you a you know text data of some kind.", 'start': 819.16, 'duration': 3.982}, {'end': 825.863, 'text': 'but anyway i was really hoping locations would work.', 'start': 823.142, 'duration': 2.721}], 'summary': 'Discussing label locations and locale data, unsure about the information.', 'duration': 29.459, 'max_score': 796.404, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y4796404.jpg'}, {'end': 898.601, 'src': 'embed', 'start': 863.34, 'weight': 0, 'content': [{'end': 870.487, 'text': "But you do get at least an explanation of what's in the image you're looking at, which is actually pretty impressive.", 'start': 863.34, 'duration': 7.147}, {'end': 875.491, 'text': 'And then, like I said, some of the stuff gets even more interesting because it especially if you,', 'start': 871.588, 'duration': 3.903}, {'end': 879.575, 'text': 'if you show it things that should have metadata and it actually finds the metadata.', 'start': 875.491, 'duration': 4.084}, {'end': 885.734, 'text': "Okay, so that's a really quick example of the Vision API, and then also just using APIs in general.", 'start': 880.791, 'duration': 4.943}, {'end': 887.335, 'text': "Don't forget to enable the API.", 'start': 885.954, 'duration': 1.381}, {'end': 890.676, 'text': "I always forget, but at least now you know what it's going to look like when you do forget.", 'start': 887.475, 'duration': 3.201}, {'end': 893.038, 'text': "It's going to be like this, permission denied, basically.", 'start': 890.776, 'duration': 2.262}, {'end': 895.319, 'text': 'Go and enable the API.', 'start': 893.998, 'duration': 1.321}, {'end': 898.601, 'text': "Also, the key, we won't ever have to do that again.", 'start': 895.759, 'duration': 2.842}], 'summary': 'Vision api provides image explanations and metadata. enable api to avoid permission issues.', 'duration': 35.261, 'max_score': 863.34, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y4863340.jpg'}], 'start': 665.939, 'title': 'Google api documentation and vision api attributes', 'summary': "Discusses challenges in google api documentation, lack of python examples, use of python's dir function, vision api label attributes, limitations, potential use cases, and the necessity to enable the api for usage.", 'chapters': [{'end': 755.637, 'start': 665.939, 'title': 'Google api documentation and python examples', 'summary': "Discusses challenges in google api documentation, lack of python examples, and the use of python's dir function to explore attributes and methods, highlighting the need for improved documentation and examples.", 'duration': 89.698, 'highlights': ['The need for improved documentation and examples The speaker highlights the challenge of Google API documentation lacking Python examples and being difficult to crawl through, emphasizing the need for better documentation and examples.', "Exploring attributes and methods with Python's dir function The speaker demonstrates the use of Python's dir function to explore the attributes and methods of an object, showcasing the functionality of dir in understanding iterable objects and iterating through labels.", 'Lack of Python examples in Google API documentation The speaker points out the absence of Python examples in Google API documentation, indicating the need for more comprehensive and relevant examples for Python users.']}, {'end': 921.754, 'start': 755.637, 'title': 'Vision api attributes and usage', 'summary': 'Discusses the attributes of the vision api label, including the score, bounds description, locale, and locations, highlighting the limitations and potential use cases, while also emphasizing the necessity to enable the api for usage.', 'duration': 166.117, 'highlights': ['The Vision API label attributes discussed include score, bounds description, locale, and locations, with emphasis on the limitations of accessing certain attributes unless thoroughly understood.', "The limitations of accessing certain attributes of the Vision API label are highlighted, such as the uncertainty around the functionality of 'locale' and the inability to make 'locations' work effectively.", 'The potential use cases of the Vision API label attributes, such as obtaining metadata and identifying image contents, are mentioned, showcasing the impressive capabilities of the API.', 'The importance of enabling the API for usage is emphasized, with a reminder to avoid forgetting to enable it and the necessity to have a key for accessing different APIs.']}], 'duration': 255.815, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/nMY0qDg16y4/pics/nMY0qDg16y4665939.jpg', 'highlights': ['The potential use cases of the Vision API label attributes, such as obtaining metadata and identifying image contents, are mentioned, showcasing the impressive capabilities of the API.', 'The importance of enabling the API for usage is emphasized, with a reminder to avoid forgetting to enable it and the necessity to have a key for accessing different APIs.', 'The need for improved documentation and examples The speaker highlights the challenge of Google API documentation lacking Python examples and being difficult to crawl through, emphasizing the need for better documentation and examples.', "Exploring attributes and methods with Python's dir function The speaker demonstrates the use of Python's dir function to explore the attributes and methods of an object, showcasing the functionality of dir in understanding iterable objects and iterating through labels.", "The limitations of accessing certain attributes of the Vision API label are highlighted, such as the uncertainty around the functionality of 'locale' and the inability to make 'locations' work effectively.", 'Lack of Python examples in Google API documentation The speaker points out the absence of Python examples in Google API documentation, indicating the need for more comprehensive and relevant examples for Python users.']}], 'highlights': ['The tutorial focuses on setting up the Google Cloud Vision API and the process of working with it to obtain information about images.', 'The API provides information on images, such as identifying objects and providing metadata, like Wikipedia pages, based on the content of the image.', 'The potential use cases of the Vision API label attributes, such as obtaining metadata and identifying image contents, are mentioned, showcasing the impressive capabilities of the API.', 'The chapter covers setting up Google Cloud API with PIP installation, including installing google-cloud, creating API credentials, and saving the JSON file, with a focus on owner role permissions and file management.', 'Specific example of analyzing an image of Guido van Rossum and identifying labels such as hair, face, person, and more.', 'Creating API credentials involves choosing a service account, assigning roles (e.g., owner for full access), and obtaining a JSON file for authentication.', 'The chapter covers using the Google Cloud Vision API in Python to analyze an image and identify various labels.', 'Setting up an API key for Google Cloud involves creating an empty file, adding the downloaded credentials, and exporting the path to it, with a note on the command for exporting the Google application credentials.', 'Configuring environment variables involves updating the profile to ensure persistence, with a troubleshooting note on updating the profile and exporting the path to the credentials file.', 'The importance of enabling the API for usage is emphasized, with a reminder to avoid forgetting to enable it and the necessity to have a key for accessing different APIs.', 'The need for improved documentation and examples The speaker highlights the challenge of Google API documentation lacking Python examples and being difficult to crawl through, emphasizing the need for better documentation and examples.', "Exploring attributes and methods with Python's dir function The speaker demonstrates the use of Python's dir function to explore the attributes and methods of an object, showcasing the functionality of dir in understanding iterable objects and iterating through labels.", "The limitations of accessing certain attributes of the Vision API label are highlighted, such as the uncertainty around the functionality of 'locale' and the inability to make 'locations' work effectively.", 'Lack of Python examples in Google API documentation The speaker points out the absence of Python examples in Google API documentation, indicating the need for more comprehensive and relevant examples for Python users.']}