CMO AI Pro Developers
漫画ツール
作画スタイル(作成・複製・文字指示の更新)、作品、キャラクター、コマ投入・設定更新・生成・修正・セリフ書き換えを行う24個のツールの仕様です。
最終更新日:2026年10月23日
作画スタイル(作成・複製・文字指示の更新)、作品、キャラクター、コマ投入・設定更新・生成・修正・セリフ書き換え、漫画ショート動画に使う24個のツールです。
コマの採用・書き出し・公開はMCPから実行できません。 書き出しと公開はCMO AI Proの画面で人が 行います。エージェントができるのは、作画スタイル・作品・キャラクター・コマ投入・生成・修正の開始、 セリフの書き換え、結果の取得までです。
MCP経由の生成では完了時に結果が自動採用されます(画面での採用済み表示は機械による選択を含む)。
参考画像アップロードは2段階
作画スタイルの参考画像登録は、prepare_manga_style_image_upload と start_manga_style_creation の2ステップで行います。画像そのものはCMO AI Proのサーバーを 経由せず、発行された署名付きURLへ直接アップロードします。
1. prepare_manga_style_image_upload
↓ uploadUrl / storagePath / requiredHeaders を受け取る
2. 署名付きURLへ画像をPUT(CMO AI Proを経由しない)
↓
3. start_manga_style_creation(uploaded_image_paths に storagePath を渡す)
↓ 参考URLまたはアップロード済み画像から作画スタイル作成ジョブを起動
get_job_status → list_manga_styles(job_id) で styleId を取得list_manga_styles
組織の作画スタイルと公式プリセットを一覧します。job_id を指定すると、その作画スタイル作成 ジョブが作ったスタイルだけを返します。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
job_id | 文字列 | 任意 | — | UUID。作画スタイル作成ジョブID |
query | 文字列 | 任意 | — | 200文字以内。スタイル名の部分一致 |
limit | 整数 | 任意 | 50 | 1〜100 |
応答
| フィールド | 内容 |
|---|---|
styles[].id | 作画スタイルID |
styles[].name | スタイル名 |
styles[].category | カテゴリ |
styles[].isPreset | 公式プリセットか |
styles[].referenceImageUrl | 参考画像の署名付きURL |
styles[].panelTextInstruction | 全コマ共通の文字・吹き出し指示。未設定は空文字(公式プリセットは常に空文字) |
styles[].createdAt | 作成日時 |
get_manga_style_candidates
参考漫画記事URLから解析元コマ候補を返します。recommendedMediaUrls は推奨であり、選択の 必須ゲートではありません。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
source_url | 文字列 | 必須 | — | URL |
応答
| フィールド | 内容 |
|---|---|
candidates[] | 解析元コマ候補(メディアURL、サイズ) |
recommendedMediaUrls | 推奨するメディアURL(選択の必須条件ではない) |
skipped[] | スキップされた候補と理由 |
diagnostics | 取得経路や候補数などの診断情報 |
prepare_manga_style_image_upload
組織専用Storageへの署名付きアップロードURLを発行します。パスは呼び出しごとに異なります。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
file_name | 文字列 | 必須 | — | 1〜200文字 |
content_type | 文字列 | 必須 | — | image/png / image/jpeg / image/webp |
size_bytes | 整数 | 必須 | — | 1〜18,874,368(18MiB) |
checksum_sha256 | 文字列 | 必須 | — | SHA-256を16進64文字で表記 |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
応答
| フィールド | 内容 |
|---|---|
uploadUrl | アップロード先の署名付きURL |
storagePath | 保存先のパス。start_manga_style_creation に渡す |
expiresInSeconds | URLの有効期間(秒) |
requiredHeaders | アップロード時に付ける必要があるヘッダー |
declarations | 申告した内容(確認用) |
uploadUrl は機密情報として扱ってください。有効期間内であれば、URLを知る第三者が アップロードできます。
start_manga_style_creation
参考URLまたはアップロード済み画像から作画スタイル作成ジョブを起動します。完了後は get_job_status で succeeded を確認し、list_manga_styles(job_id) で styleId を 取得してください。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
source_url | 文字列 | 任意 | — | URL |
selected_media_urls | 文字列の配列 | 任意 | — | URL |
uploaded_image_paths | 文字列の配列 | 任意 | — | 各要素500文字以内 |
memo | 文字列 | 任意 | — | 2,000文字以内 |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
source_url または uploaded_image_paths のいずれか一方は必須です。アップロード画像は 最大12枚、合計60MBまでです。
応答
| フィールド | 内容 |
|---|---|
jobId | ジョブID |
status | queued |
エラー
| code | 発生条件 |
|---|---|
validation_error | 参考URLも画像も未指定、画像枚数超過、合計サイズ超過、形式不正 |
not_found | アップロード画像が見つからない |
payment_required | クレジット不足、または日次上限 |
消費
1件あたり50クレジットです。
duplicate_manga_style
公式または自社の作画スタイルを、自社の作画スタイルとして複製します。画面の作画スタイル一覧にある 「複製」と同じ処理です。名前の末尾に「(コピー)」が付き、見本画像と設定(全コマ共通の文字・ 吹き出し指示を含む)を引き継ぎます。公式スタイルの文字・吹き出し指示を書きたいときは、先にこの ツールで複製し、返った style.id を update_manga_style_panel_text_instruction に指定します。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
style_id | 文字列 | 必須 | — | UUID。複製元の作画スタイルID |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
応答
| フィールド | 内容 |
|---|---|
style.id | 複製してできた作画スタイルID |
style.name | スタイル名(末尾に「(コピー)」) |
style.category | カテゴリ |
style.isPreset | 常に false |
style.referenceImageUrl | 複製した見本画像の署名付きURL |
style.panelTextInstruction | 全コマ共通の文字・吹き出し指示(複製元から引き継ぐ。未設定は空文字) |
style.createdAt | 作成日時 |
エラー
| code | 発生条件 |
|---|---|
not_found | 作画スタイルが見つからない(ほかの組織のスタイルを含む) |
conflict | 利用を終了したスタイル、または設定(10項目)がそろっていないスタイル |
消費
消費しません。
update_manga_style_panel_text_instruction
自社の作画スタイルの「全コマ共通の文字・吹き出し指示」を書き込みます。空文字を指定すると消します。 この文は、セリフ・ナレーションなどの文字があるコマを生成・修正するときに、コマ内容の最後へ自動で 付け足されます(文字のないコマには付け足しません)。文字や吹き出しの大きさなど、見せ方の指示に 使います。作画スタイルのほかの項目・名前・見本画像は変わりません。変更は、このあと生成・修正する コマから反映され、生成済みの画像は変わりません。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
style_id | 文字列 | 必須 | — | UUID。自社の作画スタイルID |
panel_text_instruction | 文字列 | 必須 | — | 前後の空白を除いて200文字以内。空文字で消去。人物の見た目(髪型・髪色・肌色・服装など)は書けない |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
大きくする指示は、基本の大きさの1.5〜2倍程度を目安にしてください。
利用者が同じ作画スタイルの編集画面を開いている間に書き込むと、その画面で保存したときに画面の内容で 上書きされます。書き込んだあとは、編集画面を開き直してもらってください。
応答
| フィールド | 内容 |
|---|---|
styleId | 作画スタイルID |
panelTextInstruction | 保存した指示(消した場合は空文字) |
エラー
| code | 発生条件 |
|---|---|
validation_error | 200文字を超える、人物の見た目を含む、または公式スタイルを指定した(duplicate_manga_style で複製してから指定する) |
not_found | 作画スタイルが見つからない(ほかの組織のスタイルを含む) |
conflict | 利用を終了したスタイル、設定(10項目)がそろっていないスタイル、ほかの項目に今の検査で通らない内容があるスタイル(画面で直して保存し直す)、または読み込んだ後にほかの操作で更新された(retryable: true。もう一度実行する) |
消費
消費しません。
create_manga_work
案件に漫画制作プロジェクトと作品を作成します。ストーリー生成は行いません。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
project_id | 文字列 | 必須 | — | UUID |
title | 文字列 | 必須 | — | 1〜200文字 |
style_id | 文字列 | 必須 | — | UUID |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
応答
| フィールド | 内容 |
|---|---|
nameSetId | 漫画制作プロジェクトID |
workId | 作品ID |
title | 作品タイトル |
styleId | 使用した作画スタイルID |
エラー
| code | 発生条件 |
|---|---|
not_found | 案件または作画スタイルが存在しない、または組織外 |
conflict | 利用を終了した作画スタイルを指定した |
list_manga_works
案件内の漫画作品を一覧します。既定ではアーカイブ済みを除外します。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
project_id | 文字列 | 必須 | — | UUID |
include_archived | 真偽値 | 任意 | false | — |
応答
| フィールド | 内容 |
|---|---|
works[].workId | 作品ID |
works[].title | 作品タイトル |
works[].styleName | 作画スタイル名 |
works[].panelCount | コマ数 |
get_manga_work
コマ・キャラクター・生成結果・進捗を1回で返します。細かい進捗と結果はこのツールを正とします。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
project_id | 文字列 | 必須 | — | UUID |
work_id | 文字列 | 必須 | — | UUID |
include_signed_urls | 真偽値 | 任意 | true | — |
応答
| フィールド | 内容 |
|---|---|
panels[] | コマ設定(scriptItems[].kind は serif / thought / narration / sfx / annotation / onscreen_text) |
panels[].referenceImageIds | コマの参考画像ID。配列の順番が参照番号 |
creatives[] | 生成結果(署名URLは include_signed_urls が true のとき) |
creatives[].isSelected | 採用済みか。MCP経由の生成では完了時に自動で true になる |
characters[] | キャラクター |
progress | 生成進捗の集計 |
start_manga_character_generation
作品のキャラクターデザイン生成ジョブを起動します。作品への割当は自動で行われます。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
project_id | 文字列 | 必須 | — | UUID |
name_set_id | 文字列 | 必須 | — | UUID |
name | 文字列 | 必須 | — | 1〜100文字 |
gender | 文字列 | 任意 | — | 50文字以内 |
age | 文字列 | 任意 | — | 50文字以内 |
role | 文字列 | 任意 | — | 100文字以内 |
instructions | 文字列 | 必須 | — | 1〜4,000文字 |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
応答
| フィールド | 内容 |
|---|---|
characterId | キャラクターID |
jobId | ジョブID |
status | ジョブ状態 |
reused | 既存ジョブを再利用した場合に true |
エラー
| code | 発生条件 |
|---|---|
not_found | 案件または漫画制作プロジェクトが存在しない、または組織外 |
conflict | 同じ対象の処理が実行中、または同時生成の上限 |
payment_required | クレジット不足、または日次上限 |
消費
1体あたり30クレジットです。
import_manga_panels
既存コマの後ろに追加します。置き換えではありません。panel_no は任意で並び順には使わず、 配列順で追記します。expected_existing_panel_count が現在のコマ数と一致しない場合は拒否します。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
project_id | 文字列 | 必須 | — | UUID |
work_id | 文字列 | 必須 | — | UUID |
expected_existing_panel_count | 整数 | 必須 | — | 0以上 |
panels | 配列 | 必須 | — | 1件以上。各要素は panel_no(任意・正の整数。順序には不使用)、image_size(portrait / square / landscape)、character_ids(UUID配列)、reference_image_ids(任意・UUID配列)、script_items(kind が serif / thought / narration / sfx / annotation / onscreen_text、text、order、placement(任意。top_right / top_center / top_left / bottom_right / bottom_center / bottom_left、省略または null はおまかせ)など。本文の印(※・※1)は付けたい語の直前に書く。annotation は画像内の但し書き、onscreen_text は画面・看板・書類などの物の中に描く文字で、話者・配置は使わない。speaker_name は無視され、読み順と動画の音声台帳の対象外)、content、shot_type(任意)、camera_angle(任意)、extra_cast_names(任意・文字列配列) |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
応答
| フィールド | 内容 |
|---|---|
panels[].id | 追加されたコマID |
panels[].panelNo | 追記後のコマ位置(1始まり) |
panels[].sortOrder | 並び順 |
createdCount | 追加件数 |
totalPanelCount | 追加後の総コマ数 |
エラー
| code | 発生条件 |
|---|---|
conflict | expected_existing_panel_count が現在のコマ数と不一致 |
validation_error | コマ設定の形式が不正、参照予算超過(コマごとにキャラ参照と参考画像の合計を判定。超過時は何件目のコマかを文言に含む) |
not_found | 案件・作品・キャラクター・参考画像が存在しない |
update_manga_panel_reference_images
既存のコマの参考画像を指定した内容で置き換えます。配列順が参照番号になり、空配列で解除できます。次回の生成から反映され、生成済み画像は変わりません。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
project_id | 文字列 | 必須 | — | UUID |
panel_id | 文字列 | 必須 | — | UUID |
reference_image_ids | 文字列の配列 | 必須 | — | 同じ案件のUUID。空配列で解除 |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
応答
panelId、panelNo、referenceImageIds が返ります。
エラー
| code | 発生条件 |
|---|---|
validation_error | 別案件の画像、重複、参照上限超過 |
not_found | 案件・コマ・参考画像が存在しない、または他組織 |
呼び出し例
{"project_id":"<project_id>","panel_id":"<panel_id>","reference_image_ids":["<reference_image_id_1>","<reference_image_id_2>"],"idempotency_key":"update-panel-references-1"}update_manga_panel
既存コマの内容・登場人物・ショット・カメラアングル・単発人物を更新します。指定した項目だけを 置き換え、指定しない項目は変更しません。更新は次回の生成・修正から反映され、生成済み画像は変わりません。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
project_id | 文字列 | 必須 | — | UUID |
panel_id | 文字列 | 必須 | — | UUID |
content | 文字列 | 任意 | — | 文字数制約なし |
character_ids | 文字列の配列 | 任意 | — | UUID配列。指定時は置き換え。空配列で登場人物なし |
shot_type | 文字列またはnull | 任意 | — | wide / standard / close / face_close / hands_close / product_close / screen / multi_cut。nullで解除 |
camera_angle | 文字列またはnull | 任意 | — | front / side / high / low / over_shoulder。nullで解除 |
extra_cast_names | 文字列の配列 | 任意 | — | 置き換え。単発人物名の検証規則に従う |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
content、character_ids、shot_type、camera_angle、extra_cast_names のいずれか1つ以上を指定します。 script_items、reference_image_ids、image_size、applied_repair_notes はこのツールでは更新できません。 セリフは update_manga_panel_script、参考画像は update_manga_panel_reference_images を使います。
応答
| フィールド | 内容 |
|---|---|
panelId | 更新したコマID |
panelNo | 作品内のコマ位置(1始まり) |
content | 更新後のコマ内容 |
characterIds | 更新後の登場人物ID |
shotType | 更新後のショット。未設定または解除時はnull |
cameraAngle | 更新後のカメラアングル。未設定または解除時はnull |
extraCastNames | 更新後の単発人物名 |
注意
更新後に作り直すときは start_manga_panel_generation に panel_ids を指定します。更新後は get_manga_work で読み戻してください。既存のセリフ欄・参考画像・生成済み画像は変更されません。
エラー
| code | 発生条件 |
|---|---|
validation_error | 更新項目がない、形式不正、登場人物の重複・作品未割り当て、参照上限超過 |
not_found | 案件・コマ・登場人物が存在しない、または組織外 |
internal_error | 保存に失敗した |
update_manga_panel_script
既存コマのセリフ(script_items)を指定した内容で置き換えます。コマ修正で画像内の文言や 吹き出しの数を変えたときに、セリフ欄を画像と一致させるために使います。保存時に指定した order の昇順で並べ、1 からの連番へ整えます(同じ order のときは配列順を保ちます)。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
project_id | 文字列 | 必須 | — | UUID |
panel_id | 文字列 | 必須 | — | UUID |
script_items | 配列 | 必須 | — | 各要素は import_manga_panels の panels[].script_items と同じ(kind が serif / thought / narration / sfx / annotation / onscreen_text、speaker_name、text、order、placement(任意。top_right / top_center / top_left / bottom_right / bottom_center / bottom_left、省略または null はおまかせ)。onscreen_text は話者・配置を使わず、読み上げない) |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
応答
| フィールド | 内容 |
|---|---|
panelId | 更新したコマID |
panelNo | 作品内のコマ位置(1始まり。get_manga_work と同じ算出) |
scriptItems | 保存後のセリフ行(キャメルケース) |
エラー
| code | 発生条件 |
|---|---|
validation_error | セリフ行の形式が不正(例: placement が未定義の値) |
not_found | 案件・コマが存在しない、または組織外 |
start_manga_panel_generation
漫画作品のコマ画像生成を開始します。返す jobId は複数コマの処理をまとめる親ジョブです。 クレジットの消費は各コマの子ジョブで行われます。細かい進捗と結果は get_manga_work を正とします。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
project_id | 文字列 | 必須 | — | UUID |
work_id | 文字列 | 必須 | — | UUID |
panel_ids | 文字列の配列 | 任意 | — | UUID |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
応答
| フィールド | 内容 |
|---|---|
jobId | 親ジョブID |
acceptedCount | 生成を受け付けたコマ数 |
acceptedPanelIds | 受け付けたコマID |
acceptedCreativeIds | 受け付けた生成結果ID |
skippedPanels | スキップしたコマ |
status | queued |
エラー
| code | 発生条件 |
|---|---|
not_found | 案件・作品・コマが存在しない、または組織外 |
conflict | 同じコマが生成中、または同時生成の上限 |
payment_required | クレジット不足、または日次上限 |
消費
1コマあたり60クレジットです。panel_ids を指定した場合はその件数、未指定時は1コマ分です。
生成後の流れ
get_job_statusまたはget_manga_workで進捗を確認する- MCP経由の生成は完了時に結果が自動採用される
- コマの採用・書き出し・公開はCMO AI Proの画面で行う
3の操作はMCPからは実行できません。
start_manga_panel_repair
成功済みの漫画コマを修正します。元画像を残して修正版を追加し、画面と同じ修正履歴・参照画像の役割・クレジット処理を使います。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
project_id | 文字列 | 必須 | — | 必須。案件のUUID |
creative_id | 文字列 | 必須 | — | 必須。修正元の生成結果UUID |
instruction | 文字列 | 任意 | — | 全体修正の指示(1〜4,000文字)。範囲修正時は指定しない |
reference_image_ids | 配列 | 任意 | — | 全体修正の案件参考画像UUID(最大15件) |
character_ids | 配列 | 任意 | — | 全体修正の案件内キャラクターUUID |
regions | 配列 | 任意 | — | 範囲修正のみ。1〜5件の範囲・指示・参照指定 |
excluded_inherited_creative_ids | 配列 | 任意 | — | 継承する修正履歴から外す生成結果UUID(最大100件) |
idempotency_key | 文字列 | 必須 | — | 必須。同じ修正要求の再試行には同じ値を使う |
全体修正の instruction と範囲修正の regions はどちらか一方を指定します。 各範囲には rect: { x, y, width, height } と instruction が必要です。 座標は画像の左上を原点とする0〜1の正規化座標で、矩形全体が画像内に収まる必要があります。 各範囲に reference_image_ids と character_ids を指定できます。範囲修正時に全体用の参照配列は使いません。 参考画像は全範囲の合計で重複を除き最大15件です。マスク画像のアップロードは不要で、指定範囲からサーバーが作成します。
応答
受け付けると jobId、creativeId、workId、panelId、acceptedCount、status: "queued" が返ります。 get_job_status で進捗、get_manga_work で結果を確認してください。消費アクションは漫画コマ生成と同じ manga.panel です。 クレジット不足は payment_required、別案件の参照は not_found、入力不備は validation_error です。
{
"project_id": "00000000-0000-4000-8000-000000000001",
"creative_id": "00000000-0000-4000-8000-000000000002",
"instruction": "背景の空を夕焼けに変更してください",
"idempotency_key": "manga-repair-sunset-1"
}漫画ショート動画(MCP)
漫画をショート動画(縦長 9:16・正方形 1:1・横長 16:9)に仕上げる MCP ツール群です。ワークフローは代表ワークフローの節9、 手順は get_workflow_guide(topic manga-short-video)を参照してください。
create_manga_short_video
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
project_id | 文字列 | 必須 | — | UUID |
work_id | 文字列 | 必須 | — | UUID |
title | 文字列 | 必須 | — | 1〜200文字 |
panel_ids | 配列 | 任意 | — | UUID |
panel_range_start | 数値 | 任意 | — | 1以上 |
panel_range_end | 数値 | 任意 | — | 1以上 |
aspect_ratio | 文字列 | 任意 | — | 動画の比率。9:16(縦長 1080×1920)・1:1(正方形 1080×1080)・16:9(横長 1920×1080)。省略は 9:16 |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
応答
| フィールド | 内容 |
|---|---|
videoId | 作成した動画プロジェクトID |
aspectRatio | 動画の比率 |
warnings | 台本の繰り返しと、比率とコマの向きが合わない注意(例「横長の動画に縦長のコマが7枚あります(左右に帯が入ります)。」。処理は続行) |
コマは縦横比を保ったまま全体を動画へ収め、余りは帯にします(切り出し・引き伸ばしはしません)。コマの向き(import_manga_panels の image_size)を動画の比率にそろえると、帯が最も小さくなります。正方形・横長のコマは、2026-10-22 から文字なし版をコマの向きの寸法で作ります。それより前に組み立てた動画に正方形・横長のコマがあると、次の組み立てでそのコマの文字なし版(目・口の動きがオンなら顔の差分も)を作り直し、その分のクレジットがかかります。縦長のコマは作り直しません。
get_manga_short_video
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
video_id | 文字列 | 必須 | — | UUID |
include_signed_urls | 真偽値 | 任意 | false | true のとき、assets[].signedUrl と設定のコマ画像(selectedCreativeUrl)に1時間の署名URLを付ける |
asset_kinds | 配列 | 任意 | — | 返す資産の種類(1〜11個): line_audio・bgm・sfx・notext_panel・audio_mix・video・voice_preview・balloon_layer・flipbook・confirm_image・expression_sprite。省略時は内部用(line_audio・balloon_layer・notext_panel・expression_sprite)を除く |
成果物は短いリンク(https://…/api/dl/ のあとに49文字。1時間有効)で返します。開くと、期限5分の署名URLへ転送(HTTP 302)され、ファイルがダウンロードされます。シェルでは転送に従う指定を付けてください(curl は -L。例: curl -L --fail -o short-video.mp4 "$LINK"。$LINK には latestVideo.downloadUrl の値をそのまま入れる)。リンクは書き換えずにそのまま使ってください。公開URLの形式はありません。開けないときの応答は error.code が link_invalid(形式不正・改ざん)・link_expired(期限切れ)・asset_not_found(削除済み)・service_not_configured(運営の設定待ち)で、前の2つは get_manga_short_video を呼び直して新しいリンクを使います。
応答
| フィールド | 内容 |
|---|---|
video | タイトル・状態(画面でアーカイブすると archived、それ以外は draft)・設定(設定のコマ画像 selectedCreativeUrl は include_signed_urls が true のときだけ。既定は null)・aspectRatio(動画の比率。未指定は 9:16)・aspectRatioNotice(比率と使うコマの向きが合わないときの注意。合えば null) |
latestVideo | 最新の成功した動画組み立ての完成 mp4。assetId・buildId・aspectRatio・createdAt・durationMs・downloadUrl(短いリンク)・expiresAt。未完成なら null |
downloadLinkUnavailable | 短いリンクを発行できないとき(運営の設定待ち)だけ service_not_configured。そのときリンクの欄は null |
assets[] | 資産(id・kind・durationMs・meta・createdAt・signedUrl)。signedUrl は include_signed_urls が true のときだけ(既定は null) |
recentBuilds[] | 直近3件の組み立て履歴(下表) |
signedUrlExpiresInSeconds | 期限付きURL・短いリンクの有効秒数(3600) |
画面(漫画制作の「ショート動画」)でアーカイブされた動画は、update_manga_short_video_settings・preview_voice・start_manga_short_video_sound_generation・start_manga_short_video_build・prepare_manga_short_video_audio_upload が validation_error で止まります(取得はできます)。画面で削除された動画は not_found です。
recentBuilds[] の主なフィールド:
| フィールド | 内容 |
|---|---|
kind | audio(音声組み立て)または video(動画組み立て) |
id | 組み立てID(audio_build_id に指定するのはこの値) |
aspectRatio | 組み立てた比率(kind: "audio" はパラパラ漫画の比率。比率を記録していない旧い組み立ては 9:16) |
mixSignedUrl | ミックス mp3 の短いリンク。kind: "audio" は当該音声組み立てのミックス。kind: "video" は audioBuildId で指定した音声組み立てのミックス(解決できないときは null) |
flipbookSignedUrl | 確認用パラパラ漫画 mp4 の短いリンク。kind: "video" も audioBuildId 由来(解決できないときは null) |
confirmBalloonSignedUrl | 吹き出し切り抜き確認画像の短いリンク(kind: "video" のみ。未生成は null) |
confirmPanelSignedUrl | コマの表示を並べた確認画像の短いリンク(kind: "video" のみ。未生成は null) |
confirmExpressionSignedUrl | 目・口の確認シート(動かす顔ごとに元の顔と差分6種)の短いリンク(目・口がオンの kind: "video" のみ。未生成は null) |
motion | 動画組み立てで使った動きの設定(textReveal・expressions・animation と、どれに当たるかの level(1〜3。個別に組み合わせた設定は null)。kind: "video" のみ) |
billedExpressionFaces | 課金した表情差分の顔の数(コマごと・話者ごと。kind: "video" のみ) |
expressionFailedFaces | 顔が見つからない等で差分を作れず、完成時に返金した顔(panelNo と speaker の組。1枚に段がある作画の顔は subpanel(上から0始まり)も) |
expressionUnusedReservedFaces | 1枚に段がある作画で、話す段が組み立て前に決まらず予約したが使わなかった枠。完成時に返金した(panelNo と speaker の組) |
reservedAnimationSeconds | 動きの段階3(絵を動かす)で予約した秒(区画ごとに切り上げた合計。kind: "video" のみ。段階3でなければ 0) |
billedAnimationSeconds | 動きの段階3で実際に課金した秒(完成後に確定。生成しなかった区画の分は返金。組み立てが失敗したときは、作れて保存した区画の秒を課金して残りを返金し、その秒が入る。それ以外の未完成と、段階3でない組み立ては null)。start_manga_short_video_build の応答の同名の値は予約した秒 |
animationStillPanels | 動きの段階3で動かさず静止のまま残したコマ(panelNo と reason: panel_text(効果音・注釈・画面内の文字がある)・screen_shot(スマホ・画面の構図)・original_display(元の絵のまま表示)・not_selected(動かすコマの明示に入っていない)・animation_failed(生成に失敗)) |
animationFailedCuts | 動きの段階3で生成に失敗し、静止に戻した区画(panelNo・cut(上の段から0始まり)・code: animation_failed(生成を断られた・失敗した)・animation_timeout(時間内に返らなかった)・animation_unavailable(生成サービスの混雑・不調が続き投入できなかった)・animation_reuse_missing(再利用する動画が見つからなかった)) |
videoSignedUrl | 完成動画 mp4 の短いリンク(kind: "video" のみ。音声組み立て行では null) |
audioBuildId | 動画組み立てが参照した音声組み立てID(kind: "video" のみ) |
panelReviewFlags | 要確認コマ(kind: "video" のみ。各要素は panelNo・reason・code)。code が text_reveal_ で始まるものは文字送り、expression_ で始まるものは目・口の動きを付けられなかった理由、subpanel_ で始まるものは段ごとの表示の要確認、animation_ で始まるものは動きの段階3で絵を動かせなかった・動かさなかった理由(一覧は手順書 manga-short-video-video)。code のない要素は吹き出し検出の目印 |
originalDisplayPanels | 以前の版の組み立てで元の絵のまま表示したコマ一覧(kind: "video" のみ。いまの組み立てでは空) |
approvedAt | 音声組み立てへの利用者確認記録日時(kind: "audio" のみ。未確認は null) |
approvalNote | 確認時に記録した利用者発言の引用(kind: "audio" のみ) |
update_manga_short_video_settings
コマ番号(line_directions・sound_effects・bgm_sections_json・animation_prompts・animation_panels)は、いまの作品のコマ番号(get_manga_work の panelNo)で指定します。保存した指定はコマの ID でも覚え(設定の panelId・fromPanelId・toPanelId・animationPanelIds)、作品のコマを足す・消す・並べ替えても同じコマについていきます。番号は、設定の保存と組み立てのときに、いまの番号へ直ります。動画のコマにないコマの指定と、並べ替えで始まりと終わりが逆になった BGM の区間は外し、droppedPanelSettings で返します。2026-10-24 より前に保存した指定(コマの ID がない)は、次の保存か組み立てのときの番号のコマとみなして ID を付けます。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
video_id | 文字列 | 必須 | — | UUID |
voice_presets_by_speaker | オブジェクト | 任意 | — | 話者名→プリセットキー |
reading_overrides_json | 文字列 | 任意 | — | 読み指定JSON |
line_directions | 配列 | 任意 | — | 行単位の演技指定。各要素: panel_no・line_index(正の整数)・tags(1〜3個、各1〜40文字。前後空白はtrim、角括弧・改行・制御文字不可)。空配列で全解除 |
audio_timing | オブジェクト | 任意 | — | rate / gap_same_sec / gap_panel_sec / lead_sec / tail_sec と、任意の min_panel_sec(0〜5秒、null で解除) |
sound_effects | 配列 | 任意 | — | 効果音配置(各要素: asset_id, panelNo, lineIndex, at)。lineIndex はそのコマのセリフ(serif)だけを台本 order 順に数えた番号(1 始まり)。sfx 台本行は数えない |
bgm_mode | 文字列 | 任意 | — | none / single / sections(BGM なしは none を明示) |
bgm_asset_id | 文字列 | 任意 | — | UUIDまたは null(single 時) |
bgm_sections_json | 文字列 | 任意 | — | BGM区間JSON |
uploaded_audio | 配列 | 任意 | — | 持ち込み音源。各要素: upload_id(prepare の uploadId)・kind(bgm / sfx)・storage_path(prepare の storagePath) |
motion | オブジェクト | 任意 | — | 動画の動き。level(1〜3)で段階をまとめて選ぶ: 1=目・口を動かさず吹き出しをセリフに合わせて丸ごと出す、2=目・口の動き+文字送り、3=コマの絵そのものを動かす+文字送り(目・口の差分は使わない。運営が一時的に止めている間は validation_error)。level と個別の項目は同時に指定できない。個別に指定するとき: text_reveal(真偽値): true で文字送り(吹き出しの文字を声に合わせて読み順に見せる)。expressions(真偽値): true で目・口の動き(話している人の口と目を表情差分の切り替えで動かす。1コマに話者が複数いれば全員。話している人の顔ごとに課金)。animation(真偽値): true で段階3の絵の動き(expressions とは同時に使えない)。2026-10-04 以降に作った動画は段階2が既定(create_manga_short_video で motion が入る)、それより前の動画は既定でオフ。外すときは false を指定する |
aspect_ratio | 文字列 | 任意 | — | 動画の比率(9:16・1:1・16:9)。変えたあと同じ音声組み立てで動画を組み立て直すと、文字なし版・吹き出し・目と口・絵の動きの映像は再利用され、組み立てだけが動く |
animation_prompts | 配列 | 任意 | — | 段階3で、コマ(段)ごとに何を動かし何を止めるかの指示。各要素: panel_no(正の整数)・任意の subpanel(1枚に段がある作画の段。上から1始まり)・prompt(600字まで)。空の prompt でその指示を消す。指示のないコマは全コマ共通の固定文(細かく自然な動き・カメラ固定・文字や人を足さない)だけで動かす。動画にないコマ番号(空でない prompt)は validation_error |
animation_panels | 配列 | 任意 | — | 段階3で動かすコマ番号を保存する(以後の組み立てで、start_manga_short_video_build の animation_panels を省略したときに使う。重複を除いて昇順で保存)。null で消して自動の選び方に戻す。空の配列は不可。動画にないコマ番号は validation_error。段階1・2の組み立てでは使わない |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
応答
| フィールド | 内容 |
|---|---|
changedFields | 更新した設定項目の一覧 |
aspectRatio | 比率を変えたときだけ。変えたあとの比率 |
aspectRatioNotice | 比率を変えたときだけ。使うコマの向きと合わないときの注意(合えば null) |
droppedPanelSettings | 外した指定があるときだけ。各要素: setting(lineDirections・soundEffectPlacements・bgmSections・animationPrompts・animationPanels)・panelNo(保存されていた番号)・panelId(コマの ID。ID のない旧データは null)・reason(panel_missing: 動画のコマにない/range_inverted: BGM の区間の始まりと終わりのコマが逆) |
list_voice_presets
漫画ショートの新規試聴・行音声はElevenLabs v4(日本語)を使用します。27声から話者ごとに指定し、読み指定・演技タグ込みで1行2000単位以下にしてください(UTF-16単位。絵文字等は複数単位)。既存Fish音声の再利用・速度のみ変更は引き続きTTS 0crです。非activeとなった旧声の新規生成は、利用できる声への明示的な再割当が必要です。
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
role_key | 文字列 | 任意 | — | — |
応答
| フィールド | 内容 |
|---|---|
presets[] | 声プリセット(試聴URL含む) |
preview_voice
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
video_id | 文字列 | 必須 | — | UUID |
preset_key | 文字列 | 必須 | — | — |
text | 文字列 | 必須 | — | 1〜200文字 |
reading_overrides_json | 文字列 | 任意 | — | 読み指定JSON |
tags | 配列 | 任意 | — | 演技タグ1〜3個、各1〜40文字。前後空白はtrim、角括弧・改行・制御文字不可 |
rate | 数値 | 任意 | — | 0.5〜2 |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
消費
0クレジット(1組織24時間200回まで)。
応答
| フィールド | 内容 |
|---|---|
audioUrl | 試聴音声の期限付きURL |
durationSec | 長さ(秒) |
readingCheck | 読みの確認結果 |
start_manga_short_video_sound_generation
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
video_id | 文字列 | 必須 | — | UUID |
kind | 文字列 | 必須 | — | bgm / sfx |
prompt | 文字列 | 必須 | — | 1〜500文字 |
duration_sec | 数値 | 必須 | — | 正の数 |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
消費
BGM は30クレジット/30秒(切り上げ)。効果音は5クレジット/回。BGM の音源が区間や動画より短いときは、組み立てでつなぎ目を重ねて繰り返します。
応答
| フィールド | 内容 |
|---|---|
jobId | 音響生成ジョブID |
assetId | 登録された音源資産ID |
generationStarted | 新規生成を開始したか |
start_manga_short_video_build
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
video_id | 文字列 | 必須 | — | UUID |
stage | 文字列 | 必須 | — | audio / video |
audio_build_id | 文字列 | 任意 | — | stage: "video" のとき必須。成功した音声組み立ての UUID |
rebuild_panels | 配列 | 任意 | — | 動画工程で作り直すコマ番号 |
rebuild_expressions | 配列 | 任意 | — | 目・口の動き(motion.expressions)がオンのとき、表情差分だけを作り直すコマ番号(そのコマの話者全員。有料) |
animation_panels | 配列 | 任意 | — | 動きの段階3のとき、その組み立てで動かすコマ番号の明示(空の配列は不可。保存はしない)。省略時は設定に保存した指定(update_manga_short_video_settings の animation_panels)を使い、それもなければ自動で選ぶ(効果音・注釈・画面内の文字があるコマとスマホ・画面の構図のコマは静止)。明示したコマは文字があっても動かす。元の絵のまま表示するコマは動かせない。明示した番号が作品にないときは validation_error。保存した指定のうち動画のコマにないものは外し、droppedPanelSettings で返す(止めない) |
rebuild_animation | 配列 | 任意 | — | 動きの段階3のとき、絵の動きだけを作り直すコマ番号(有料。同じ入力の動画があっても作り直す) |
regenerate_lines | 配列 | 任意 | — | 音声工程のみ。{ panel_no, line_index } |
audio_confirmation | オブジェクト | 任意 | — | stage: "video" のとき必須。confirmed_by_user: true(リテラル)と user_message(1〜500字・利用者の発言の引用)。stage: "audio" では指定不可 |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
消費
stage: "audio": 新規 TTS 行の画面セリフ字数を合計し、100字単位で一度切り上げ(10cr/100字)。読み指定・演技タグの追加文字と再利用行は字数に含めないstage: "video": 新規文字なし版コマ 20cr/コマ + 完成動画組み立て 10cr/本(再利用コマは文字なし版0)- 目・口の動き(
motion.expressions)がオンのとき: 表情差分を新しく作る顔 10cr/顔(コマごと・話者ごと。1枚に段がある作画は段ごと。同じ文字なし版・話者の差分がある顔は0。顔が見つからない等で動かさない顔は完成時に返金。段のある作画で文字なし版を新しく作るコマは、話者のセリフ数と段の数の小さいほうを予約し、使わなかった分を完成時に返金) - 動きの段階3(
motion.level: 3)のとき: 20cr/秒。新しく動画を作る区画ごとに、作る動画の長さを整数の秒に切り上げた秒(別の明細で予約し、creditQuantityには含まない。予約した秒は応答のbilledAnimationSeconds)。再利用できる区画は0。生成しなかった区画の分は完成時に返金し、組み立てが失敗したときは作れて保存した区画の分を課金して残りを返金
応答
| フィールド | 内容 |
|---|---|
buildId | 組み立てID |
jobId | ジョブID(音声組み立て、または動画組み立ての render ジョブ) |
billedDisplayChars | 音声工程のみ。課金した字数 |
creditQuantity | 課金単位数。音声工程では新規表示字数の合計を100字単位で一度切り上げた値(301字なら4単位、40cr)。動画工程では文字なし版コマ数・組み立て数・表情差分の顔数の数量合計(動きの段階3の秒は含まない。別の明細で予約し、billedAnimationSeconds に返す)。クレジット額は各数量 × 各単価で計算し、この値そのものをcr額として扱わない |
notextJobId | 動画工程のみ。文字なし版生成ジョブID |
billedNotextPanels | 動画工程のみ。課金した文字なし版コマ数 |
billedRender | 動画工程のみ。完成動画組み立ての課金(0 または 1) |
expressionJobId | 動画工程で表情差分を新しく作るときだけ。表情差分ジョブID |
billedExpressionFaces | 動画工程のみ。課金した表情差分の顔の数 |
animationJobId | 動画工程で、動きの段階3の区画を新しく生成するときだけ。絵の動きジョブID |
billedAnimationSeconds | 動画工程のみ。動きの段階3で予約した秒(段階3でなければ 0。生成しなかった区画の分は完成時に返金。組み立てが失敗したときは、作れて保存した区画の分を課金し、残りを返金)。get_manga_short_video の recentBuilds[].billedAnimationSeconds は実際に課金した秒で、意味が違う |
animationStillPanels | 動画工程のみ。動きの段階3で静止のまま残すコマ(panelNo と reason) |
droppedPanelSettings | 保存した設定(演技指定・効果音・BGM の区間・絵の動きの指示・動かすコマ)のうち、動画のコマにないため外した指定があるときだけ。形は update_manga_short_video_settings の応答と同じ。外した結果は設定にも保存する |
prepare_manga_short_video_audio_upload
パラメータ
| パラメータ | 型 | 必須 | 既定値 | 制約 |
|---|---|---|---|---|
video_id | 文字列 | 必須 | — | UUID |
kind | 文字列 | 必須 | — | bgm / sfx |
file_name | 文字列 | 必須 | — | 1〜200文字 |
byte_size | 数値 | 必須 | — | 1〜10MB |
content_type | 文字列 | 必須 | — | mp3/wav |
idempotency_key | 文字列 | 必須 | — | 1〜128文字 |
応答
| フィールド | 内容 |
|---|---|
uploadUrl | 署名付きアップロードURL |
uploadId | 登録時に uploaded_audio.upload_id へ渡すID |
storagePath | アップロード先パス(uploaded_audio.storage_path と一致) |
requiredHeaders | PUT 時に付けるヘッダ(例: Content-Type) |
expiresInSeconds | 署名の有効秒数 |
maxBytes | 最大バイト数 |