Documentation Index
Fetch the complete documentation index at: https://docs.evolink.ai/llms.txt
Use this file to discover all available pages before exploring further.
クイック統合
このガイドでは、数分で EvoLink の最初の呼び出しを完了できます。マルチモーダル処理は非同期タスクを使用し、テキストモデルはチャットやコーディングツール向けの同期 Messages API を使用します。
画像生成
GPT Image 2 で画像生成タスクを作成し、タスク API から結果を取得します。
動画生成
Seedance 2.0 でテキストから動画、画像から動画、参照から動画のタスクを作成します。
テキスト生成
Claude Messages API を使用して、同期的にテキスト応答を取得します。
Base URL を選択
画像、動画、音声などのマルチモーダルタスクには https://api.evolink.ai を使用します。テキストモデルには https://direct.evolink.ai を使用します。
リクエストを送信
マルチモーダル API はまずタスク ID を返します。テキスト API はモデル応答を直接返します。
API Key はアカウントのリソースを呼び出せます。サーバー側または安全な環境変数にのみ保存してください。フロントエンドコード、公開リポジトリ、クライアントパッケージにキーを置かないでください。
リクエストフロー
マルチモーダルタスクは同じ流れで処理されます:
1. タスクを送信
画像、動画、音声エンドポイントを呼び出し、レスポンスの id フィールドでタスク ID を受け取ります。
2. ステータスを確認
GET /v1/tasks/{task_id} で pending、processing、completed、failed を確認します。
3. 結果を取得
タスク完了後、results フィールドから生成ファイルの URL を読み取ります。
生成された画像や動画の URL には通常有効期限があります。本番環境では、完了した結果をできるだけ早くダウンロードして自社ストレージに保存してください。
画像生成
GPT Image 2 で画像生成タスクを作成します:
curl -X POST https://api.evolink.ai/v1/images/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "夕暮れの未来都市のスカイラインを映画的な広角ショットで描写",
"size": "16:9",
"resolution": "4K",
"quality": "high",
"n": 1
}'
レスポンスにはタスクオブジェクトが返ります:
{
"id": "task-unified-1757156493-imcg5zqt",
"object": "image.generation.task",
"model": "gpt-image-2",
"status": "pending",
"progress": 0,
"task_info": {
"can_cancel": true,
"estimated_time": 100
}
}
タスクステータスを確認します:
curl https://api.evolink.ai/v1/tasks/task-unified-1757156493-imcg5zqt \
-H "Authorization: Bearer YOUR_API_KEY"
タスクが完了すると、結果は results 配列に入ります:
{
"id": "task-unified-1757156493-imcg5zqt",
"object": "image.generation.task",
"model": "gpt-image-2",
"status": "completed",
"progress": 100,
"results": [
"https://example.com/generated-image.png"
]
}
動画生成
Seedance 2.0 でテキストから動画のタスクを作成します:
curl -X POST https://api.evolink.ai/v1/videos/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0-text-to-video",
"prompt": "葉の上にいる緑色のグラスフロッグをマクロ撮影し、焦点が透明な腹部へ移り、赤い心臓が規則的に鼓動している様子。",
"duration": 8,
"quality": "720p",
"aspect_ratio": "16:9",
"generate_audio": true
}'
動画タスクも同じタスク API で確認します:
curl https://api.evolink.ai/v1/tasks/YOUR_VIDEO_TASK_ID \
-H "Authorization: Bearer YOUR_API_KEY"
テキスト生成
Claude テキストモデルでは https://direct.evolink.ai と /v1/messages エンドポイントを使用します:
curl -X POST https://direct.evolink.ai/v1/messages \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "EvoLink の価値を3文で紹介してください"
}
]
}'
テキスト API は同期的にメッセージオブジェクトを返します:
{
"id": "msg_xxx",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-4-5-20250929",
"content": [
{
"type": "text",
"text": "EvoLink は統一された AI サービスゲートウェイを提供します..."
}
],
"stop_reason": "end_turn"
}
Python 例
次の例は、画像タスクを送信し、ステータスをポーリングし、最終結果を取得する流れです:
import os
import time
import requests
API_KEY = os.environ["EVOLINK_API_KEY"]
BASE_URL = "https://api.evolink.ai"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
def create_image_task(prompt: str) -> str:
response = requests.post(
f"{BASE_URL}/v1/images/generations",
headers=headers,
json={
"model": "gpt-image-2",
"prompt": prompt,
"size": "1:1",
"quality": "high",
},
timeout=30,
)
response.raise_for_status()
return response.json()["id"]
def wait_for_task(task_id: str, timeout_seconds: int = 300):
started_at = time.time()
while time.time() - started_at < timeout_seconds:
response = requests.get(
f"{BASE_URL}/v1/tasks/{task_id}",
headers={"Authorization": f"Bearer {API_KEY}"},
timeout=30,
)
response.raise_for_status()
task = response.json()
if task["status"] == "completed":
return task["results"]
if task["status"] == "failed":
raise RuntimeError(task.get("error", "Task failed"))
time.sleep(5)
raise TimeoutError("Task timed out")
task_id = create_image_task("白い背景と柔らかなスタジオ照明のクリーンな商品ポスター")
results = wait_for_task(task_id)
print(results[0])
リクエスト頻度制限
EvoLink のリクエスト頻度制限はモデル単位で設定されます。
RPM、同時実行数、タスク送信制限はモデルによって異なる場合があります。実際の制限は、モデルタイプ、上流サービスの容量、アカウントレベル、リアルタイムの可用性によって決まります。軽量なテキストモデルは通常より高いリクエスト頻度に対応できますが、画像や動画などの生成モデルはタスク時間が長く、上流リソースの消費も大きいため、制限が低めになる場合があります。
非同期生成モデルでは、API が成功レスポンスを返した時点ではタスクが受け付けられた、または作成されたことを示すだけで、完了を意味しません。高並列の業務ではサーバー側でキューを実装し、タスク照会 API またはコールバックで最終結果を取得することを推奨します。
HTTP 429 エラーが継続して発生する場合、またはより高い RPM や同時実行制限が必要な場合は、[email protected] までご連絡ください。実際の利用シナリオと上流容量に基づいて評価します。
本番環境の推奨事項
キー管理
API Key は環境変数またはシークレット管理サービスに保存し、環境ごとに別のキーを使用します。
タスクポーリング
タスクタイプに応じて適切なポーリング間隔を設定します。画像タスクはやや高頻度、動画タスクは低頻度が適しています。
エラー処理
failed 状態と HTTP エラーを処理し、頻度制限、残高不足、パラメータエラーに明確な対応を用意します。
結果保存
結果 URL には有効期限があります。本番環境では完了ファイルを自社ストレージへ保存してください。
次のステップ
画像 API
GPT Image 2 のパラメータ、例、レスポンス構造を確認します。
動画 API
Seedance 2.0 のテキストから動画、画像から動画、参照から動画の機能を確認します。
タスク管理
タスクステータス照会、結果フィールド、エラー構造を確認します。