トークン、画像、秒、クレジットを混ぜない

読む目安:約8分。教材としての制作提案です。生成・性能・料金の比較実験は実行していません。

この章で身につけること

  • 利用量と請求額と品質を分ける
  • 比較実験を再現可能な形で記録する
  • 例示と実測を見分ける

計測と解釈を分けて記録する

  1. 1仮説と固定条件
  2. 2失敗を含む試行
  3. 3成果物と使用量の証拠
  4. 4品質と待ち時間と人の作業時間
  5. 5単位と日付付き費用
  6. 6範囲を限定した結論
  1. 1計測値がない
  2. 2nullと状態を保持
  3. 3根拠の不足を明示
順序と役割を、ひとつずつ分けて考える

自作の証拠の流れ図です。取得と解釈を分けています。結論まで欠測を隠さず残し、採用数がゼロなら採用品あたりの費用は未定義とします。

仕事の役割

  • 制作担当:試行と採用判断を記録
  • 開発者:使用量と性能を計測
  • プロデューサー:総時間と費用で判断

入力

  • 比較したい仮説
  • 固定する条件と変更する条件
  • モデル・設定・日付
  • 取得できる利用量と料金表

制作工程

  1. 用途に合う評価基準を先に決める
  2. 同じ入力条件でベースラインを残す
  3. 一つの変数を変えて複数試行する
  4. 使用量、待ち時間、修正時間、採用を記録する
  5. 品質と総費用の両方から次の変更を決める

出力

  • 実験記録JSON
  • 成果物とログへの参照
  • 限界と次の仮説

トークンは共通通貨ではない

テキスト入力と出力、画像入力と生成画像、音声、動画などは、同じサービスでも異なる計量や単価を持つ場合があります。画像一枚を一定のトークン数へ一律換算しません。生成動画の秒数、処理待ち時間の秒数、GPUを借りた時間も別物です。クレジットはサービス内の単位で、換算規則が分からなければ他サービスと直接比較できません。

費用の取り方

可能ならAPIレスポンスのusage、請求明細、実行ログを保存します。取得できなかった利用量は未取得と表示し、0にしません。料金表はモデル、設定、日付、通貨を合わせて参照します。定額契約の月額を一回ごとの限界費用と混同せず、按分する場合はその規則を明記します。無料枠の利用でも計算資源の使用がゼロだったとは言えません。

一つの出力より採用品あたりを見る

候補を十枚作り一枚を採用したなら、候補全部の費用と修正時間を含めて、採用品一枚の制作コストを考えます。API料金だけが安くても、形を直す時間が多ければ制作全体では高くなります。品質点、採用率、所要時間、料金を別々に記録すると、自分の用途に合う方法を判断できます。

実験は一度で一般化しない

同じ題材で複数の試行を行い、変更する条件を一つにします。モデルの更新、端末、画面解像度、背景処理などが結果へ影響する場合があります。良い例だけを残さず失敗も記録し、サンプル数が小さいことを表示します。主観評価は評価者と基準を記録し、客観的性能の数値と区別します。

教材の表示ルール

実測はログや成果物を伴って実際に行った結果、例示は仕組みを説明する仮の値、未実行は計画だけの状態です。未取得は実行したがその値を取れなかった状態です。これらを同じ色や同じラベルで表示しません。本教材の課題は未実行であり、プロンプト例が特定品質を保証したり、生成テストを済ませたことを意味しません。

品質チェック

  • 未知の値が0に置き換わっていない
  • モデルと料金表の日時が明確
  • 失敗と再試行を費用から除外していない
  • 実測、例示、予測が明示
  • 機密画像や秘密情報を公開ログへ含めない

失敗を切り分ける

症状 原因 次にすること
安いモデルが結局高くつく 再試行と修正を数えていない 採用品あたりの総費用と人の作業時間を比較
同じデモなのにFPSが違う 端末、解像度、状態などの条件差 条件を揃えフレーム時間の分布も残す

実験課題:制作手法を二つ比較する

状態:未実行(not-run)。実測結果ではなく、これから取り組む課題です。

課題:同じ用途を方法AとBで作る計画を立てる。実行前に品質基準、最大予算、停止条件を決め、未実行の行を実測として表示しない。

成果物:比較計画と実験記録

完了条件:コストの単位、出所、採用率、未取得値を説明できる

何を数えているかを先に確認する

教材に提供元の価格は固定しません。モデル、設定、日付、通貨を合わせて最新の公式料金表を取得してください。

