CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-com-google-genai--google-genai

Java idiomatic SDK for the Gemini Developer APIs and Vertex AI APIs

Overview
Eval results
Files

operations.mddocs/

Operations Management

Manage long-running operations like video generation and model tuning jobs.

Core Imports

import com.google.genai.Operations;
import com.google.genai.AsyncOperations;
import com.google.genai.Pager;
import com.google.genai.types.Operation;
import com.google.genai.types.GenerateVideosOperation;
import com.google.genai.types.TuningOperation;

Operations Service

package com.google.genai;

public final class Operations {
  public Operation get(String name, GetOperationConfig config);
  public void cancel(String name, CancelOperationConfig config);
  public DeleteResourceJob delete(String name, DeleteOperationConfig config);
  public Pager<Operation> list(ListOperationsConfig config);
  public Operation wait(String name, WaitOperationConfig config);
}

Operation Type

package com.google.genai.types;

public final class Operation {
  public Optional<String> name();
  public Optional<JsonNode> metadata();
  public Optional<Boolean> done();
  public Optional<Status> error();
  public Optional<JsonNode> response();
}

Get Operation

Operation op = client.operations.get("operations/abc123", null);

System.out.println("Operation: " + op.name().orElse("N/A"));
System.out.println("Done: " + op.done().orElse(false));

if (op.done().orElse(false)) {
    op.response().ifPresent(response -> {
        System.out.println("Result: " + response);
    });
} else {
    System.out.println("Still processing...");
}

Wait for Operation

Operation op = client.operations.wait("operations/abc123", null);

if (op.error().isPresent()) {
    System.err.println("Operation failed: " + op.error().get());
} else {
    System.out.println("Operation completed successfully");
}

Poll Operation

GenerateVideosOperation videoOp = client.models.generateVideos(...);

while (!videoOp.done().isPresent()) {
    Thread.sleep(10000);
    videoOp = client.operations.getVideosOperation(videoOp, null);
    System.out.println("Status: " + videoOp.name().orElse("N/A"));
}

videoOp.response().ifPresent(response -> {
    response.generatedVideos().ifPresent(videos -> {
        System.out.println("Generated " + videos.size() + " videos");
    });
});

Cancel Operation

client.operations.cancel("operations/abc123", null);
System.out.println("Operation cancelled");

Delete Operation

DeleteResourceJob result = client.operations.delete("operations/abc123", null);
System.out.println("Operation deleted");

List Operations

Pager<Operation> pager = client.operations.list(null);

for (Operation op : pager) {
    System.out.println("Op: " + op.name().orElse("N/A"));
    System.out.println("  Done: " + op.done().orElse(false));
}

Install with Tessl CLI

npx tessl i tessl/maven-com-google-genai--google-genai

docs

batch-operations.md

caching.md

chat-sessions.md

client-configuration.md

content-generation.md

embeddings-tokens.md

error-handling.md

file-search-stores.md

files-management.md

image-operations.md

index.md

live-sessions.md

model-tuning.md

operations.md

tools-functions.md

types-reference.md

video-generation.md

tile.json