Skip to content

Commit 99cc982

Browse files
Add support for upscale effect
1 parent a88d355 commit 99cc982

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

src/Transformation/Effect/Generative/GenerativeEffect.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ abstract class GenerativeEffect
1717
{
1818
const GENERATIVE_RECOLOR = 'gen_recolor';
1919
const GENERATIVE_REMOVE = 'gen_remove';
20-
const GENERATIVE_REPLACE = 'gen_replace';
21-
const GENERATIVE_RESTORE = 'gen_restore';
20+
const GENERATIVE_REPLACE = 'gen_replace';
21+
const GENERATIVE_RESTORE = 'gen_restore';
22+
const UPSCALE = 'upscale';
2223

2324
use GenerativeEffectTrait;
2425
}

src/Transformation/Effect/Generative/GenerativeEffectTrait.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,15 @@ public static function generativeReplace($fromPrompt, $toPrompt, $preserveGeomet
7474
{
7575
return new GenerativeReplace($fromPrompt, $toPrompt, $preserveGeometry, $detectMultiple);
7676
}
77+
78+
/**
79+
* Uses AI-based prediction to add fine detail while upscaling small images.
80+
* This 'super-resolution' feature scales each dimension by four, multiplying the total number of pixels by 16.
81+
*
82+
* @return GenerativeEffectAction
83+
*/
84+
public static function upscale()
85+
{
86+
return new GenerativeEffectAction(GenerativeEffect::UPSCALE);
87+
}
7788
}

tests/Unit/Transformation/Image/GenerativeEffectTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,12 @@ public function testGenerativeReplace()
9494
(string)Effect::generativeReplace('balloon', 'airplane')->preserveGeometry(false)->detectMultiple()
9595
);
9696
}
97+
98+
public function testGenerativeUpscale()
99+
{
100+
self::assertEquals(
101+
'e_upscale',
102+
(string)Effect::upscale()
103+
);
104+
}
97105
}

0 commit comments

Comments
 (0)