diff --git a/src/Data/GenerationConfig.php b/src/Data/GenerationConfig.php index 1ba11a5..e794367 100644 --- a/src/Data/GenerationConfig.php +++ b/src/Data/GenerationConfig.php @@ -35,6 +35,7 @@ final class GenerationConfig implements Arrayable * @param SpeechConfig|null $speechConfig Optional. The speech generation config. * @param ThinkingConfig|null $thinkingConfig Optional. Config for thinking features. An error will be returned if this field is set for models that don't support thinking. * @param MediaResolution|null $mediaResolution Optional. If specified, the media resolution specified will be used. + * @param ImageConfig|null $imageConfig Optional. Config for image generation features. */ public function __construct( public readonly int $candidateCount = 1, @@ -55,6 +56,7 @@ public function __construct( public readonly ?SpeechConfig $speechConfig = null, public readonly ?ThinkingConfig $thinkingConfig = null, public readonly ?MediaResolution $mediaResolution = null, + public readonly ?ImageConfig $imageConfig = null, ) {} public function toArray(): array @@ -82,6 +84,7 @@ public function toArray(): array 'speechConfig' => $this->speechConfig?->toArray(), 'thinkingConfig' => $this->thinkingConfig?->toArray(), 'mediaResolution' => $this->mediaResolution?->value, + 'imageConfig' => $this->imageConfig?->toArray(), ] ); } diff --git a/src/Data/ImageConfig.php b/src/Data/ImageConfig.php new file mode 100644 index 0000000..7f55e42 --- /dev/null +++ b/src/Data/ImageConfig.php @@ -0,0 +1,39 @@ + $this->aspectRatio, + ]; + } +} diff --git a/src/Enums/FinishReason.php b/src/Enums/FinishReason.php index c6e00e6..2e11f70 100644 --- a/src/Enums/FinishReason.php +++ b/src/Enums/FinishReason.php @@ -71,6 +71,26 @@ enum FinishReason: string */ case IMAGE_SAFETY = 'IMAGE_SAFETY'; + /** + * Image generation stopped because generated images has other prohibited content. + */ + case IMAGE_PROHIBITED_CONTENT = 'IMAGE_PROHIBITED_CONTENT'; + + /** + * Image generation stopped because of other miscellaneous issue. + */ + case IMAGE_OTHER = 'IMAGE_OTHER'; + + /** + * The model was expected to generate an image, but none was generated. + */ + case NO_IMAGE = 'NO_IMAGE'; + + /** + * Image generation stopped due to recitation. + */ + case IMAGE_RECITATION = 'IMAGE_RECITATION'; + /** * Model generated a tool call but no tools were enabled in the request. */