dejerine’s blog

千葉のとある街に住むサーファーの週末日記。「海の記録」や「食」「アメリカで生活していた頃の思い出」などを気ままに書いています。

フリー画像のAPI 〜pixabay API〜を使ってみる(まだ使っていない)

フリー画像のAPIってどんなのがあるのかな〜と思ってなんとなくウエブサーフィンしていたら、pixabay

https://pixabay.com/

というのがあるということを知ったので、そのAPIを試しに使ってみようと思ったけどまだ使っていないはなし。

pixabay
画像はpixabayより

pixabayの概要

pixabay(ピクサベイ)というのは、無料画像サイトで、画像だけではなくて、フリーの動画(ショートムービー)もある。

フリーというのは、著作権フリーのこと。

つまり自由に使うことができる素材が置いてあるサイト。

ただし、中にはpixabayのスポンサー(iStock)の画像が含まれていたり、画像の中に商標登録されているようなものが含まれていたりすると、著作権が生じる可能性も出てくるので、素材の取捨選択もある程度必要かと思われる。

公式ページのQ&Aを見てみると、素材をFacebookなどのSNSで使うこともOKとある。

SNS
画像はpixabayより
pixabay APIの概要

サービス全体の説明は日本語だが、APIの説明は英語。
https://pixabay.com/ja/service/about/api/

簡単にここのページを要約すると、

  1. 200万以上の素材にアクセス可能(2020年7月現在)
  2. 素材の種類は写真、イラスト(+ベクター画像)、ビデオ。
  3. リクエストは無制限(5000件/時間という時間制限はある)。
  4. セットアップは簡単。
  5. AndroidiOSの公式アプリの中でも使われている。1895のdeveloperがPixabay APIを使っているとのこと。
  6. 利用するときは必ずpixabayの素材であることを明記すること。それから、その際は、pixabayのロゴを使ってもいいですよ。
  7. APIを使った大量ダウンロードは禁止。クエリに対する一時的なURLsが生成されるので、そこから素材をダウンロードして使うように。

とのこと。

pixabay APIをどうやって使うか

無料だが、まずは登録が必要(まだ登録していない)。

画像(写真とイラスト)は、httpsプロトコルで、

pixabay.com/api/

動画は、

pixabay.com/api/videos/

にGETをリクエストする。

この際、上のURLの末尾にパラメータ(引数)をつける。

画像のリクエストにつけるパラメータは以下の通り(詳細は公式ページを参照)。

key (required), q, lang, id, image_type, orientation, category, min_width, min_height, colors, editors_choice, safesearch, order, page, per_page, callback, pretty

必須のパラメータは、「key」。これは、サービスに登録すると得られるAPI key。

qは検索文字。花を探したければ、「flower」を指定。and検索は「+」

あとは、langでjaを指定すると日本語で検索した結果を得ることもできる。

image_typeで写真(photo)かイラスト(illustration)かベクター画像(vector)かを選ぶ。

categoryでカテゴリーを指定することができる。指定できる値は、backgrounds, fashion, nature, science, education, feelings, health, people, religion, places, animals, industry, computer, food, sports, transportation, travel, buildings, business, music。

リクエストの例
https://pixabay.com/api/?key={KEY}&q=yellow+flowers&image_type=photo

{KEY}にAPI keyを入れる。これで、黄色、花、に一致する写真を検索できる。

videoもほぼ同じような感じでリクエストできる。

pixabay APIを使うと何が戻ってくるのか

画像ではなく、JSON形式のテキストがレスポンスとして返される。
Headerにリクエストのリミット(5000リクエスト/時間)までどれくらいかなどの情報が含まれる。

”hits”キーの値が検索結果で、リストの形で含まれている。

個々の検索結果としていろんな形式の画像の一時URLが帰ってくるので、必要なサイズの画像をリクエストGETでダウンロードすれば後は自由に使える。

”userImageURL”は画像の直リンクだが、これを直接使うあるいは改変してオリジナル画像に直接アクセスすることは避けるべし。

Openweathermapなどの気象情報系のAPI, はてなブログAPI, はてなフォトライフAPIと合わせて使えば、その日の天気などに合わせて画像を自動ではてなブログに貼り付けるボット(アプリ?)が簡単にできそう。