A new Flutter/Dart package project.

Getting Started

We have provided a pure dart API for getting media from pixabay.com.

Later on we will enhance this project with a Flutter Media picker too.


Create API interface

Note that you can search pixabay localized, if you set the language parameter accordingly in constructor. Safe search is default true. You can change this value in the constructor.

  PixabayPicker picker = PixabayPicker(apiKey: ApiKey, language: "hu", safeSearch: true);

Get images for business category

  PixabayResponse res = await picker.api
      .requestImages(resultsPerPage: 4, category: Category.business);   

You can iterate the result like this

  res.hits.forEach((f) {
      // use your media

Get Images with keywords

// get 30 image tagged as dog from pixabay
// note we created the api object with hungarian
// language so the keyword is in hungarian too

res =
      await api.requestImagesWithKeyword(keyword: "kutya", resultsPerPage: 30);

Search other media

You can search for videos too

 res =
      await api.requestVideosWithKeyword(keyword: "kutya", resultsPerPage: 30);

Download media

  BytesBuilder bytes =
        await api.downloadMedia(res.hits[0], Resolution.medium);

Get 3 video and 3 image for each category

  Stream<Map<String, Map<MediaType, PixabayResponse>>> result =
          photoResultsPerCategory: 3, videoResultsPerCategory: 3);

  result.listen((Map<String, Map<MediaType, PixabayResponse>> onData) {
    var values = onData.values.toList();
    var keys = onData.keys.toList();

    print(keys[0] + ":" + values[0][MediaType.video].hits[0].toString());
    print(keys[0] + ":" + values[0][MediaType.photo].hits[0].toString());