SDK GUIDE / SOURCE PREVIEW
Java
Cloud · synchronous/asynchronous
1. Set up your project
Start from sdk/java in the Cloud repository. These commands use the local source package, not a registry release.
mvn test
mvn dependency:build-classpath -Dmdep.outputFile=target/classpath.txt
javac -cp "target/classes:$(cat target/classpath.txt)" -d target/examples examples/Example.java
java -cp "target/examples:target/classes:$(cat target/classpath.txt)" Example2. Prepare authentication
Server examples read MULTIVIBE_BASE_URL and MULTIVIBE_TOKEN from the environment. Use an origin without /v1. Never ship a project key in a browser or mobile bundle.
For client applications, use a user-authorized OAuth access-token provider and OS-secure storage. Browser refresh and exchange require a backend. Backendless publisher-funded sessions are not implemented.
Follow the OAuth + PKCE guide →3. Make your first request
This example discovers models. Mobile snippets belong in your authenticated application; they are not standalone app projects.
import cloud.multivibe.MultiVibe;
import java.net.URI;
public class Example {
public static void main(String[] args) throws Exception {
var client=new MultiVibe(URI.create(System.getenv("MULTIVIBE_BASE_URL")),()->System.getenv("MULTIVIBE_TOKEN"));
client.models();System.out.println("Model catalog request succeeded (response not logged).");
}
}Next steps
Choose a compatible model from the catalog before inference. Handle expired access, insufficient scope and unavailable models separately. Never retry a billable inference blindly after a timeout or partial stream.
Operations, streaming and usage →