OpenAI API を使うと、共通のインターフェースから最先端の AI モデルを利用して、テキスト生成、自然言語処理、コンピュータービジョンなどのタスクを実行できます。まずは API キーを作成し、初めての API リクエストを送信しましょう。続いて、テキストの生成、画像の分析、エージェントの構築などの方法を紹介します。
API キーの作成とエクスポート
API キーを作成
まず、ダッシュボードで API キーを作成します。このキーを使って、API に安全にアクセスします。キーは、コンピューター上の .zshrc ファイルや別のテキストファイルなど、安全な場所に保管してください。API キーを生成したら、ターミナルで環境変数としてエクスポートします。
export OPENAI_API_KEY="your_api_key_here"setx OPENAI_API_KEY "your_api_key_here"各言語の OpenAI SDK は、環境変数から API キーを自動的に読み取ります。
OpenAI SDK のインストールと API の呼び出し
Node.js、Deno、Bun などのサーバーサイド JavaScript 環境から OpenAI API を呼び出すには、公式の TypeScript および JavaScript 向け OpenAI SDK を利用できます。まず、npm またはお好みのパッケージマネージャーで SDK をインストールします。
npm install openaiOpenAI SDK をインストールしたら、example.mjs というファイルを作成し、次のサンプルコードを貼り付けます。
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-6-astra",
input: "Write a one-sentence bedtime story about a unicorn.",
});
console.log(response.output_text);node example.mjs でコードを実行します(Deno または Bun を使う場合は、対応するコマンドを使います)。しばらくすると、API リクエストの結果が表示されます。
SDK のその他の機能やオプションについては、GitHub リポジトリの README をご覧ください。
Python から OpenAI API を呼び出すには、公式の Python 向け OpenAI SDK を利用できます。まず、pip で SDK をインストールします。
pip install openaiOpenAI SDK をインストールしたら、example.py というファイルを作成し、以下のサンプルコードを貼り付けます。
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-6-astra",
input="Write a one-sentence bedtime story about a unicorn.",
)
print(response.output_text)python example.py でコードを実行します。しばらくすると、API リクエストの結果が表示されます。
SDK のその他の機能やオプションについては、このライブラリの GitHub リポジトリにある README を参照してください。
OpenAI は Microsoft と協力し、C# 向けに公式サポート付きの API クライアントを提供しています。.NET CLI を使って NuGet からインストールできます。
dotnet add package OpenAI
Responses API に簡単なリクエストを送る例を示します。
using OpenAI.Responses;
#pragma warning disable OPENAI001
string key = Environment.GetEnvironmentVariable("OPENAI_API_KEY")!;
ResponsesClient client = new(key);
ResponseResult response = await client.CreateResponseAsync(
"gpt-6-astra",
"Say 'this is a test.'"
);
Console.WriteLine($"[ASSISTANT]: {response.GetOutputText()}");OpenAI は、Java から API を利用するためのライブラリをベータ版として提供しています。次の設定で、このライブラリを Maven の依存関係に追加できます。
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java</artifactId>
<version>4.101.0</version>
</dependency>Responses API に簡単なリクエストを送る例を示します。
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
public class Main {
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.fromEnv();
ResponseCreateParams params =
ResponseCreateParams.builder().input("Say this is a test").model("gpt-6-astra").build();
Response response = client.responses().create(params);
response.output().stream()
.flatMap(item -> item.message().stream())
.flatMap(message -> message.content().stream())
.flatMap(content -> content.outputText().stream())
.forEach(outputText -> System.out.println(outputText.text()));
}
}Java で OpenAI API を使う方法について詳しくは、以下の GitHub リポジトリをご覧ください。
ライブラリの GitHub リポジトリにある README では、SDK のその他の機能やオプションを紹介しています。
OpenAI は、Go から API を利用するためのライブラリをベータ版として提供しています。以下のコードでライブラリをインポートできます。
import (
"github.com/openai/openai-go/v3" // imported as openai
)Responses API に最初のリクエストを送るコード例を示します。
package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/responses"
)
func main() {
client := openai.NewClient()
resp, err := client.Responses.New(context.TODO(), responses.ResponseNewParams{
Model: "gpt-6-astra",
Input: responses.ResponseNewParamsInputUnion{OfString: openai.String("Say this is a test")},
})
if err != nil {
panic(err.Error())
}
fmt.Println(resp.OutputText())
}Go で OpenAI API を使う方法について詳しくは、以下の GitHub リポジトリをご覧ください。
ライブラリの GitHub リポジトリにある README では、SDK のその他の機能やオプションを紹介しています。
Ruby から OpenAI API を利用するには、公式の Ruby 向け OpenAI SDK が使えます。まず、アプリケーションに gem を追加します。
gem "openai"OpenAI SDK をインストールしたら、example.rb というファイルを作成し、次のサンプルコードを貼り付けます。
require "openai"
openai = OpenAI::Client.new
response = openai.responses.create(
model: "gpt-6-astra",
input: "Write a one-sentence bedtime story about a unicorn."
)
puts(response.output_text)ruby example.rb でコードを実行します。しばらくすると、API リクエストの結果が表示されます。
SDK のその他の機能やオプションについては、GitHub にあるこのライブラリの README を参照してください。
Responses API を使ったアプリ開発を始めましょう。
プロンプトの書き方、メッセージのロール、対話型アプリの作り方について詳しく解説します。
開発を続けるためのクレジットの追加
請求ページへ
アプリのリリースまでの時間を短縮するのに役立つツールやドキュメントを紹介します。
対話用のプロンプトを作成してテストし、アプリに組み込めます。
Agents SDK を使って、エージェントのワークフローを構築、実行し、その動作を確認できます。
画像とファイルの分析
画像の URL、アップロードしたファイル、PDF 文書をモデルに直接送信すると、テキストの抽出、コンテンツの分類、画像内の要素の検出ができます。
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-6-astra",
input: [
{
role: "user",
content: [
{
type: "input_text",
text: "What is in this image?",
},
{
type: "input_image",
image_url:
"https://openai-documentation.vercel.app/images/cat_and_otter.png",
detail: "auto",
},
],
},
],
});
console.log(response.output_text);import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-6-astra",
input: [
{
role: "user",
content: [
{
type: "input_text",
text: "Analyze the letter and provide a summary of the key points.",
},
{
type: "input_file",
file_url: "https://www.berkshirehathaway.com/letters/2024ltr.pdf",
},
],
},
],
});
console.log(response.output_text);import fs from "fs";
import OpenAI from "openai";
const client = new OpenAI();
const file = await client.files.create({
file: fs.createReadStream("fixtures/draconomicon.pdf"),
purpose: "user_data",
});
const response = await client.responses.create({
model: "gpt-6-astra",
input: [
{
role: "user",
content: [
{
type: "input_file",
file_id: file.id,
},
{
type: "input_text",
text: "What is the first dragon in the book?",
},
],
},
],
});
console.log(response.output_text);モデルに画像を入力し、その内容を読み取る方法を解説します。
モデルにファイルを入力し、文書の内容を読み取る方法を解説します。
ツールによるモデルの機能拡張
モデルにツールを追加すると、外部のデータや関数にアクセスできるようになります。ウェブ検索やファイル検索などの組み込みツールを利用することも、API の呼び出し、コードの実行、外部システムとの連携に使う独自のツールを定義することもできます。
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-6-astra",
tools: [{ type: "web_search" }],
input: "What was a positive news story from today?",
});
console.log(response.output_text);import OpenAI from "openai";
const openai = new OpenAI();
const response = await openai.responses.create({
model: "gpt-6-astra",
input: "What is deep research by OpenAI?",
tools: [
{
type: "file_search",
vector_store_ids: ["<vector_store_id>"],
},
],
});
console.log(response);import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-6-astra",
instructions:
"You are a personal math tutor. When asked a math question, write and run code to answer the question.",
tools: [
{
type: "code_interpreter",
container: { type: "auto" },
},
],
input: "I need to solve the equation 3x + 11 = 14. Can you help me?",
});
console.log(response.output_text);import OpenAI from "openai";
const client = new OpenAI();
const tools = [
{
type: "function",
name: "get_weather",
description: "Get current temperature for a given location.",
parameters: {
type: "object",
properties: {
location: {
type: "string",
description: "City and country e.g. Bogotá, Colombia",
},
},
required: ["location"],
additionalProperties: false,
},
strict: true,
},
];
const response = await client.responses.create({
model: "gpt-6-astra",
input: [
{ role: "user", content: "What is the weather like in Paris today?" },
],
tools,
});
console.log(response.output[0]);curl https://api.openai.com/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-6-astra",
"tools": [
{
"type": "mcp",
"server_label": "openai_docs",
"server_description": "Search and read the public OpenAI documentation.",
"server_url": "https://developers.openai.com/mcp",
"require_approval": "never"
}
],
"input": "Search the OpenAI docs for Responses API streaming and return the relevant links."
}'ウェブ検索やファイル検索など、高機能な組み込みツールについて解説します。
モデルから独自のコードを呼び出せるようにする方法を解説します。
応答のストリーミングとリアルタイムアプリの構築
サーバーから送信されるストリーミングイベントを使うと、生成された結果を順次表示できます。音声で対話するアプリや、テキスト、音声、画像を入力として受け取るアプリには、Realtime API を利用できます。
import { OpenAI } from "openai";
const client = new OpenAI();
const stream = await client.responses.create({
model: "gpt-6-astra",
input: [
{
role: "user",
content: "Say 'double bubble bath' ten times fast.",
},
],
stream: true,
});
for await (const event of stream) {
console.log(event);
}サーバー送信イベントを使うと、モデルの応答を生成途中からユーザーに届けられます。
WebRTC または WebSockets を使って、低遅延で音声変換を行う AI アプリを構築できます。
エージェントの構築
OpenAI プラットフォームでは、ユーザーに代わってタスクを実行するエージェントを構築できます。たとえば、エージェントにコンピューターを操作させることができます。Agents SDK を使って、エージェントの動作を制御するオーケストレーションロジックをサーバー上に実装します。
import { Agent, run } from "@openai/agents";
const spanishAgent = new Agent({
name: "Spanish agent",
instructions: "You only speak Spanish.",
});
const englishAgent = new Agent({
name: "English agent",
instructions: "You only speak English",
});
const triageAgent = new Agent({
name: "Triage agent",
instructions:
"Handoff to the appropriate agent based on the language of the request.",
handoffs: [spanishAgent, englishAgent],
});
const result = await run(triageAgent, "Hola, ¿cómo estás?");
console.log(result.finalOutput);OpenAI プラットフォームを使って、高度なタスクを実行できる AI エージェントを構築する方法を解説します。