メインコンテンツへスキップ
POST
/
v1
/
attachments
Upload an attachment
curl --request POST \
  --url https://api.devin.ai/v1/attachments \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form file='@example-file'
"<string>"
このエンドポイントはファイルを当社のサーバーにアップロードし、Devinのセッション内で参照できるURLを返します。ファイルはどのセッションにも自動的には送信されないため、プロンプト内でそのURLを指定する必要があります。

アップロードしたファイルの使い方

Devin が添付ファイルを認識するのは、ATTACHMENT:"{file_url}" という形式で正確に記述されている場合だけです(単数形の ATTACHMENT、すべて大文字)。ATTACHMENT: の行はプロンプト内で 1 行だけにし、URL はダブルクォーテーションで囲む必要があります。この形式を使わずに、URL をそのまま含めるだけでは認識されません。ATTACHMENTS:(複数形)のようなバリエーションも認識されません。
Devin セッション内でアップロードしたファイルを参照するには、次のようにします。
  1. このエンドポイントを使ってファイルをアップロードし、URL を取得する
  2. セッションの作成時やメッセージ送信時に、プロンプト内にその URL を含める
  3. プロンプト内で ATTACHMENT:"{file_url}" を単独の行として記述し、URL を正しい形式で記述する

完全なサンプル

import os
import requests

DEVIN_API_KEY = os.getenv("DEVIN_API_KEY")

# ステップ1: ファイルをアップロードする
with open("data.csv", "rb") as f:
    response = requests.post(
        "https://api.devin.ai/v1/attachments",
        headers={"Authorization": f"Bearer {DEVIN_API_KEY}"},
        files={"file": f}
    )
file_url = response.text

# ステップ2: アップロードしたファイルを参照するセッションを作成する
session_response = requests.post(
    "https://api.devin.ai/v1/sessions",
    headers={"Authorization": f"Bearer {DEVIN_API_KEY}"},
    json={
        "prompt": f"""添付されたCSVファイルのデータを分析し、サマリーレポートを作成してください。
トレンドと主要なインサイトの特定に重点を置いてください。

ATTACHMENT:"{file_url}"
"""
    }
)

print(session_response.json())
重要: ATTACHMENT: プレフィックスは、プロンプト内で単独で1行に記述し、URL は上記のとおり二重引用符で囲んでください:ATTACHMENT:"{url}"。複数ファイルを添付するには、ファイルごとに ATTACHMENT:"{file_url}" の行を1つずつ追加します。

Authorizations

Authorization
string
header
required

Personal API Key (apk_user_) or Service API Key (apk_)

Body

multipart/form-data
file
file
required

Response

Successful Response

The response is of type string.