計量単位 記録すること 注意
テキストの入力・出力トークン (text_tokens) 入力、出力、キャッシュ等をAPIの定義どおり分ける 入力総数にキャッシュが含まれるAPIで二重計上しない
画像の入力・出力トークン (image_tokens) 利用可能なら画像分のusageを保存 ピクセル数や画像枚数と一律換算しない
生成画像枚数 (image_count) サイズ、品質、候補数、再試行 枚数課金かトークン課金かを料金表で確認
生成映像や音声の尺 (output_seconds) 秒数、解像度、モデル、音声の有無 生成待ち時間ではない。単位と設定は提供元依存
計算資源の利用時間 (compute_seconds) GPU種別、利用秒数、待機を含むか ローカル実行にAPIトークン単価を勝手に当てない
サービス内クレジット (credits) 実行前後差分と換算規則の取得日 単位名が同じでもサービス間で価値は同じでない
人の修正時間 (human_minutes) 選別、編集、実装、検査の時間 自分の時給を使うなら仮定だと明示

総API見積額 = Σ(重複のない課金項目の利用量 ÷ その単価の基準単位 × 単価)。採用品あたり = 再試行を含む合計 ÷ 採用品数。採用品数0では未定義と表示。

計算だけを学ぶ例示

計算だけを学ぶ仮の例。実在サービスの料金ではありません。 (illustrative)

仮定

項目 記録値
生成画像枚数 6
採用画像枚数 2
架空の画像単価(円) 10
人の修正時間(分) 20

6枚 × 仮の10円 = 60円、採用2枚なら1枚あたり30円。人の修正20分は別記。

この計算に含まないもの

  • 税
  • 定額料金の按分
  • 機器費用
  • 電気代
  • 人件費

再現できる実験の手順

  1. 用途に合う仮説と合格条件を事前に書く
  2. 入力、モデル、設定、参照、端末を記録する
  3. 変更条件を一つにし、比較元を残す
  4. 全試行と失敗を保存する
  5. 品質、待ち時間、費用、人の時間を別々に評価する
  6. 結論の適用範囲と次の仮説を書く

必要な来歴

  • 実行日時
  • 実行者または環境
  • モデル識別子と取得できるバージョン
  • 入力と参照素材の出所・利用許可
  • 設定とseedの対応状況
  • 成果物またはログの参照
  • 利用量の出所と単位
  • 料金表のURLと取得日
  • 評価基準と評価者

記録する項目と値の型

以下はクリエイティブ実験記録の全項目を示す仕様であり、実施済みの結果ではありません。書き出すときは識別子をそのまま使い、未知の測定値はnullで記録します。

項目 記録する値
id string
status not-run | measured | illustrative
hypothesis string
taskType image | image-edit | 3d | realtime | video | workflow
runAt ISO 8601 | null
provider string | null
modelId string | null
modelVersion string | null
input.prompt string
input.referenceAssets array of {id,source,permission,hash?}
input.parameters object
input.seed number | string | null
input.seedSupported boolean | null
environment.appVersion string | null
environment.device string | null
environment.os string | null
environment.browser string | null
environment.renderResolution string | null
environment.gitCommit string | null
outputs array of {assetId,pathOrUrl,hash?}
usage array of {kind,quantity:number|null,unit,source,status:measured|not-collected|not-run}
cost.amount number | null
cost.currency string | null
cost.kind billed | estimated | illustrative | not-collected
cost.priceSourceUrl string | null
cost.priceCheckedAt date | null
cost.formula string | null
timing.latencySeconds number | null
timing.humanEditingMinutes number | null
timing.sampleDurationSeconds number | null
quality.rubric array of {criterion,scale}
quality.scores array of {criterion,value,evaluator}
quality.accepted boolean | null
quality.failureNotes string[]
performance.medianFrameMs number | null
performance.p95FrameMs number | null
performance.measurementMethod string | null
conclusion string | null
limitations string[]

まだ実行していない比較計画

次の計画には実測した成果物、利用量、価格、時間、品質点、フレーム時間がありません。空の一覧とnullは証拠がないことを示し、利用資源が0だったことを表しません。

