開発者向け · API v1

ひとつの API。
すべてのモデル。

画像、動画、音声、3D をひとつの API で。支払いはスタジオと同じ残高です。キーは設定で作成できます。CLI は近日公開です。

近日公開Opencran CLI は準備中です。このページで使い方を先にご覧いただけます。それまではAPIをご利用ください。

$npm i -g @opencran/cli
モデル
682
エンドポイント
9
最低チャージ額
€3
01 · 例

同じ呼び出しで、どんな出力も

モデル ID を変えるだけで、画像・動画・音声を切り替えられます。フィールドはモデルに合わせて変わります。

1import { writeFile } from "node:fs/promises";2 3const API = "https://opencran.com/api/v1/api/catalog";4const auth = { Authorization: `Bearer ${process.env.OPENCRAN_API_KEY}` };5 6// 1. Generate an image7const res = await fetch(`${API}/generations`, {8  method: "POST",9  headers: { ...auth, "Content-Type": "application/json", "Idempotency-Key": crypto.randomUUID() },10  body: JSON.stringify({11    modelId: "luma/uni-v1/text-to-image",12    inputs: { prompt: "Neon city street after rain, cinematic night", size: "16:9" },13  }),14});15let { generation } = await res.json();16 17// 2. Wait for the result18while (generation.status === "queued" || generation.status === "generating") {19  await new Promise((r) => setTimeout(r, 3000));20  ({ generation } = await (await fetch(`${API}/generations/${generation.id}`, { headers: auth })).json());21}22 23// 3. Save the file24const file = await fetch(`${API}/generations/${generation.id}/content`, { headers: auth });25await writeFile("result.jpeg", Buffer.from(await file.arrayBuffer()));
レンダーのサンプルluma/uni-v1/text-to-image
02 · クイックスタート

3 ステップで最初の生成

  1. 01API キーを作成メールでサインインし、設定の API キーを開いてキーを作成します。お支払いから €3 以上をチャージしてください。export OPENCRAN_API_KEY="oc_live_..."
  2. 02CLIは近日公開近日公開コマンドラインツールはまだ公開されていません。それまでは、すべてスタジオで使えます。
  3. 03最初の生成を実行カタログからモデル ID を選び、プロンプトを送信します。--dry-run を付ければ、何も消費せずに価格を確認できます。opencran run luma/uni-v1/text-to-image -p "violet neon fox" -o ./out/
03 · CLI近日公開

ターミナルから生成

シェル、CI ジョブ、コーディングエージェントから任意のモデルを実行。すべての生成は開始前に価格が決まり、同じ残高から支払われます。

スクリプトと CIモデルのすべてのフィールドがフラグになります。ローカルファイルは自動でアップロードされます。
stdout に JSON実行ごとに JSON ドキュメントをひとつ出力。進捗とエラーは stderr へ、失敗時は 0 以外の終了コード。
コーディングエージェントスキルファイルが、まず価格を確認して上限を設けるようエージェントに教えます。
CLI ガイド全文 →
コマンド機能
opencran loginAPI キーを一度貼り付けるだけ。検証して保存します
opencran whoamiキーの名前と残高
opencran models --type videoすべての動画モデルと開始価格
opencran run <model> -hモデルのフィールドをリアルタイムで取得: 型、デフォルト、許可される値
opencran run <model> -p "<prompt>" -o ./out/生成して結果をフォルダーに保存
opencran run <model> -p "..." --dry-run正確な価格を、何も消費せずに
opencran run <model> -p "..." --max-price 0.50価格が上限を超えたら実行しない
opencran run <model> -p "..." --json -o ./out/次のステップにそのまま使える JSON の結果
opencran skill installコーディングエージェントに CLI の使い方を教える
04 · API の基本

本番運用のための設計

認証

Authorization ヘッダーに Bearer トークン。キーは設定で作成でき、いつでも取り消せます。

Authorization: Bearer oc_live_...

バックグラウンド生成

生成を開始すると、すぐに queued ステータスが返ります。成功、失敗、返金のいずれかになるまでポーリングしてください。

{ "status": "queued" }

まず価格を確認

何も開始せずに、入力内容の正確な価格を取得できます。金額はすべてユーロセント単位です。

POST /api/v1/api/catalog/quote

安全な再試行

Idempotency-Key ヘッダーを送れば、再試行したリクエストで二重に請求されることはありません。

Idempotency-Key: render-042

制限

キーごとに 1 分あたりの上限と、任意の 1 日の上限があります。上限を超えると API は 429 を返します。

429 Too Many Requests

エラーと返金

エラーはコードとメッセージ付きの JSON。失敗した生成は自動的に残高へ返金されます。

{ "status": "refunded" }
05 · リファレンス

エンドポイント

ベース URL https://opencran.com/api/v1

API リファレンス全文 →
GET/api/catalog/meキーと残高
GET/api/catalog/modelsすべてのモデル
GET/api/catalog/models/detail?id=MODEL_ID1 つのモデルとそのフィールド
POST/api/catalog/quote指定した入力の価格
POST/api/catalog/generations生成を開始
GET/api/catalog/generations最近の生成
GET/api/catalog/generations/ID1 件の生成のステータス
GET/api/catalog/generations/ID/content結果ファイル
DELETE/api/catalog/generations/ID生成を削除

€3 をチャージして、今日リリース

設定でAPIキーを作成すれば、どのモデルも呼び出せます。CLI は近日公開です。失敗した生成は返金されます。