Starting April 29, 2025, Gemini 1.5 Pro and Gemini 1.5 Flash models are not available in projects that have no prior usage of these models, including new projects. For details, see Model versions and lifecycle.
The maximum number of tokens as specified in the request was reached.
MAX_TOKENS = 2;
MAX_TOKENS_VALUE
The maximum number of tokens as specified in the request was reached.
MAX_TOKENS = 2;
OTHER
All other reasons that stopped the token generation
OTHER = 5;
OTHER_VALUE
All other reasons that stopped the token generation
OTHER = 5;
RECITATION
The token generation was stopped as the response was flagged for
unauthorized citations.
RECITATION = 4;
RECITATION_VALUE
The token generation was stopped as the response was flagged for
unauthorized citations.
RECITATION = 4;
SAFETY
The token generation was stopped as the response was flagged for safety
reasons. NOTE: When streaming the Candidate.content will be empty if
content filters blocked the output.
SAFETY = 3;
SAFETY_VALUE
The token generation was stopped as the response was flagged for safety
reasons. NOTE: When streaming the Candidate.content will be empty if
content filters blocked the output.
SAFETY = 3;
STOP
Natural stop point of the model or provided stop sequence.
STOP = 1;
STOP_VALUE
Natural stop point of the model or provided stop sequence.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Enum Candidate.FinishReason (0.6.0)\n\n public enum Candidate.FinishReason extends Enum\u003cCandidate.FinishReason\u003e implements ProtocolMessageEnum\n\nThe reason why the model stopped generating tokens.\nIf empty, the model has not stopped generating the tokens.\n\nProtobuf enum `google.cloud.vertexai.v1.Candidate.FinishReason` \n\nImplements\n----------\n\n[ProtocolMessageEnum](https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ProtocolMessageEnum.html) \n\nInherited Members\n-----------------\n\n[Enum.\\\u003cT\\\u003evalueOf(Class\\\u003cT\\\u003e,String)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#valueOf-java.lang.Class-java.lang.String-) \n[Enum.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#clone--) \n[Enum.compareTo(E)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#compareTo-E-) \n[Enum.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#equals-java.lang.Object-) \n[Enum.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#finalize--) \n[Enum.getDeclaringClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#getDeclaringClass--) \n[Enum.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#hashCode--) \n[Enum.name()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#name--) \n[Enum.ordinal()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#ordinal--) \n[Enum.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#toString--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)"]]