OOMOL Fusion API

이미지 및 동영상 API

이미지 생성, 이미지 편집, 동영상 생성을 앱에 추가하세요. OOMOL 인증 정보와 익숙한 SDK 또는 HTTP API로 지원 모델을 호출할 수 있습니다.

제품에 이미지와 동영상 기능 추가

이미지 생성

텍스트 설명으로 제품 이미지, 일러스트, 창작 소재를 만드세요.

이미지 편집

참조 이미지로 장면이나 구도를 바꾸고 새로운 스타일을 시도하세요.

동영상 생성

텍스트 또는 지원하는 참조 미디어로 영상을 만든 후 작업을 조회해 결과를 받으세요.

작업에 맞는 API 선택

OOMOL Fusion API를 통해 아래 제공업체의 일부 API에 연결합니다. 지원 모델과 매개변수는 제공업체마다 다릅니다.

OpenAI Images

이미지 생성 및 편집

/v1/provider/openai/v1

Seedream

이미지 생성, 참조 이미지 및 SSE 출력

/v1/provider/seedream/api/v3

Seedance

동영상 생성 및 작업 조회

/v1/provider/seedance/api/v3

Wanx

동영상 생성 및 작업 조회

/v1/provider/wanx/api/v1

Kling

동영상 생성 및 작업 조회

/v1/provider/kling/

MiniMax

동영상 생성 및 작업 조회

/v1/provider/minimax/

지원 범위는 모델과 작업에 따라 다릅니다. 업로드, 취소, 스트리밍 지원 및 제한은 연결 전에 확인하세요.

요금 보기

모델을 선택하고 연결 예시 보기

제공업체에 맞는 SDK 또는 HTTP API를 사용하세요. 각 예시에는 클라이언트 설정과 생성 요청이 포함되어 있습니다.

  1. 클라이언트 설정

    제공업체별 Base URL과 OOMOL 토큰을 사용하세요. 안내된 시간 제한을 설정하고 중복 생성을 막기 위해 생성 요청의 자동 재시도를 끄세요.

  2. 지원 모델 호출

    지원하는 요청 매개변수와 응답 형식을 유지합니다. 동영상 결과는 해당 제공업체의 작업 조회 API로 확인합니다.

예시에는 https://fusion-api.oomol.com 서비스 주소가 설정되어 있습니다. FUSION_API_TOKEN에 OOMOL 토큰을 설정하고 표시된 버전의 패키지를 설치하세요. 사용 전에 API 제공 여부를 확인하세요.

모델을 선택하고 연결 예시 보기
OpenAI Images · TypeScriptopenai@7.23.0
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.FUSION_API_TOKEN,
  baseURL: "https://fusion-api.oomol.com/v1/provider/openai/v1",
  maxRetries: 0,
  timeout: 1_080_000,
});

const result = await client.images.generate({
  model: "gpt-image-2",
  prompt: "A ceramic mug on a wooden table",
  size: "1536x864",
  quality: "medium",
});
console.log(result);

Base URL: https://fusion-api.oomol.com/v1/provider/openai/v1

Seedream · TypeScript@volcengine/ark-runtime@1.0.11
import { ArkRuntimeClient } from "@volcengine/ark-runtime";

const client = new ArkRuntimeClient({
  apiKey: process.env.FUSION_API_TOKEN,
  baseURL: "https://fusion-api.oomol.com/v1/provider/seedream/api/v3",
  retryTimes: 0,
  timeout: 125_000,
});

const result = await client.generateImages({
  model: "doubao-seedream-5-0-260128",
  prompt: "A ceramic mug on a wooden table",
  size: "2K",
  response_format: "url",
});
console.log(result);

Base URL: https://fusion-api.oomol.com/v1/provider/seedream/api/v3

Seedance · TypeScript@volcengine/ark-runtime@1.0.11
import { ArkRuntimeClient } from "@volcengine/ark-runtime";

