For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://modelgates.ai/docs/_mcp/server.
VideoGeneration - Go SDK
The Go SDK and docs are currently in beta. Report issues on GitHub.
Overview
Video Generation endpoints
Available Operations
- Generate - Submit a video generation request
- GetGeneration - Poll video generation status
- GetVideoContent - Download generated video content
- ListVideosModels - List all video generation models
Generate
Submits a video generation request and returns a polling URL to check status
Example Usage
go
package main import( "context" "os" modelgates "github.com/ModelGatesTeam/go-sdk" "github.com/ModelGatesTeam/go-sdk/models/components" "log") func main() { ctx := context.Background() s := modelgates.New( modelgates.WithSecurity(os.Getenv("MODELGATES_API_KEY")), ) res, err := s.VideoGeneration.Generate(ctx, components.VideoGenerationRequest{ AspectRatio: components.AspectRatioOneHundredAndSixtyNine.ToPointer(), Duration: modelgates.Pointer[int64](8), Model: "google/veo-3.1", Prompt: "A serene mountain landscape at sunset", Resolution: components.ResolutionSevenHundredAndTwentyp.ToPointer(), }) if err != nil { log.Fatal(err) } if res != nil { // handle response }}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx | context.Context | :heavy_check_mark: | The context to use for the request. |
request | components.VideoGenerationRequest | :heavy_check_mark: | The request object to use for the request. |
opts | []operations.Option | :heavy_minus_sign: | The options for this request. |
Response
*components.VideoGenerationResponse, error
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| sdkerrors.BadRequestResponseError | 400 | application/json |
| sdkerrors.UnauthorizedResponseError | 401 | application/json |
| sdkerrors.PaymentRequiredResponseError | 402 | application/json |
| sdkerrors.NotFoundResponseError | 404 | application/json |
| sdkerrors.TooManyRequestsResponseError | 429 | application/json |
| sdkerrors.InternalServerResponseError | 500 | application/json |
| sdkerrors.APIError | 4XX, 5XX | */* |
GetGeneration
Returns job status and content URLs when completed
Example Usage
go
package main import( "context" "os" modelgates "github.com/ModelGatesTeam/go-sdk" "log") func main() { ctx := context.Background() s := modelgates.New( modelgates.WithSecurity(os.Getenv("MODELGATES_API_KEY")), ) res, err := s.VideoGeneration.GetGeneration(ctx, "job-abc123") if err != nil { log.Fatal(err) } if res != nil { // handle response }}Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx | context.Context | :heavy_check_mark: | The context to use for the request. | |
jobID | string | :heavy_check_mark: | N/A | job-abc123 |
opts | []operations.Option | :heavy_minus_sign: | The options for this request. |
Response
*components.VideoGenerationResponse, error
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| sdkerrors.UnauthorizedResponseError | 401 | application/json |
| sdkerrors.NotFoundResponseError | 404 | application/json |
| sdkerrors.InternalServerResponseError | 500 | application/json |
| sdkerrors.APIError | 4XX, 5XX | */* |
GetVideoContent
Streams the generated video content from the upstream provider
Example Usage
go
package main import( "context" "os" modelgates "github.com/ModelGatesTeam/go-sdk" "github.com/ModelGatesTeam/go-sdk/optionalnullable" "log") func main() { ctx := context.Background() s := modelgates.New( modelgates.WithSecurity(os.Getenv("MODELGATES_API_KEY")), ) res, err := s.VideoGeneration.GetVideoContent(ctx, "job-abc123", optionalnullable.From(modelgates.Pointer[int64](0))) if err != nil { log.Fatal(err) } if res != nil { // handle response }}Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx | context.Context | :heavy_check_mark: | The context to use for the request. | |
jobID | string | :heavy_check_mark: | N/A | job-abc123 |
index | optionalnullable.OptionalNullable[int64] | :heavy_minus_sign: | N/A | 0 |
opts | []operations.Option | :heavy_minus_sign: | The options for this request. |
Response
io.ReadCloser, error
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| sdkerrors.BadRequestResponseError | 400 | application/json |
| sdkerrors.UnauthorizedResponseError | 401 | application/json |
| sdkerrors.NotFoundResponseError | 404 | application/json |
| sdkerrors.InternalServerResponseError | 500 | application/json |
| sdkerrors.BadGatewayResponseError | 502 | application/json |
| sdkerrors.APIError | 4XX, 5XX | */* |
ListVideosModels
Returns a list of all available video generation models and their properties
Example Usage
go
package main import( "context" "os" modelgates "github.com/ModelGatesTeam/go-sdk" "log") func main() { ctx := context.Background() s := modelgates.New( modelgates.WithSecurity(os.Getenv("MODELGATES_API_KEY")), ) res, err := s.VideoGeneration.ListVideosModels(ctx) if err != nil { log.Fatal(err) } if res != nil { // handle response }}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx | context.Context | :heavy_check_mark: | The context to use for the request. |
opts | []operations.Option | :heavy_minus_sign: | The options for this request. |
Response
*components.VideoModelsListResponse, error
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| sdkerrors.BadRequestResponseError | 400 | application/json |
| sdkerrors.InternalServerResponseError | 500 | application/json |
| sdkerrors.APIError | 4XX, 5XX | */* |