Genkit JS API reference
    Preparing search index...

    Function getBasicUsageStats

    • Calculates basic usage statistics from the given model inputs and outputs.

      Parameters

      • input: {
            content: (
                | {
                    custom?: Record<string, unknown>;
                    data?: unknown;
                    media?: undefined;
                    metadata?: Record<string, unknown>;
                    reasoning?: undefined;
                    resource?: undefined;
                    text: string;
                    toolRequest?: undefined;
                    toolResponse?: undefined;
                }
                | {
                    custom?: Record<string, unknown>;
                    data?: unknown;
                    media: { contentType?: string; url: string };
                    metadata?: Record<string, unknown>;
                    reasoning?: undefined;
                    resource?: undefined;
                    text?: undefined;
                    toolRequest?: undefined;
                    toolResponse?: undefined;
                }
                | {
                    custom?: Record<string, unknown>;
                    data?: unknown;
                    media?: undefined;
                    metadata?: Record<string, unknown>;
                    reasoning?: undefined;
                    resource?: undefined;
                    text?: undefined;
                    toolRequest: {
                        input?: unknown;
                        name: string;
                        partial?: boolean;
                        ref?: string;
                    };
                    toolResponse?: undefined;
                }
                | {
                    custom?: Record<string, unknown>;
                    data?: unknown;
                    media?: undefined;
                    metadata?: Record<string, unknown>;
                    reasoning?: undefined;
                    resource?: undefined;
                    text?: undefined;
                    toolRequest?: undefined;
                    toolResponse: { name: string; output?: unknown; ref?: string } & {
                        content?: (
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning: ...;
                                resource?: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                            | {
                                custom?: ...;
                                data?: ...;
                                media?: ...;
                                metadata?: ...;
                                reasoning?: ...;
                                resource: ...;
                                text?: ...;
                                toolRequest?: ...;
                                toolResponse?: ...;
                            }
                        )[];
                    };
                }
                | {
                    custom?: Record<string, unknown>;
                    data?: unknown;
                    media?: undefined;
                    metadata?: Record<string, unknown>;
                    reasoning?: undefined;
                    resource?: undefined;
                    text?: undefined;
                    toolRequest?: undefined;
                    toolResponse?: undefined;
                }
                | {
                    custom: Record<string, any>;
                    data?: unknown;
                    media?: undefined;
                    metadata?: Record<string, unknown>;
                    reasoning?: undefined;
                    resource?: undefined;
                    text?: undefined;
                    toolRequest?: undefined;
                    toolResponse?: undefined;
                }
                | {
                    custom?: Record<string, unknown>;
                    data?: unknown;
                    media?: undefined;
                    metadata?: Record<string, unknown>;
                    reasoning: string;
                    resource?: undefined;
                    text?: undefined;
                    toolRequest?: undefined;
                    toolResponse?: undefined;
                }
                | {
                    custom?: Record<string, unknown>;
                    data?: unknown;
                    media?: undefined;
                    metadata?: Record<string, unknown>;
                    reasoning?: undefined;
                    resource: { uri: string };
                    text?: undefined;
                    toolRequest?: undefined;
                    toolResponse?: undefined;
                }
            )[];
            metadata?: Record<string, unknown>;
            role: "user" | "model" | "tool" | "system";
        }[]
      • response:
            | {
                content: (
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text: string;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media: { contentType?: string; url: string };
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest: {
                            input?: unknown;
                            name: string;
                            partial?: boolean;
                            ref?: string;
                        };
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse: { name: string; output?: unknown; ref?: string } & {
                            content?: (
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning: ...;
                                    resource?: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                                | {
                                    custom?: ...;
                                    data?: ...;
                                    media?: ...;
                                    metadata?: ...;
                                    reasoning?: ...;
                                    resource: ...;
                                    text?: ...;
                                    toolRequest?: ...;
                                    toolResponse?: ...;
                                }
                            )[];
                        };
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom: Record<string, any>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning: string;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource: { uri: string };
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                )[];
                metadata?: Record<string, unknown>;
                role: "user" | "model" | "tool" | "system";
            }
            | {
                custom?: unknown;
                finishMessage?: string;
                finishReason: | "length"
                | "stop"
                | "other"
                | "unknown"
                | "interrupted"
                | "blocked"
                | "aborted";
                index: number;
                message: {
                    content: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: string } & {
                                content?: (...)[];
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                    metadata?: Record<string, unknown>;
                    role: "user" | "model" | "tool" | "system";
                };
                usage?: {
                    cachedContentTokens?: number;
                    custom?: Record<string, number>;
                    inputAudioFiles?: number;
                    inputCharacters?: number;
                    inputImages?: number;
                    inputTokens?: number;
                    inputVideos?: number;
                    outputAudioFiles?: number;
                    outputCharacters?: number;
                    outputImages?: number;
                    outputTokens?: number;
                    outputVideos?: number;
                    thoughtsTokens?: number;
                    totalTokens?: number;
                };
            }[]

      Returns {
          cachedContentTokens?: number;
          custom?: Record<string, number>;
          inputAudioFiles?: number;
          inputCharacters?: number;
          inputImages?: number;
          inputTokens?: number;
          inputVideos?: number;
          outputAudioFiles?: number;
          outputCharacters?: number;
          outputImages?: number;
          outputTokens?: number;
          outputVideos?: number;
          thoughtsTokens?: number;
          totalTokens?: number;
      }