技術約10分で読めます

ModelScopeのAPI-Inferenceで一覧に無い画像モデルまで動いた

いけさん目次

ModelScopeのAPI-Inference(LLMはOpenAI互換)は、Qwen3.7 Plusのfunction callingを試したときから校正やエージェントの実験に使っている。
手元のアカウントでは9月に入って、月ごとのコール数上限の表示が消え、Magicubeというコインの残高に変わっていた。
試しにいつものQwen3.8 Maxに1回投げてみた。
残高が0.5減った。

ほかのモデルがどうかは分からないので、何を1回叩くと何コイン減るのかを先に測ることにした。
ついでに、一覧APIに出てくるチャットモデル以外に何が叩けるのかも、この機会に一通り叩いた。

検証環境

項目内容
クライアントApple M1 Max / 64GB / macOS 26.5
接続ModelScope API-Inference(LLMはOpenAI互換、curl直叩き)
認証ModelScopeのアクセストークン
消費の確認ModelScopeのMagicube残高をブラウザで目視
実施日2026年9月4日

推論は全部API側で走るのでローカルのマシンは関係なくて、コインの減り方は1回叩くたびにブラウザで残高を確認して記録した。
レスポンスヘッダーに残高は載っていなかった。

Magicubeの仕組み

単価や付与の規則は、公式ドキュメントのAPI-Inference Usage LimitsMagicube Rewards Programに書いてある。

項目内容
単価軽量モデル約0.5、標準約1、フラッグシップ約2(1コールあたり)
毎日の付与ログインで200、Alibaba Cloud連携済みならさらに50
短期Magicube発行から24時間で失効
長期Magicube90日で失効。メール認証やプロフィール記入などで一度だけもらえる
失敗時システムエラーで失敗したタスクは全額返金
対象LLM、マルチモーダル、画像生成(text-to-image)の3種
前提条件メール認証済みのプロフィール。API利用にはAlibaba Cloud連携と実名認証

毎日もらえる分は当日かぎりで、翌日には繰り越されない。

一覧APIと実際に動くもののずれ

/v1/models を叩くと49件返ってきた。
DeepSeek-V4-Pro、GLM-5.2、MiniMax-M3、Qwen3.5とQwen3.8の各サイズ、Qwen3-Embeddingの3サイズ、など。
画像モデルは Qwen/Qwen-Image-Edit の1件しか載っていない。

載っているうち、DeepSeek-V4-Pro、GLM-5.2、MiniMax-M1-80k、Qwen3.5-397B-A17B、Qwen3-Embeddingの3サイズは、そのまま動いた。
ところが、載っていない Qwen/Qwen-Image を画像生成のエンドポイントに投げたら普通に動いた。
一方、載っている MiniMax/MiniMax-M3 はチャットに投げると「no provider supported」で弾かれた。

公式ドキュメントの Usage Limits によると、対応モデルはモデルページ右側に利用の入口とコード例が表示される。
実際に Qwen-Image-2512 のページを開くと、確かに書いてある。

Qwen-Image-2512のモデルページ。右上にAPI-Inferenceのパネルがあり、requestsで画像生成を叩くサンプルコードが表示されている

今回ページを開いた Wan2.1-T2V-1.3B、Qwen3-ASR-1.7B、Qwen3-TTS には、このパネルが無かった。

画像生成

公式ドキュメントに載っている画像生成の手順は、POST /v1/images/generations にモデル名とプロンプトを送り、非同期モードのヘッダーを付けてタスクIDを受け取り、GET /v1/tasks/<id> でポーリング(一定間隔で結果を取りに行く)する。

curl -H "Authorization: Bearer $MODELSCOPE_TOKEN" \
  -H "Content-Type: application/json" \
  -H "X-ModelScope-Async-Mode: true" \
  "$BASE_URL/images/generations" \
  -d '{"model":"Qwen/Qwen-Image","prompt":"a red apple on a white table"}'
# => {"task_status":"SUCCEED","task_id":"..."}

curl -H "Authorization: Bearer $MODELSCOPE_TOKEN" \
  -H "X-ModelScope-Task-Type: image_generation" \
  "$BASE_URL/tasks/<task_id>"
# => {"task_status":"SUCCEED","output_images":["https://...png"]}

Qwen-Imageの生成・編集4モデル

Qwen/Qwen-Image というIDは、ModelScope上の2025年8月公開の初代リポジトリに対応している。
新しい版は別IDなので、2512と、編集モデルの初代と2511も同じエンドポイントに投げた。
編集は、初代Qwen-Imageで出した赤い林檎の画像を入力にして「緑の林檎に変えろ」と指示した。

モデルID指示結果
Qwen/Qwen-Image白いテーブルの赤い林檎写真調で問題なく出た
Qwen/Qwen-Image-2512同上出た。林檎に寄った構図
Qwen/Qwen-Image-Edit林檎を緑に構図は保ったが林檎は赤いまま。全体がやや滲んだ
Qwen/Qwen-Image-Edit-2511林檎を緑に林檎が緑になり、構図も保たれた

