Account tools

    Use these tools to list models, check your credit balance, and view generation history.

    #Available models and pricing

    A live list of enabled models and their prices (synced to the database) is in Available models. Disabled models are hidden there and in get_models.

    get_models returns all available models with their price in credits and typical generation time. Use it to choose a model and confirm cost before generating.

    • Pricing: Each model includes cost_per_generation (credits).
    • Estimated time: Each model includes estimated_time_seconds (typical generation duration). You get both cost and estimated duration in one call; no separate estimation tool needed for a per-model estimate.
    • Use listed models only: When calling generate_media or generate_music, use a model_id from the get_models response. Using a model not in that list may result in an error.

    Filter by model_type (image, video, or music) to get models for a specific capability. See Media tools, and Music tools for per-tool model usage.

    #get_models

    Returns available AI models with costs and capabilities. Call this before generating to choose the right model and confirm cost.

    Parameters:

    ParameterTypeRequiredDescription
    model_typestringNoFilter by type: image, video, or music. Omit for all.

    Response: A list of models. Each entry typically includes:

    • model_id - Use this in generate_media or generate_music. Only use IDs returned here.
    • display_name, provider
    • model_type (image, video, music)
    • cost_per_generation (credits)
    • estimated_time_seconds (typical generation duration)
    • generation_types (e.g. text-to-image, image-to-video)
    • requires_input_media, input_media_types (e.g. one image)
    • capabilities (aspect ratios, durations, quality levels, etc.)

    Use this to decide which model to use and whether you need to pass source_media_urls for media.


    #get_balance

    Returns your current Kubeez credit balance.

    Parameters: None (uses your authenticated account).

    Response: Your available credits (and optionally last updated). Check this before starting expensive generations.


    #get_generations

    Returns your latest 20 generations (media) with optional filters (e.g. to list recent jobs and their output or source links). For one specific row, use get_generation (full detail) or get_status (just the current state).

    Parameters:

    ParameterTypeRequiredDescription
    statusstringNoFilter by status (e.g. completed, failed).
    modelstringNoFilter by model ID.
    generation_typestringNoFilter by type (e.g. text-to-image).

    Response: Up to 20 generations with IDs, prompts, models, status, timestamps, and output details.


    #get_generation

    Full detail for a single past generation: prompt, model, parameters, status, outputs, credits_deducted, error_message. Use it when you have one id and want the whole row; get_generations is the paginated history. Pairs with regenerate for iteration: get_generation(id), inspect the params, then regenerate(id, prompt="tweaked").

    Parameters:

    ParameterTypeRequiredDescription
    idstringYesThe generation_id.

    Response: The same row shape as one entry of get_generations.generations[].


    #plan

    Read-only planner. Give it the user's goal in their own words and it returns a routed plan instead of you making four separate calls. Charges nothing and calls no model.

    Use it as the first call of a session when the user has described what they want but has not picked a model.

    Parameters:

    ParameterTypeRequiredDescription
    intentstringYesWhat the user wants, in their own words.
    has_local_filesbooleanNoTrue when the user attached image or audio reference media.
    has_video_referencebooleanNoTrue when the user attached a video they want modified. Routes to a video-reference model instead of text- or image-to-video.
    target_aspectstringNoForce an aspect ratio instead of letting the planner infer one.

    Response: recommended_model, estimated_credits, estimated_seconds, requires_upload, suggested_aspect_ratio, workflow_steps[] and skills_to_fetch[]. If the intent is ambiguous you get clarifying_questions[] instead of a model — ask the user those, then call plan again.


    #list_assets

    Lists the user's Asset Library: named, reusable images, videos and audio stored in their private bucket. Check here before asking someone to re-upload a logo, a recurring face, a voice clip or a track — it may already be saved.

    Parameters: None.

    Response: assets[], each with a stable name (e.g. tesote-logo), id, kind (image / video / audio), size_bytes and a signed CDN url valid for one hour. Pass that url straight into generate_media as a source_media_urls value. Also returns quota_bytes / used_bytes, a team block and team-shared rows for accounts on a team plan, and a kling_elements block when the user has saved reference bundles.


    #manage_library

    The write half of the library: add, rename or delete Asset Library entries, and create or delete Gemini Omni characters. Reads stay on list_assets and list_gemini_omni_characters — call those first to confirm what exists.

    Parameters:

    ParameterTypeRequiredDescription
    kindstringYesasset or character.
    actionstringYesAssets: add, rename, delete. Characters: create, delete.
    namestringNoHandle for an asset add: lowercase letters, digits, _ and -, max 64 characters, unique per user.
    urlstringNoRemote source for an asset add. The server fetches it and validates the MIME type.
    sharedbooleanNoTeam accounts only: true saves to the shared team library, false to the personal one. This is the user's choice — omitting it on a team account returns shared_scope_required rather than guessing.
    asset_idstringNoUUID from list_assets, for rename or delete.
    new_namestringNoNew handle for a rename.
    descriptionsstringNoAppearance / identity text for a character create.
    image_urlstringNoPublic jpeg / png / webp for a character create.
    character_namestringNoOptional display name for a character create.
    voice_idstringNoOptional voice from list_gemini_omni_voices.
    character_idstringNoThe id field from list_gemini_omni_characters, for delete.

    See Limitations for rate limits.