11

So, I am trying to figure out how to get URL to an image in Freebase database. I want an image of San Francisco. This is how I get the San Francisco topic:

https://www.googleapis.com/freebase/v1sandbox/topic/%2Fen%2Fsan_francisco?key=MY_API_KEY

The response contains images, for example:

{
    text: "San Francisco Skyline",
    lang: "en",
    id: "/m/04j74yh",
    creator: "/user/carmenmfenn1",
    timestamp: "2008-09-01T13:37:22.000Z"
}

So I then call the GET API again to get the image:

https://www.googleapis.com/freebase/v1sandbox/topic/%2Fm%2F04j74yh?key=MY_API_KEY

This returns lots of information about the image such as media type, size etc. But I don't see any URL there. There are some IDs (blob id, mid). I am not sure how to proceed to get a URL to the image. Any ideas?

This is the full response:

{
    id: "/m/04j74yh",
    property: {
        /common/image/appears_in_topic_gallery: {
            valuetype: "object",
            values: [
                {
                    text: "San Francisco",
                    lang: "en",
                    id: "/m/0d6lp",
                    creator: "/user/carmenmfenn1",
                    timestamp: "2008-09-01T13:37:22.000Z"
                }
            ],
            count: 1
        },
        /common/image/size: {
            valuetype: "compound",
            values: [
                {
                    text: "640.0 - 330.0 - Freebase Data Team - Rectangle Size",
                    lang: "en",
                    id: "/m/02bpzld",
                    creator: "/user/carmenmfenn1",
                    timestamp: "2008-09-01T13:37:22.000Z",
                    property: {
                        /measurement_unit/rect_size/x: {
                            valuetype: "float",
                            values: [
                                {
                                    text: "640.0",
                                    lang: "en",
                                    value: 640,
                                    creator: "/user/mwcl_images",
                                    timestamp: "2007-04-15T23:03:01.001Z"
                                }
                            ],
                            count: 1
                        },
                        /measurement_unit/rect_size/y: {
                            valuetype: "float",
                            values: [
                                {
                                    text: "330.0",
                                    lang: "en",
                                    value: 330,
                                    creator: "/user/mwcl_images",
                                    timestamp: "2007-04-15T23:03:01.001Z"
                                }
                            ],
                            count: 1
                        },
                        /type/object/attribution: {
                            valuetype: "object",
                            values: [
                                {
                                    text: "Freebase Data Team",
                                    lang: "en",
                                    id: "/m/0220tm0",
                                    creator: "/user/mwcl_images",
                                    timestamp: "2007-04-15T23:03:01.001Z"
                                }
                            ],
                            count: 1
                        },
                        /type/object/type: {
                            valuetype: "object",
                            values: [
                                {
                                    text: "Rectangle Size",
                                    lang: "en",
                                    id: "/measurement_unit/rect_size",
                                    creator: "/user/mwcl_images",
                                    timestamp: "2007-04-15T23:03:01.001Z"
                                }
                            ],
                            count: 1
                        }
                    }
                }
            ],
            count: 1
        },
        /common/licensed_object/license: {
            valuetype: "object",
            values: [
                {
                    text: "CC-BY-2.5",
                    lang: "en",
                    id: "/m/01xrw11",
                    creator: "/user/carmenmfenn1",
                    timestamp: "2008-09-01T13:37:22.000Z"
                }
            ],
            count: 1
        },
        /common/topic/notable_for: {
            valuetype: "object",
            values: [
                {
                    text: "Content",
                    lang: "en",
                    id: "/type/content"
                }
            ],
            count: 1
        },
        /common/topic/notable_types: {
            valuetype: "object",
            values: [
                {
                    text: "Content",
                    lang: "en",
                    id: "/type/content",
                    timestamp: "2013-05-17T00:04:43.942Z"
                }
            ],
            count: 1
        },
        /type/content/blob_id: {
            valuetype: "string",
            values: [
                {
                    text: "8debf723b25edb43b413bcb2890c4f4fe6ec5e5b2c7ce9c7e1f2aee273b0d0fe",
                    lang: "",
                    value: "8debf723b25edb43b413bcb2890c4f4fe6ec5e5b2c7ce9c7e1f2aee273b0d0fe",
                    creator: "/user/content_administrator",
                    timestamp: "2008-09-01T13:37:20.000Z"
                }
            ],
            count: 1
        },
        /type/content/length: {
            valuetype: "int",
            values: [
                {
                    text: "47162",
                    lang: "en",
                    value: 47162,
                    creator: "/user/content_administrator",
                    timestamp: "2008-09-01T13:37:20.000Z"
                }
            ],
            count: 1
        },
        /type/content/media_type: {
            valuetype: "object",
            values: [
                {
                    text: "image/jpeg",
                    lang: "en",
                    id: "/m/08x8",
                    creator: "/user/content_administrator",
                    timestamp: "2008-09-01T13:37:20.000Z"
                }
            ],
            count: 1
        },
        /type/object/attribution: {
            valuetype: "object",
            values: [
                {
                    text: "Freebase Staff",
                    lang: "en",
                    id: "/m/05g",
                    creator: "/user/content_administrator",
                    timestamp: "2008-09-01T13:37:20.000Z"
                }
            ],
            count: 1
        },
        /type/object/mid: {
            valuetype: "key",
            values: [
                {
                    text: "/m/04j74yh",
                    lang: "",
                    value: "/m/04j74yh"
                }
            ],
            count: 1
        },
        /type/object/name: {
            valuetype: "string",
            values: [
                {
                    text: "San Francisco Skyline",
                    lang: "en",
                    value: "San Francisco Skyline",
                    creator: "/user/carmenmfenn1",
                    timestamp: "2008-09-01T13:42:34.000Z"
                }
            ],
            count: 1
        },
        /type/object/type: {
            valuetype: "object",
            values: [
                {
                    text: "Image",
                    lang: "en",
                    id: "/common/image",
                    creator: "/user/content_administrator",
                    timestamp: "2008-09-01T13:37:20.000Z"
                },
                {
                    text: "Content",
                    lang: "en",
                    id: "/type/content",
                    creator: "/user/content_administrator",
                    timestamp: "2008-09-01T13:37:20.000Z"
                }
            ],
            count: 2
        },
        /type/object/guid: {
            valuetype: "string",
            values: [
                {
                    text: "#9202a8c04000641f80000000090393af",
                    lang: "",
                    value: "#9202a8c04000641f80000000090393af"
                }
            ],
            count: 1
        },
        /type/object/creator: {
            valuetype: "object",
            values: [
                {
                    text: "content_administrator",
                    lang: "",
                    id: "/user/content_administrator",
                    timestamp: "2008-09-01T13:37:20.000Z"
                }
            ],
            count: 1
        },
        /type/object/timestamp: {
            valuetype: "datetime",
            values: [
                {
                    text: "2008-09-01T13:37:20.000Z",
                    lang: "en",
                    value: "2008-09-01T13:37:20.000Z"
                }
            ],
            count: 1
        },
        /type/object/permission: {
            valuetype: "object",
            values: [
                {
                    text: "/boot/all_permission",
                    lang: "",
                    id: "/boot/all_permission"
                }
            ],
            count: 1
        }
    }
}
Richard Knop
  • 73,317
  • 142
  • 374
  • 539

1 Answers1

19

It's kind of buried in the documentation since it doesn't have a section of its own, but is instead referenced from the Topic API documentation, but you can find the necessary info here

URLs are of the form:

https://usercontent.googleapis.com/freebase/v1/image/<image ID>
Tom Morris
  • 10,055
  • 28
  • 48
  • 9
    By default this returns a very small image. You can add maxwidth and maxheight parameters to make it larger: ?maxwidth=225&maxheight=225&mode=fillcropmid – Joshua Sep 06 '13 at 17:44
  • Can I get the name, image and text at once, instead of calling the api thrice, it takes a while to fetch result as I call the api thrice – Deepanshu Goyal Dec 06 '13 at 11:05
  • 1
    I'm not sure what text you are talking about, but if it's the description, you should be able to get it and the name with a single call to MQLread or the Topic API. Images are always a separate link to follow, even in HTML. Of course, the APIs aren't intended for bulk downloads if that's what you're attempting to do. – Tom Morris Dec 06 '13 at 14:15
  • @TomMorris thanks I got it, one more thing I want to know, can I get the datatype of image somehow, because I download the image also, so I need to save with some specific type – Deepanshu Goyal Dec 09 '13 at 05:34