手順として異なる部分に絞って、アプリケーションの作成作業を紹介します。
生成した画像は表RINNA_TEXT_TO_IMAGESに保存します。以下のクイックSQLのモデルから作成します。
# prefix: rinna
# auditcols: true
text_to_images
text clob
content_type vc16
image blob
scale num
nsfwContentDetected vc1
type vc80
画像を取り出すRESTサービスのソースは以下になります。
select content_type, image from rinna_text_to_images where id = :id
APEXアプリケーションを作成します。
名前はText to Image、追加する対話モード・レポートのページ名はImages、ソースとして表RINNA_TEXT_TO_IMAGESを指定します。
ホーム・ページにテキスト(APIの引数promptsになる)を入力するページ・アイテムを作成します。
識別の名前はP1_TEXT、タイプはテキスト領域、検証の必須の値はONにします。
識別の名前はP1_SCALE、タイプは数値フィールド、ラベルはscaleとします。設定の最小値に0、最大値に20を設定し、設定の必須の値をONにします。デフォルトの静的値として7.5を設定します。
識別のボタン名はTEXT_TO_IMAGE、ラベルはText To Image、動作のアクションとして、デフォルトのページの送信を選択します。
Text to Imageを実行するボタンを作成します。
識別のボタン名はTEXT_TO_IMAGE、ラベルはText To Image、動作のアクションとして、デフォルトのページの送信を選択します。
生成された画像を表示するページ・アイテムを作成します。
識別の名前はP1_IMAGE、タイプとしてイメージの表示を選択します。ラベルは画像、設定の基準としてImage URL stored in Page Item Valueを選択します。
アイテムの配置は以上です。
ボタンTEXT_TO_IMAGEをクリックしたときに実行されるプロセスを作成します。
作成したプロセスの識別の名前はText to Imageとします。タイプはコードを実行です。ソースのPL/SQLコードとして、以下を記述します。ワークスペース名がapexdevと決め打ちにしているので、その部分は変更が必要です。
ページ・デザイナで対話モード・レポートのページを開き、列IMAGEのタイプをイメージの表示に変更します。BLOB属性のMIMEタイプ列としてCONTENT_TYPEを指定します。
以上でアプリケーションは完成です。
アプリケーションを実行すると記事の先頭のような動作になります。
作成したAPEXアプリケーションのエクスポートを以下に置きました。
https://github.com/ujnak/apexapps/blob/master/exports/text-to-image.zip
rinna株式以外より提供されているAPIのTerms of UseおよびFAQなどは、利用者ご自身にて確認していだくようお願いします。FAQには、APIは現在、試験運用中で検証を除く業務用利用は禁止しております、と記載されています。
Oracle APEXのアプリケーション作成の参考になれば幸いです。
完