Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "2.0.0"
".": "2.1.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 43
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-c7ad6f552b38f2145781847f8b390fa1ec43068d64e45a33012a97a9299edc10.yml
openapi_spec_hash: 50f281e91210ad5018ac7e4eee216f56
config_hash: 74a8263b80c732a2b016177e7d56bb9c
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-9d184cb502ab32a85db2889c796cdfebe812f2a55a604df79c85dd4b5e7e2add.yml
openapi_spec_hash: a9aa620376fce66532c84f9364209b0b
config_hash: eb4cf65a4c6b26a2901076eff5810d5d
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
# Changelog

## 2.1.0 (2025-11-18)

Full Changelog: [v2.0.0...v2.1.0](https://github.com/imagekit-developer/imagekit-go/compare/v2.0.0...v2.1.0)

### Features

* **api:** add GetImageAttributesOptions and ResponsiveImageAttributes schemas; update resource references in main.yaml; remove dummy endpoint ([41072da](https://github.com/imagekit-developer/imagekit-go/commit/41072da63cd2ba891a911d932af3bc8b70c90588))
* **api:** fix go sdk breaking changes ([6cbddff](https://github.com/imagekit-developer/imagekit-go/commit/6cbddffab95c89b964fc29ce119ceb70d7ebded5))


### Bug Fixes

* **docs:** update go get command to include version path in README.md ([d7d4c82](https://github.com/imagekit-developer/imagekit-go/commit/d7d4c829ebccafd1242d79a03651f1189c9f24d0))


### Chores

* bump gjson version ([87ad44d](https://github.com/imagekit-developer/imagekit-go/commit/87ad44d7016dcb641158e26cc4f0d08e89770dc5))
* **internal:** grammar fix (it's -> its) ([e35e192](https://github.com/imagekit-developer/imagekit-go/commit/e35e1922f7ad2541ed116db557bcedd8c9c088de))

## 2.0.0 (2025-10-05)

Full Changelog: [v0.0.1...v2.0.0](https://github.com/imagekit-developer/imagekit-go/compare/v0.0.1...v2.0.0)
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Or to pin the version:
<!-- x-release-please-start-version -->

```sh
go get -u 'github.com/imagekit-developer/imagekit-go@v2.0.0'
go get -u 'github.com/imagekit-developer/imagekit-go/v2@v2.1.0'
```

<!-- x-release-please-end -->
Expand Down Expand Up @@ -167,7 +167,7 @@ custom := param.Override[imagekit.FooParams](12)

### Request unions

Unions are represented as a struct with fields prefixed by "Of" for each of it's variants,
Unions are represented as a struct with fields prefixed by "Of" for each of its variants,
only one field can be non-zero. The non-zero field will be serialized.

Sub-properties of the union can be accessed via methods on the union struct.
Expand Down
2 changes: 1 addition & 1 deletion accountorigin.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ func (r *AccountOriginService) List(ctx context.Context, opts ...option.RequestO
// any URL‑endpoints, the API will return an error.
func (r *AccountOriginService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (err error) {
opts = slices.Concat(r.Options, opts)
opts = append([]option.RequestOption{option.WithHeader("Accept", "")}, opts...)
opts = append([]option.RequestOption{option.WithHeader("Accept", "*/*")}, opts...)
if id == "" {
err = errors.New("missing required id parameter")
return
Expand Down
2 changes: 1 addition & 1 deletion accounturlendpoint.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ func (r *AccountURLEndpointService) List(ctx context.Context, opts ...option.Req
// URL‑endpoint created by ImageKit during account creation.
func (r *AccountURLEndpointService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (err error) {
opts = slices.Concat(r.Options, opts)
opts = append([]option.RequestOption{option.WithHeader("Accept", "")}, opts...)
opts = append([]option.RequestOption{option.WithHeader("Accept", "*/*")}, opts...)
if id == "" {
err = errors.New("missing required id parameter")
return
Expand Down
13 changes: 13 additions & 0 deletions aliases.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ type ExtensionAutoTaggingParam = shared.ExtensionAutoTaggingParam
// This is an alias to an internal type.
type ExtensionAIAutoDescriptionParam = shared.ExtensionAIAutoDescriptionParam

// Options for generating responsive image attributes including `src`, `srcSet`,
// and `sizes` for HTML `<img>` elements. This schema extends `SrcOptions` to add
// support for responsive image generation with breakpoints.
//
// This is an alias to an internal type.
type GetImageAttributesOptionsParam = shared.GetImageAttributesOptionsParam

// This is an alias to an internal type.
type ImageOverlayParam = shared.ImageOverlayParam

Expand Down Expand Up @@ -133,6 +140,12 @@ type OverlayTimingEndUnionParam = shared.OverlayTimingEndUnionParam
// This is an alias to an internal type.
type OverlayTimingStartUnionParam = shared.OverlayTimingStartUnionParam

// Resulting set of attributes suitable for an HTML `<img>` element. Useful for
// enabling responsive image loading with `srcSet` and `sizes`.
//
// This is an alias to an internal type.
type ResponsiveImageAttributesParam = shared.ResponsiveImageAttributesParam

// This is an alias to an internal type.
type SolidColorOverlayParam = shared.SolidColorOverlayParam

Expand Down
8 changes: 8 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@

- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#BaseOverlayParam">BaseOverlayParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#ExtensionsParam">ExtensionsParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#GetImageAttributesOptionsParam">GetImageAttributesOptionsParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#ImageOverlayParam">ImageOverlayParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#OverlayUnionParam">OverlayUnionParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#OverlayPositionParam">OverlayPositionParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#OverlayTimingParam">OverlayTimingParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#ResponsiveImageAttributesParam">ResponsiveImageAttributesParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#SolidColorOverlayParam">SolidColorOverlayParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#SolidColorOverlayTransformationParam">SolidColorOverlayTransformationParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#SrcOptionsParam">SrcOptionsParam</a>
Expand All @@ -18,6 +20,12 @@
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#TransformationPosition">TransformationPosition</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#VideoOverlayParam">VideoOverlayParam</a>

# Dummy

Methods:

- <code title="post /v1/dummy/test">client.Dummy.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2#DummyService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, body <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2">imagekit</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2#DummyNewParams">DummyNewParams</a>) <a href="https://pkg.go.dev/builtin#error">error</a></code>

# CustomMetadataFields

Response Types:
Expand Down
19 changes: 13 additions & 6 deletions dummy.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func NewDummyService(opts ...option.RequestOption) (r DummyService) {
// and is not intended for public consumption.
func (r *DummyService) New(ctx context.Context, body DummyNewParams, opts ...option.RequestOption) (err error) {
opts = slices.Concat(r.Options, opts)
opts = append([]option.RequestOption{option.WithHeader("Accept", "")}, opts...)
opts = append([]option.RequestOption{option.WithHeader("Accept", "*/*")}, opts...)
path := "v1/dummy/test"
err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, body, nil, opts...)
return
Expand All @@ -48,15 +48,22 @@ type DummyNewParams struct {
BaseOverlay shared.BaseOverlayParam `json:"baseOverlay,omitzero"`
// Array of extensions to be applied to the asset. Each extension can be configured
// with specific parameters based on the extension type.
Extensions shared.ExtensionsParam `json:"extensions,omitzero"`
ImageOverlay shared.ImageOverlayParam `json:"imageOverlay,omitzero"`
Extensions shared.ExtensionsParam `json:"extensions,omitzero"`
// Options for generating responsive image attributes including `src`, `srcSet`,
// and `sizes` for HTML `<img>` elements. This schema extends `SrcOptions` to add
// support for responsive image generation with breakpoints.
GetImageAttributesOptions shared.GetImageAttributesOptionsParam `json:"getImageAttributesOptions,omitzero"`
ImageOverlay shared.ImageOverlayParam `json:"imageOverlay,omitzero"`
// Specifies an overlay to be applied on the parent image or video. ImageKit
// supports overlays including images, text, videos, subtitles, and solid colors.
// See
// [Overlay using layers](https://imagekit.io/docs/transformations#overlay-using-layers).
Overlay shared.OverlayUnionParam `json:"overlay,omitzero"`
OverlayPosition shared.OverlayPositionParam `json:"overlayPosition,omitzero"`
OverlayTiming shared.OverlayTimingParam `json:"overlayTiming,omitzero"`
Overlay shared.OverlayUnionParam `json:"overlay,omitzero"`
OverlayPosition shared.OverlayPositionParam `json:"overlayPosition,omitzero"`
OverlayTiming shared.OverlayTimingParam `json:"overlayTiming,omitzero"`
// Resulting set of attributes suitable for an HTML `<img>` element. Useful for
// enabling responsive image loading with `srcSet` and `sizes`.
ResponsiveImageAttributes shared.ResponsiveImageAttributesParam `json:"responsiveImageAttributes,omitzero"`
SolidColorOverlay shared.SolidColorOverlayParam `json:"solidColorOverlay,omitzero"`
SolidColorOverlayTransformation shared.SolidColorOverlayTransformationParam `json:"solidColorOverlayTransformation,omitzero"`
// Options for generating ImageKit URLs with transformations. See the
Expand Down
168 changes: 168 additions & 0 deletions dummy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,168 @@ func TestDummyNewWithOptionalParams(t *testing.T) {
}, shared.ExtensionUnionParam{
OfAIAutoDescription: &shared.ExtensionAIAutoDescriptionParam{},
}},
GetImageAttributesOptions: shared.GetImageAttributesOptionsParam{
SrcOptionsParam: shared.SrcOptionsParam{
Src: "/my-image.jpg",
URLEndpoint: "https://ik.imagekit.io/demo",
ExpiresIn: imagekit.Float(0),
QueryParameters: map[string]string{
"foo": "string",
},
Signed: imagekit.Bool(true),
Transformation: []shared.TransformationParam{{
AIChangeBackground: imagekit.String("aiChangeBackground"),
AIDropShadow: shared.TransformationAIDropShadowUnionParam{
OfTransformationAIDropShadowBoolean: imagekit.Bool(true),
},
AIEdit: imagekit.String("aiEdit"),
AIRemoveBackground: true,
AIRemoveBackgroundExternal: true,
AIRetouch: true,
AIUpscale: true,
AIVariation: true,
AspectRatio: shared.TransformationAspectRatioUnionParam{
OfString: imagekit.String("4:3"),
},
AudioCodec: shared.TransformationAudioCodecAac,
Background: imagekit.String("red"),
Blur: imagekit.Float(10),
Border: imagekit.String("5_FF0000"),
ColorProfile: imagekit.Bool(true),
ContrastStretch: true,
Crop: shared.TransformationCropForce,
CropMode: shared.TransformationCropModePadResize,
DefaultImage: imagekit.String("defaultImage"),
Dpr: imagekit.Float(2),
Duration: shared.TransformationDurationUnionParam{
OfFloat: imagekit.Float(0),
},
EndOffset: shared.TransformationEndOffsetUnionParam{
OfFloat: imagekit.Float(0),
},
Flip: shared.TransformationFlipH,
Focus: imagekit.String("center"),
Format: shared.TransformationFormatAuto,
Gradient: shared.TransformationGradientUnionParam{
OfTransformationGradientBoolean: imagekit.Bool(true),
},
Grayscale: true,
Height: shared.TransformationHeightUnionParam{
OfFloat: imagekit.Float(200),
},
Lossless: imagekit.Bool(true),
Metadata: imagekit.Bool(true),
Named: imagekit.String("named"),
Opacity: imagekit.Float(0),
Original: imagekit.Bool(true),
Overlay: shared.OverlayUnionParam{
OfText: &shared.TextOverlayParam{
BaseOverlayParam: shared.BaseOverlayParam{
Position: shared.OverlayPositionParam{
Focus: shared.OverlayPositionFocusCenter,
X: shared.OverlayPositionXUnionParam{
OfFloat: imagekit.Float(0),
},
Y: shared.OverlayPositionYUnionParam{
OfFloat: imagekit.Float(0),
},
},
Timing: shared.OverlayTimingParam{
Duration: shared.OverlayTimingDurationUnionParam{
OfFloat: imagekit.Float(0),
},
End: shared.OverlayTimingEndUnionParam{
OfFloat: imagekit.Float(0),
},
Start: shared.OverlayTimingStartUnionParam{
OfFloat: imagekit.Float(0),
},
},
},
Text: "text",
Encoding: "auto",
Transformation: []shared.TextOverlayTransformationParam{{
Alpha: imagekit.Float(1),
Background: imagekit.String("background"),
Flip: shared.TextOverlayTransformationFlipH,
FontColor: imagekit.String("fontColor"),
FontFamily: imagekit.String("fontFamily"),
FontSize: shared.TextOverlayTransformationFontSizeUnionParam{
OfFloat: imagekit.Float(0),
},
InnerAlignment: shared.TextOverlayTransformationInnerAlignmentLeft,
LineHeight: shared.TextOverlayTransformationLineHeightUnionParam{
OfFloat: imagekit.Float(0),
},
Padding: shared.TextOverlayTransformationPaddingUnionParam{
OfFloat: imagekit.Float(0),
},
Radius: shared.TextOverlayTransformationRadiusUnionParam{
OfFloat: imagekit.Float(0),
},
Rotation: shared.TextOverlayTransformationRotationUnionParam{
OfFloat: imagekit.Float(0),
},
Typography: imagekit.String("typography"),
Width: shared.TextOverlayTransformationWidthUnionParam{
OfFloat: imagekit.Float(0),
},
}},
},
},
Page: shared.TransformationPageUnionParam{
OfFloat: imagekit.Float(0),
},
Progressive: imagekit.Bool(true),
Quality: imagekit.Float(80),
Radius: shared.TransformationRadiusUnionParam{
OfFloat: imagekit.Float(20),
},
Raw: imagekit.String("raw"),
Rotation: shared.TransformationRotationUnionParam{
OfFloat: imagekit.Float(90),
},
Shadow: shared.TransformationShadowUnionParam{
OfTransformationShadowBoolean: imagekit.Bool(true),
},
Sharpen: shared.TransformationSharpenUnionParam{
OfTransformationSharpenBoolean: imagekit.Bool(true),
},
StartOffset: shared.TransformationStartOffsetUnionParam{
OfFloat: imagekit.Float(0),
},
StreamingResolutions: []shared.StreamingResolution{shared.StreamingResolution240},
Trim: shared.TransformationTrimUnionParam{
OfTransformationTrimBoolean: imagekit.Bool(true),
},
UnsharpMask: shared.TransformationUnsharpMaskUnionParam{
OfTransformationUnsharpMaskBoolean: imagekit.Bool(true),
},
VideoCodec: shared.TransformationVideoCodecH264,
Width: shared.TransformationWidthUnionParam{
OfFloat: imagekit.Float(300),
},
X: shared.TransformationXUnionParam{
OfFloat: imagekit.Float(0),
},
XCenter: shared.TransformationXCenterUnionParam{
OfFloat: imagekit.Float(0),
},
Y: shared.TransformationYUnionParam{
OfFloat: imagekit.Float(0),
},
YCenter: shared.TransformationYCenterUnionParam{
OfFloat: imagekit.Float(0),
},
Zoom: imagekit.Float(0),
}},
TransformationPosition: shared.TransformationPositionPath,
},
DeviceBreakpoints: []float64{640, 750, 828, 1080, 1200, 1920, 2048, 3840},
ImageBreakpoints: []float64{16, 32, 48, 64, 96, 128, 256, 384},
Sizes: imagekit.String("(min-width: 768px) 50vw, 100vw"),
Width: imagekit.Float(400),
},
ImageOverlay: shared.ImageOverlayParam{
BaseOverlayParam: shared.BaseOverlayParam{
Position: shared.OverlayPositionParam{
Expand Down Expand Up @@ -316,6 +478,12 @@ func TestDummyNewWithOptionalParams(t *testing.T) {
OfFloat: imagekit.Float(0),
},
},
ResponsiveImageAttributes: shared.ResponsiveImageAttributesParam{
Src: "https://ik.imagekit.io/demo/image.jpg?tr=w-3840",
Sizes: imagekit.String("100vw"),
SrcSet: imagekit.String("https://ik.imagekit.io/demo/image.jpg?tr=w-640 640w, https://ik.imagekit.io/demo/image.jpg?tr=w-1080 1080w, https://ik.imagekit.io/demo/image.jpg?tr=w-1920 1920w"),
Width: imagekit.Float(400),
},
SolidColorOverlay: shared.SolidColorOverlayParam{
BaseOverlayParam: shared.BaseOverlayParam{
Position: shared.OverlayPositionParam{
Expand Down
2 changes: 1 addition & 1 deletion file.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ func (r *FileService) Update(ctx context.Context, fileID string, body FileUpdate
// the cache using purge cache API.
func (r *FileService) Delete(ctx context.Context, fileID string, opts ...option.RequestOption) (err error) {
opts = slices.Concat(r.Options, opts)
opts = append([]option.RequestOption{option.WithHeader("Accept", "")}, opts...)
opts = append([]option.RequestOption{option.WithHeader("Accept", "*/*")}, opts...)
if fileID == "" {
err = errors.New("missing required fileId parameter")
return
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ go 1.22

require (
github.com/standard-webhooks/standard-webhooks/libraries v0.0.0-20250711233419-a173a6c0125c
github.com/tidwall/gjson v1.14.4
github.com/tidwall/gjson v1.18.0
github.com/tidwall/sjson v1.2.5
)

Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
github.com/standard-webhooks/standard-webhooks/libraries v0.0.0-20250711233419-a173a6c0125c h1:Mm99t6GdFMtZOwyyvu3q8gXeZX0sqnjvimTC9QCJwQc=
github.com/standard-webhooks/standard-webhooks/libraries v0.0.0-20250711233419-a173a6c0125c/go.mod h1:L1MQhA6x4dn9r007T033lsaZMv9EmBAdXyU/+EF40fo=
github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
github.com/tidwall/gjson v1.14.4 h1:uo0p8EbA09J7RQaflQ1aBRffTR7xedD2bcIVSYxLnkM=
github.com/tidwall/gjson v1.14.4/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY=
github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA=
github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=
github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
Expand Down
Loading
Loading