# General Translation Platform: プロジェクトアセットのアップロード URL: https://generaltranslation.com/ja/docs/platform/openapi/reference/project/upload-assets.mdx --- title: プロジェクトアセットのアップロード description: Organization 内の General Translation Lottie ワークフロー用フォントアセットをアップロードします。プロジェクトアセットのアップロードに関する API リファレンスです。 method: POST --- プロジェクト経由で OpenType または TrueType フォントをアップロードし、その Organization 全体の Lottie 翻訳ワークフローで使用できるようにします。 ## 概要 [#overview] ```http POST https://api2.gtx.dev/v2/project/assets ``` **権限** `project:files:write` · **レート制限** 中 (120/分) ## 仕組み [#how-it-works] * 各リクエストでは、1~50 個のフォントを指定できます。 * 各フォントは有効な base64 形式で、ファイル名の拡張子が `.ttf` または `.otf` であり、デコード後のサイズが 20MB 以下である必要があります。 * アセットの所有 Organization はプロジェクトによって決まります。アップロードしたフォントは、その Organization の翻訳ジョブで継続して使用できます。 * ストレージはコンテンツアドレス方式です。同じファイル名で同じフォントを再アップロードしても、結果は変わりません。 * いずれかのアセットを保存できない場合、リクエストは失敗します。リクエスト全体を安全に再試行できます。 ## リクエスト [#request] ### ヘッダー | ヘッダー | 説明 | 必須 | | ----------------- | --------------------------- | --- | | `x-gt-api-key` | プロジェクトまたはOrganizationの API キー。 | はい | | `x-gt-project-id` | プロジェクト ID。Organizationキーを使用する場合は必須です。 | いいえ | ### 本文 **コンテンツタイプ** `application/json` | フィールド | 説明 | 型 | 任意 | デフォルト | | ------------------- | -------------------------- | ---------- | --- | ----- | | [`assets`](#assets) | アップロードするフォントアセット (1~50個) 。 | `object[]` | いいえ | — | #### `assets` **型** `object[]` · **必須** | フィールド | 説明 | 型 | 任意 | デフォルト | | ----------- | ------------------------------------------- | -------- | --- | ----- | | `assetType` | アセットの種類。`FONT` のみ対応しています。 | `'FONT'` | いいえ | — | | `content` | Base64エンコードされたフォントの内容。デコード後のサイズは最大20MBです。 | `string` | いいえ | — | | `fileName` | `.ttf` または `.otf` で終わるフォントファイル名 (1~255文字) 。 | `string` | いいえ | — | ## レスポンス [#response] **ステータス** `201 Created` ```json title="Response" { "assets": [ { "id": "asset_...", "assetKey": "gt/orgs/org_.../fonts/...", "fileName": "BrandSans.ttf" } ], "count": 1 } ``` ## エラー [#errors] | ステータス | 原因 | | ----- | --------------------------------------------------------------------- | | `400` | リクエストボディが無効、base64 が無効、アセットが空、サポートされていないファイル拡張子、またはアセットが 20MB を超えている。 | | `401` | API キーがないか、無効である。 | | `403` | API キーに `project:files:write` 権限がない。 | | `404` | プロジェクトが見つからない。 | | `429` | レート制限を超過した。 | | `500` | アセットを保存できなかった。リクエスト全体を再試行してください。 | ## 例 [#example] ```bash FONT_BASE64=$(base64 < ./BrandSans.ttf | tr -d '\n') curl -X POST https://api2.gtx.dev/v2/project/assets \ -H "x-gt-api-key: gtx-api-..." \ -H "Content-Type: application/json" \ -d "{ \"assets\": [ { \"assetType\": \"FONT\", \"content\": \"$FONT_BASE64\", \"fileName\": \"BrandSans.ttf\" } ] }" ```