const client = new ArkRuntimeClient({
  apiKey: process.env.FUSION_API_TOKEN,
  baseURL: "https://fusion-api.oomol.com/v1/provider/seedance/api/v3",
  retryTimes: 0,
  timeout: 125_000,
});

const task = await client.createContentGenerationTask({
  model: "doubao-seedance-2-0-260128",
  content: [{ type: "text", text: "A boat on the ocean" }],
  duration: 5,
  resolution: "720p",
});
const status = await client.getContentGenerationTask(task.id);
console.log(task.id, status);

Base URL: https://fusion-api.oomol.com/v1/provider/seedance/api/v3

예시는 동영상 작업을 만든 후 한 번만 조회합니다. 작업 ID를 저장하고 종료 상태가 될 때까지 조회하세요. 진행 상황을 확인하려고 생성 요청을 반복하지 마세요.

Wanx · TypeScriptdashscope-sdk-official@1.26.0
import { Configuration, VideoSynthesis } from "dashscope-sdk-official";

const client = new VideoSynthesis(new Configuration({
  apiKey: process.env.FUSION_API_TOKEN,
  basePath: "https://fusion-api.oomol.com/v1/provider/wanx/api/v1",
}));

const task = await client.asyncCall({
  model: "wan3.0-video",
  prompt: "A boat on the ocean",
  resolution: "1080P",
  duration: 5,
});
const status = await client.fetch(task.output.task_id);
console.log(task.output.task_id, status);

Base URL: https://fusion-api.oomol.com/v1/provider/wanx/api/v1

예시는 동영상 작업을 만든 후 한 번만 조회합니다. 작업 ID를 저장하고 종료 상태가 될 때까지 조회하세요. 진행 상황을 확인하려고 생성 요청을 반복하지 마세요.

Kling · TypeScriptHTTP · ky@1.11.0
import ky from "ky";

const client = ky.create({
  prefixUrl: "https://fusion-api.oomol.com/v1/provider/kling/",
  headers: { Authorization: `Bearer ${process.env.FUSION_API_TOKEN}` },
  retry: 0,
  redirect: "error",
  timeout: 30_000,
});

const task = await client.post("text-to-video/kling-3.0-turbo", {
  json: {
    prompt: "A boat on the ocean",
    settings: { duration: 5, resolution: "720p", aspect_ratio: "16:9" },
  },
}).json<{ data: { id: string } }>();
const status = await client.get("tasks", {
  searchParams: { task_ids: task.data.id },
}).json();
console.log(task.data.id, status);

Base URL: https://fusion-api.oomol.com/v1/provider/kling/

예시는 동영상 작업을 만든 후 한 번만 조회합니다. 작업 ID를 저장하고 종료 상태가 될 때까지 조회하세요. 진행 상황을 확인하려고 생성 요청을 반복하지 마세요.

MiniMax · TypeScriptHTTP · ky@1.11.0
import ky from "ky";

const client = ky.create({
  prefixUrl: "https://fusion-api.oomol.com/v1/provider/minimax/",
  headers: { Authorization: `Bearer ${process.env.FUSION_API_TOKEN}` },
  retry: 0,
  redirect: "error",
  timeout: 30_000,
});

const task = await client.post("v2/video_generation", {
  json: {
    model: "MiniMax-H3",
    content: [{ type: "text", text: "A boat on the ocean" }],
    duration: 5,
    resolution: "768P",
    ratio: "16:9",
  },
}).json<{ task_id: string }>();
const status = await client.get(
  `v2/query/video_generation/${encodeURIComponent(task.task_id)}`,
).json();
console.log(task.task_id, status);

Base URL: https://fusion-api.oomol.com/v1/provider/minimax/

예시는 동영상 작업을 만든 후 한 번만 조회합니다. 작업 ID를 저장하고 종료 상태가 될 때까지 조회하세요. 진행 상황을 확인하려고 생성 요청을 반복하지 마세요.

AI 에이전트에서 사용하시나요?

에이전트와 워크플로에서 사용할 수 있는 서비스별 통합 도구를 살펴보세요.

통합 도구 둘러보기