項目 記録値
id ocean-wave-comparison-plan
status not-run
hypothesis 小さな波を法線側へ分けると、頂点数を増やすより軽く見た目を足せるか
taskType realtime
runAt 不明・未取得(null)
provider 不明・未取得(null)
modelId 不明・未取得(null)
modelVersion 不明・未取得(null)
input.prompt 同じカメラと画面サイズで、頂点のみの波と法線を組み合わせた波を比較する
input.referenceAssets 記録なし(未実行)
input.parameters 記録なし(未実行)
input.seed 不明・未取得(null)
input.seedSupported 不明・未取得(null)
environment.appVersion 不明・未取得(null)
environment.device 不明・未取得(null)
environment.os 不明・未取得(null)
environment.browser 不明・未取得(null)
environment.renderResolution 不明・未取得(null)
environment.gitCommit 不明・未取得(null)
outputs 記録なし(未実行)
usage 記録なし(未実行)
cost.amount 不明・未取得(null)
cost.currency 不明・未取得(null)
cost.kind not-collected
cost.priceSourceUrl 不明・未取得(null)
cost.priceCheckedAt 不明・未取得(null)
cost.formula 不明・未取得(null)
timing.latencySeconds 不明・未取得(null)
timing.humanEditingMinutes 不明・未取得(null)
timing.sampleDurationSeconds 不明・未取得(null)
quality.rubric criterion: 波の輪郭と照明の整合性 / scale: 1〜5の主観評価。採点者を記録
quality.scores 記録なし(未実行)
quality.accepted 不明・未取得(null)
quality.failureNotes 記録なし(未実行)
performance.medianFrameMs 不明・未取得(null)
performance.p95FrameMs 不明・未取得(null)
performance.measurementMethod 不明・未取得(null)
conclusion 不明・未取得(null)
limitations 未実行のため性能差は未確認; 端末、解像度、シェーダー実装に依存

実験記録表

実行を計画するとき、以下を手元のJSONファイルへ写します。このサイトは記録を保存せず、モデルも呼び出しません。schemaの識別子はそのまま使います。空配列とnullは根拠がない状態で、利用量ゼロではありません。usageには出所、単位、measured/not-collected/not-runの状態を添えて追加し、実行後の記録を作るときも元の計画を残します。

{
  "id": "creative-comparison-plan",
  "status": "not-run",
  "hypothesis": "比較したい問いへ置き換える",
  "taskType": "workflow",
  "runAt": null,
  "provider": null,
  "modelId": null,
  "modelVersion": null,
  "input": {
    "prompt": "",
    "referenceAssets": [],
    "parameters": {},
    "seed": null,
    "seedSupported": null
  },
  "environment": {
    "appVersion": null,
    "device": null,
    "os": null,
    "browser": null,
    "renderResolution": null,
    "gitCommit": null
  },
  "outputs": [],
  "usage": [],
  "cost": {
    "amount": null,
    "currency": null,
    "kind": "not-collected",
    "priceSourceUrl": null,
    "priceCheckedAt": null,
    "formula": null
  },
  "timing": {
    "latencySeconds": null,
    "humanEditingMinutes": null,
    "sampleDurationSeconds": null
  },
  "quality": {
    "rubric": [],
    "scores": [],
    "accepted": null,
    "failureNotes": []
  },
  "performance": {
    "medianFrameMs": null,
    "p95FrameMs": null,
    "measurementMethod": null
  },
  "conclusion": null,
  "limitations": [
    "比較は未実行で、結果はまだありません。"
  ]
}

関連するCatalog候補と実践

先に読む章:AIを条件付きの提案器として使う

ブラウザ内で動く海のシェーダー実習は、ローカル配布のThree.js 0.186.1とWebGLRendererを使い、モデルAPIを呼び出しません。平面、頂点の波、近似した光と色の三段階を扱います。物理的な海洋シミュレーション、実際の反射・屈折、岸の泡は実装していません。開いただけでは比較課題の完了にも、別端末の性能確認にもなりません。

海のシェーダー実習を開く

実験記録表で計画と証拠を残す

実験ノートを開く

一次資料

2026-10-04に確認した出典の範囲

現在の料金表 はモデルと入出力の種類を分けています。この確認から実測の請求額や将来の単価は得られません。許可された比較の設計・実行時に、該当単価、課金単位、取得日を記録表へ写します。

リンク先の海の実習は独立した実践素材です。後で測るときは版、端末、実際の段階名を記録します。この章の課題と総合制作課題は未実行のままです。

MENTAL MODEL / 考える順序

一度に、すべてを変えない。

意図

何を伝える画像か。媒体とサイズ、残したい意味を先に決める。

出典

公開日は資料の日付、確認日は内容を参照した日です。コミュニティの観測は公式の確定事項と区別します。

01
公式ドキュメントOpenAI API Pricing ↗developers.openai.com公開: 不明 · 確認: 2026-10-04
02
公式ドキュメントOpenAI Image generation guide ↗developers.openai.com公開: 不明 · 確認: 2026-10-04
03
公式ドキュメントMDN requestAnimationFrame ↗developer.mozilla.org公開: 不明 · 確認: 2026-10-04
このブラウザ内に保存します。