画像は表の順に、初代Qwen-Image、Qwen-Image-2512、初代Edit、Edit-2511の出力。

初代Qwen-Imageで出した赤い林檎。白いテーブルに置かれた写真調の1枚

Qwen-Image-2512で出した赤い林檎。窓際の白いテーブルで、林檎に寄った構図

初代Qwen-Image-Editの出力。構図は入力と同じだが林檎は赤いままで、輪郭が滲んでいる

Qwen-Image-Edit-2511の出力。同じ構図のまま林檎だけが緑に変わっている

初代Editは入力画像を使ってはいるが指示が通っていない。
1回試しただけだが、2511との差は1枚で出た。

ついでに、image_url を付けずにEditモデルへ投げたらエラーにならなくて、入力画像なしの画像生成として普通に出た。

Qwen以外の画像モデル

過去の技術記事で扱ったモデルがModelScopeにもあるので、同じプロンプトで叩いた。
プロンプトは赤髪サイドポニーの白シャツ立ち絵、アニメ調。

モデルID結果
Tongyi-MAI/Z-Image-Turbo動いた。指定通り
Tongyi-MAI/Z-Image動いた。厚塗り風で横向き
krea-community/Krea-2-Turbo動いた。指定通り
MusePublic/FLUX.1-Kontext-Dev動いた。ポニーテールが後ろ寄り
MAILAND/majicflus_v1(公式ドキュメントの例)動いた。実写調
ModelE/yumemono-illustrious-v-1-0(Illustrious-XLのLoRA)「submit failed with code: 40212」で不可。消費なし。画像なし

画像は表の順に、Z-Image-Turbo、Z-Image、Krea-2-Turbo、FLUX.1-Kontext-Dev、majicflus_v1の出力。

Z-Image-Turboの出力。赤髪サイドポニーで白い半袖シャツ、灰色の無地背景

Z-Imageの出力。厚塗り風の横向きで、赤髪を結んで白いシャツ、灰褐色の背景

Krea-2-Turboの出力。赤髪サイドポニーで白い長袖シャツと紺のスカート、桃色の無地背景

FLUX.1-Kontext-Devの出力。アニメ調で赤髪のポニーテールが後ろ寄り、白いTシャツ、薄い黄の背景

majicflus_v1の出力。実写調で赤髪のサイドテール、白いシャツ、白背景

弾かれた1件はモデル情報を確認したら Illustrious-XL の LoRA で、Illustrious-XL は SDXL アーキテクチャだった。
ドキュメントの解像度表に「SD series」の枠はあるが、この1件は通らなかった。
Krea-2-Turboは krea/Krea-2-Turbo のIDでは存在せず、krea-community/Krea-2-Turbo が正しかった。

LoRAのリポジトリIDをmodelに直接指定

「Anima」で検索して出てきたコミュニティのリポジトリを4つ確認したが、モデル情報のタグは全部LoRAだった。
ベースはKrea-2-Turbo、Qwen-Image-Edit-2511、Z-Imageのどれかで、検索結果にAnima本体は出てこなかった。

検索結果に出てきたIDをそのまま model に入れて投げたら通って、画像が返ってきた。
公式ドキュメントには別に loras というパラメータがあって、ModelScope上のLoRAを最大6個、重み合計1.0で当てられる。
プロンプトは前の節と同じで、seedは指定していない。

リポジトリIDベース結果
Martis/AnimaZ-ImageZ-Image単体と同じ厚塗り風。座った姿で顔が崩れている
Devilworld/anima-krea2Krea-2-TurboKrea-2-Turbo単体とほぼ同じ絵
Creolim/WenM-AnimaKrea-2-TurboこちらもKrea-2-Turbo単体とほぼ同じ絵
Blueee/Anima.fQwen-Image-Edit-2511アニメ調の横向き、白背景

画像は表の順。

Martis/Animaの出力。厚塗り風で座った姿、赤髪に白い服、顔の描画が崩れている

Devilworld/anima-krea2の出力。赤髪サイドポニーで白い長袖シャツと紺のスカート、桃色の無地背景

Creolim/WenM-Animaの出力。赤髪サイドポニーで白い長袖シャツと紺のスカート、桃色の無地背景

Blueee/Anima.fの出力。アニメ調で横向き、赤髪サイドポニーに白い半袖シャツ、白背景

Krea-2-Turbo系の2件は、ベース単体とほぼ同じ絵が出た。

ここまでの画像は、どのモデルでも760x1280のPNGでAliyun OSS上のURLが返ってきて、消費は1タスク1コインだった。

埋め込み

/v1/embeddings は存在した。
最初の1回は encoding_format must be 'float' or 'base64', got '' で弾かれ、言われた通り encoding_format を付けたら通った。

