Create picture module responsive styles programmatically
First step is to create the image styles:

// 1. Create image styles
$multipliers = array(
  '1x' =&gt; 1,
  '1_5x' =&gt; 1.5,
  '2x' =&gt; 2,
);
foreach($multipliers as $label =&gt; $multiplier) {
  $style = image_style_save(array('name' =&gt; 'tile_image_' . $label));
  $effect = array(
    'name' =&gt; 'image_scale_and_crop',
    'data' =&gt; array(
      'width' =&gt; 390 * $multiplier,
      'height' =&gt; 194 * $multiplier,
      'upscale' =&gt; TRUE,
    ),
    'isid' =&gt; $style['isid'],
  );
  image_effect_save($effect);
}


Then create a group for the image styles:

// 2. Create image group
$new_group = breakpoints_breakpoint_group_empty_object();
$new_group-&gt;machine_name = 'tile_image';
$new_group-&gt;name = 'Tile image group';
$new_group-&gt;type = BREAKPOINTS_SOURCE_TYPE_CUSTOM;
$new_group-&gt;breakpoints = array('breakpoints.theme.armi_embl_theme.desktop', 'breakpoints.theme.armi_embl_theme.mobile');
breakpoints_breakpoint_group_save($new_group);
menu_rebuild();


And then finally define the mapping between the image styles and your set of breakpoints:

// 3. Add picture mapping
$mapping = picture_mapping_create(TRUE);
$mapping-&gt;table = 'picture_mapping';
$mapping-&gt;type = 'Normal';
$mapping-&gt;export_type = 1;

$mapping-&gt;label = 'Tile image mapping';
$mapping-&gt;machine_name = 'tile_image_mapping';
$mapping-&gt;breakpoint_group = 'tile_image';
$mapping-&gt;mapping = array(
  'breakpoints.theme.armi_embl_theme.desktop' =&gt; array(
    '1x' =&gt; array(
      'mapping_type' =&gt; 'image_style',
      'image_style' =&gt; 'tile_image_1x',
    ),
  ),
  'breakpoints.theme.armi_embl_theme.mobile' =&gt; array(
    '1x' =&gt; array(
      'mapping_type' =&gt; 'image_style',
      'image_style' =&gt; 'tile_image_1x',
    ),
    '1.5x' =&gt; array(
      'mapping_type' =&gt; 'image_style',
      'image_style' =&gt; 'tile_image_1_5x',
    ),
    '2x' =&gt; array(
      'mapping_type' =&gt; 'image_style',
      'image_style' =&gt; 'tile_image_2x',
    ),
  ),
);

picture_mapping_save($mapping);