リファレンス

Stitch TypeScript SDK の完全な API リファレンス。

インストール

npm install @google/stitch-sdk

エクスポート

すべてのエクスポートは @google/stitch-sdk から利用できます:

import {
  stitch,           // Default singleton instance
  Stitch,           // Domain class: project management
  Project,          // Domain class: screen management within a project
  Screen,           // Domain class: screen operations
  StitchToolClient, // Low-level MCP client
  StitchProxy,      // Local proxy server
  StitchError,      // Error class
  StitchErrorCode,  // Error code enum
} from "@google/stitch-sdk";

AI SDK アダプター(別のサブパス):

import { stitchTools } from "@google/stitch-sdk/ai";

stitch(シングルトン)

デフォルトのエントリポイントです。Stitch のドメインメソッドと StitchToolClient のインフラストラクチャメソッドを兼ね備えた、遅延初期化される Proxy です。

最初のアクセス時に、環境変数から STITCH_API_KEY と STITCH_HOST を読み取ります。

import { stitch } from "@google/stitch-sdk";

ドメインメソッド

メソッド戻り値説明
createProject(title)Promise<Project>新しいプロジェクトを作成します。
projects()Promise<Project[]>認証済みユーザーがアクセスできるすべてのプロジェクトを一覧表示します。
project(id)Project既存のプロジェクト ID またはリソース名から Project ハンドルを作成します。API 呼び出しは行いません。

インフラストラクチャメソッド

メソッド戻り値説明
listTools()Promise<{ tools: ToolDefinition[] }>利用可能なすべての MCP ツールを一覧表示します。
callTool<T>(name, params)Promise<T>名前を指定して生の MCP ツールを呼び出します。
close()Promise<void>背後の MCP クライアント接続を閉じます。

Stitch

メインのエントリポイントクラスです。プロジェクトを管理します。

import { Stitch, StitchToolClient } from "@google/stitch-sdk";

const client = new StitchToolClient({ apiKey: "..." });
const s = new Stitch(client);

コンストラクタ

パラメータ型説明
clientStitchToolClient初期化済みのツールクライアントインスタンスです。

メソッド

メソッド戻り値説明
createProject(title)Promise<Project>新しいプロジェクトを作成します。MCP ツール create_project に対応します。
projects()Promise<Project[]>すべてのプロジェクトを一覧表示します。MCP ツール list_projects に対応します。
project(id)ProjectAPI 呼び出しなしで Project ハンドルを作成します。プロジェクト ID または完全なリソース名(projects/{id})を受け付けます。

Project

画面を格納する Stitch プロジェクトです。

プロパティ

プロパティ型説明
projectIdstringプロジェクト ID(projects/ プレフィックスなし)。
idstringprojectId のエイリアスです。
dataanyサーバーレスポンスから構築された場合の生の API レスポンスデータ。ID 文字列から構築された場合は undefined。

メソッド

メソッドパラメータ戻り値説明
generate(prompt, deviceType?, modelId?)prompt: string, deviceType?: DeviceType, modelId?: ModelIdPromise<Screen>テキストプロンプトから新しい画面を生成します。generate_screen_from_text に対応します。
screens()-Promise<Screen[]>プロジェクト内のすべての画面を一覧表示します。list_screens に対応します。
getScreen(screenId)screenId: stringPromise<Screen>ID を指定して特定の画面を取得します。get_screen に対応します。
upload(filePath, opts?)filePath: string, opts?: { title?: string, createScreenInstances?: boolean }Promise<UploadResult>ファイル(.png、.jpg、.jpeg、.webp、.html、.htm)をアップロードし、画面を作成します。REST API に直接送信します。例外はスローされず、判別可能な結果を返します。
createDesignSystem(ds)ds: { displayName: string }Promise<DesignSystem>このプロジェクトのデザインシステムを作成します。
listDesignSystems()-Promise<DesignSystem[]>プロジェクト内のすべてのデザインシステムを一覧表示します。
designSystem(id)id: stringDesignSystemアセット ID から DesignSystem ハンドルを作成します。API 呼び出しは行いません。
uploadDesignMd(designMdBase64)designMdBase64: stringPromise<any>DESIGN.md ファイル(base64 エンコード)をプロジェクトにアップロードします。画面インスタンスを返します。upload_design_md に対応します。
createDesignSystemFromDesignMd(selectedScreenInstance, deviceType?)selectedScreenInstance: SelectedScreenInstance, deviceType?: DeviceTypePromise<DesignSystem>アップロードされた DESIGN.md からデザインシステムを作成します。create_design_system_from_design_md に対応します。

DesignSystem

プロジェクトの視覚トークンを定義するデザインシステムアセットです。

プロパティ

プロパティ型説明
idstringアセット ID です。
dataany生の API レスポンスデータ。ID 文字列から構築された場合は undefined。