curl -H "Authorization: Bearer $MODELSCOPE_TOKEN" \
  -H "Content-Type: application/json" \
  "$BASE_URL/embeddings" \
  -d '{"model":"Qwen/Qwen3-Embedding-0.6B","input":"りんご","encoding_format":"float"}'
モデルID結果
Qwen/Qwen3-Embedding-0.6B動いた。1024次元
Qwen/Qwen3-Embedding-4B動いた。2560次元
Qwen/Qwen3-Embedding-8B動いた。4096次元
BAAI/bge-m3、bge-large系「Invalid model id」
jinaai/jina-embeddings-v3、v4「Invalid model id」
intfloat/multilingual-e5-large「Invalid model id」
Alibaba-NLP/gte系、iic/gte系「Invalid model id」
nomic-embed-text-v1.5、embeddinggemma-300m、all-MiniLM-L6-v2「Invalid model id」
Qwen/Qwen3-VL-Embedding-2B「Invalid model id」

試したIDのうち、一覧に出ていた3つが通った。
リランカー(検索結果の順位を付け直すモデル)は /v1/rerank/v1/reranking/v1/rerankers の3パスとも404。
消費は1コール1コインで、「Invalid model id」の400は減らなかった。

動画

/v1/videos/generations というパスは存在した。
404ではなく、アプリ側のJSONエラーが返ってきた。

モデルID応答
Wan-AI/Wan2.2-T2V-A14B「Invalid model provider」
Wan-AI/Wan2.2-TI2V-5B、Wan2.5、Wan2.6「Invalid model provider」
Wan-AI/Wan2.1-T2V-1.3B「X-ModelScope-DataInspection is empty」

1.3Bだけ応答が変わり、X-ModelScope-DataInspection というヘッダーを要求された。
1回目は true を入れ、返ってきたエラーが真偽値を構造体に入れられないという内容だったので、2回目は空のオブジェクト {} にした。

ヘッダーの値応答
true「cannot unmarshal bool into Go value of type parameter.MuseCsiConfig」
{}「failed to call provider API」

動画は1本も出なかった。

公式ドキュメントの対象は「LLM、マルチモーダル、画像生成」で、動画は対象外だった。
動画生成はCivision側の機能で、Wan2.1-T2V-1.3Bのモデルページにも、APIのパネルではなく「Generate Now」のボタンだけがあった。

音声

/v1/audio/transcriptions/v1/audio/speech/v1/audio/generations/v1/asr/generations/v1/tts/generations/v1/speech/recognition/v1/audio/synthesis を試して、全部404だった。
nginxの素の404なので、ルート自体が無い。

チャット補完に音声を載せるOpenAI互換の形式(input_audio)も試した。
macOSの合成音声で日本語のWAVを作り、Qwen3-ASR-1.7B、SenseVoiceSmall、Qwen3-Omniに投げたが、3つとも「has no provider supported」。
Qwen3-TTSとCosyVoice2に modalities で音声出力を要求しても同じだった。
ASRとTTSのモデルページにもAPI-Inferenceのパネルは無い。

普段使っている割引モデルのQwen3.8 Maxに同じ音声を送ると200が返ったが、choicesnull で本文が無く、それでも0.5減った。

大型LLM

一覧に載っていた他社のフラッグシップも1回ずつ叩いた。
「OKとだけ返せ」で max_tokens=8 にしたので、思考トークンで使い切って本文が空になったモデルもあるが、呼び出し自体はできていた。

モデルID結果消費
deepseek-ai/DeepSeek-V4-Pro動いた2
zai-org/GLM-5.2動いた2
Qwen/Qwen3.5-397B-A17B動いた2
MiniMax/MiniMax-M1-80k動いた1
MiniMax/MiniMax-M3一覧にあるが「no provider supported」0
moonshotai/Kimi-K3、K2.6、K2.7-Code「no provider supported」0

普段使っているQwen Ambassador名義の割引モデルは、同じコールで3.8 Maxが0.5、3.7 Plusが0.2。

Kimi-K3はModelScopeにリポジトリがあり、9月3日にも更新が入っていた。
取得したファイル一覧では .eval_results フォルダが一番新しく、コミットメッセージは評価結果の追加。
上位20件のうち重みの分割ファイルは7月28日のままだった。

実測した単価

呼び出し消費
公開フラッグシップLLM(DeepSeek-V4-Pro、GLM-5.2、Qwen3.5-397B)2
MiniMax-M1-80k1
Qwen Ambassador名義の割引モデル(Qwen3.8 Max / Qwen3.7 Plus)0.5 / 0.2
画像生成・編集(1タスク)1
埋め込み(1コール)1
400や404、動画の「failed to call provider API」0
空応答(音声を無視されて choicesnull の200)0.5(割引モデルの単価どおり)

ちなみに Qwen/Qwen-Image のモデル情報は、modelscope.cn側の作成日が2025年8月2日、modelscope.ai側は2025年9月5日で、同じIDでもサイト間で1か月ずれていた。