---
title: "共有プレビューのリンクを発行する（消費なし）"
method: POST
path: "/api/v1/projects/{projectId}/preview-link"
tags: ["projects"]
---

# 共有プレビューのリンクを発行する（消費なし）

`POST /api/v1/projects/{projectId}/preview-link`

## Request

- Base URL: `https://app.yukkurigen.com`
- URL: `https://app.yukkurigen.com/api/v1/projects/{projectId}/preview-link`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

## Path parameters

- `projectId` string, required

## Request body

- object
  - `expiresInDays` number: リンクの寿命（日）。既定7、最大30。
  - `revoke` boolean: true なら鍵を作り直す。**以前配ったURLは全部開けなくなる。**

## Response `200`

発行できた

- object
  - `url` string, uri: そのまま利用者へ渡すURL
  - `expiresAt` string, date-time
  - `revokedPrevious` boolean: 作り直して以前のURLを無効にしたか
  - `mp4` object: 次の一手。MP4 にしたときのクレジットの見積もり・残高・次に呼ぶもの。組み立てに失敗したときは省かれる（リンクの発行は失敗させない）。
    - `estimatedCredits` integer: MP4 にしたときのクレジットの見積もり（台本の文字数から多めに出す。動画1分につき1・端数切り上げ）。実際の額は書き出しを始めるときの長さで決まる
    - `estimatedSeconds` integer: 見積もりの長さ（秒）
    - `isEstimate` true
    - `linesMissingAudio` integer: 音声が未生成の行の数。0 でなければ render_mp4 は課金せずに 409 missing_audio を返す
    - `credits` object, nullable: 残高とプラン。API キーに credits:read が無いときは null
      - `plan` 'free' | 'standard' | 'pro' | 'enterprise'
      - `available` number, nullable: 使える残高。null は無制限
      - `enough` boolean: 見積もりに足りるか
    - `next` 'render_mp4' | 'create_checkout' | 'get_credits': 次に呼ぶもの。get_credits は残高を見せられないとき
    - `purchase` object: next が create_checkout のときに買うもの（不足を満たすいちばん小さいクレジットパック）。priceKey を create_checkout（POST /api/v1/billing/checkout-link）に渡す
      - `priceKey` string
      - `label` string
      - `amountJpy` number
      - `credits` number
      - `reason` string
    - `alternative` object: 無料プランのときだけ。月額で続ける選択肢（スタンダード）
      - `priceKey` string
      - `label` string
      - `amountJpy` number
      - `credits` number
      - `reason` string
    - `message` string: 利用者へ伝える文（日本語）。MCP の create_preview_link はこれを返事の文に付ける

## Other responses

- `401`: 認証が必要
- `403`: APIキーに projects:write スコープが無い（2026-10-20 から。公開リンクを作る操作なので読み取り専用の鍵では発行できない）、または他人のプロジェクト（code: insufficient_scope / forbidden）。
- `404`: プロジェクトが見つからない
- `503`: サーバ設定の不足で発行できない（code: unavailable）

---

[API](https://skmtc.dev/yukkurigen/apis/yukkurigen-ai-operated-api.md) · [All operations](https://skmtc.dev/yukkurigen/apis/yukkurigen-ai-operated-api/llms.txt) · [OpenAPI document](https://skmtc.dev/yukkurigen/apis/yukkurigen-ai-operated-api/revisions/ba5f36b016da?raw)