メソッド

メソッドパラメータ戻り値説明
update(ds)ds: { displayName?: string }Promise<DesignSystem>デザインシステムのメタデータを更新します。
apply(selectedScreenInstances){ id: string, sourceScreen: string }[]Promise<Screen[]>このデザインシステムを指定された画面に適用します。渡すのは id と sourceScreen だけにしてください — 余分なフィールドはエラーの原因になります。

Screen

生成された UI 画面です。HTML コードとスクリーンショット画像にアクセスできます。

プロパティ

プロパティ型説明
projectIdstring親プロジェクトの ID。
screenIdstring画面の ID。
idstringscreenId のエイリアスです。
dataany生の API レスポンスデータ。

メソッド

メソッドパラメータ戻り値説明
edit(prompt, deviceType?, modelId?)prompt: string, deviceType?: DeviceType, modelId?: ModelIdPromise<Screen>テキストプロンプトでこの画面を編集します。新しい Screen を返します。元の画面は変更されません。edit_screens に対応します。
variants(prompt, variantOptions, deviceType?, modelId?)prompt: string, variantOptions: VariantOptions, deviceType?: DeviceType, modelId?: ModelIdPromise<Screen[]>デザインバリアントを生成します。generate_variants に対応します。
getHtml()-Promise<string>この画面の HTML ダウンロード URL を返します。キャッシュされた URL があればそれを使用します。
getImage()-Promise<string>スクリーンショットのダウンロード URL を返します。キャッシュされた URL があればそれを使用します。

StitchToolClient

HTTP 経由で Stitch サーバーに接続する低レベルの MCP クライアントです。

import { StitchToolClient } from "@google/stitch-sdk";

コンストラクタ

パラメータ型説明
configStitchConfigInput接続設定です。

StitchConfigInput

フィールド型必須説明
apiKeystringapiKey または accessToken のいずれか認証用の API キーです。
accessTokenstringapiKey または accessToken のいずれかOAuth アクセストークンです。
projectIdstringaccessToken と併用時は必須Google Cloud プロジェクト ID(OAuth 用)。
baseUrlstring不要サーバー URL を上書きします。デフォルトは https://stitch.googleapis.com/mcp。

メソッド

メソッド戻り値説明
connect()Promise<void>MCP サーバーに明示的に接続します。最初のツール呼び出し時に自動的に呼び出されます。
callTool<T>(name, params)Promise<T>指定されたパラメータで名前付き MCP ツールを呼び出します。
listTools()Promise<{ tools: ToolDefinition[] }>サーバーから利用可能なすべてのツールを一覧表示します。
close()Promise<void>接続を閉じます。

stitchTools(options?)

AI SDK アダプターです。Vercel AI SDK 形式で Stitch ツールを返します。

/ai サブパスからインポートします:

import { stitchTools } from "@google/stitch-sdk/ai";

パラメータ

フィールド型説明
options.apiKeystringSTITCH_API_KEY 環境変数を上書きします。
options.includestring[]特定のツール名だけを含めます。

戻り値

Record<string, Tool> - generateText({ tools: stitchTools() }) にそのまま渡せます。


StitchError

すべての SDK メソッドがスローするエラークラスです。

プロパティ型説明
messagestring人間が読める形式のエラーメッセージ。
codeStitchErrorCode構造化されたエラーコード。

静的メソッド

メソッド説明
StitchError.fromUnknown(error)スローされた任意の値を StitchError でラップします。

列挙型

DeviceType

"DEVICE_TYPE_UNSPECIFIED" | "MOBILE" | "DESKTOP" | "TABLET" | "AGNOSTIC"

ModelId

"MODEL_ID_UNSPECIFIED" | "GEMINI_3_PRO" | "GEMINI_3_FLASH"

CreativeRange

"CREATIVE_RANGE_UNSPECIFIED" | "REFINE" | "EXPLORE" | "REIMAGINE"

VariantAspect

"VARIANT_ASPECT_UNSPECIFIED" | "LAYOUT" | "COLOR_SCHEME" | "IMAGES" | "TEXT_FONT" | "TEXT_CONTENT"


環境変数

変数説明
STITCH_API_KEY認証用の API キー。stitch シングルトンと stitchTools() が使用します。
STITCH_HOSTMCP サーバー URL を上書きします。デフォルトは https://stitch.googleapis.com/mcp。
STITCH_ACCESS_TOKENOAuth アクセストークン(API キーの代替)。
GOOGLE_CLOUD_PROJECTGoogle Cloud プロジェクト ID(OAuth 使用時は必須)。

原文: https://stitch.withgoogle.com/docs/sdk/reference/

本ページは Google Stitch 公式ドキュメントの翻訳です。原文の著作権は Google LLC に帰属します。本サイトは独立した非公式の翻訳です。