글 생성

POST /v1/text

글 모델에게 프롬프트를 보내고 답을 받아요. 결과는 응답에 바로 담겨 와요.

요청

필드형식기본값설명
prompt문자열필수모델에게 보낼 내용
model문자열devdive-text-5-6-luna글 모델 ID. → 모델
system_prompt문자열없음역할, 말투, 지켜야 할 규칙
max_tokens1 이상의 정수모델 기본값답의 최대 길이(토큰)
temperature0~2모델 기본값높을수록 답이 다양해지고, 낮을수록 일정해져요
stream불리언false스트리밍은 준비 중이에요. 지금 true로 보내면 422가 와요

응답

필드설명
id이 호출의 ID
object항상 text
model답한 모델 ID
text모델의 답
usageinput_tokens(입력), output_tokens(출력), total_tokens(합계)
credits_used이번 호출로 차감된 크레딧

예시

시스템 프롬프트로 역할을 주고, 모델을 Claude Sonnet으로 바꿔 볼게요.

curl https://api.devdive.ai/v1/text \
  -H "Authorization: Bearer $DEVDIVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "devdive-claude-sonnet",
    "system_prompt": "너는 쇼핑몰 상품 설명을 쓰는 카피라이터야. 세 문장 안으로, 존댓말로 써.",
    "prompt": "제품: 접이식 캠핑 의자. 무게 1.2kg, 최대 하중 120kg, 수납 가방 포함.",
    "max_tokens": 300,
    "temperature": 0.7
  }'
{
  "id": "0e6b1c52-2f0e-4a51-9d5c-3c1f7f0f8a21",
  "object": "text",
  "model": "devdive-claude-sonnet",
  "text": "1.2kg의 가벼운 무게로 어디든 부담 없이 들고 다닐 수 있는 접이식 캠핑 의자예요. …",
  "usage": { "input_tokens": 92, "output_tokens": 118, "total_tokens": 210 },
  "credits_used": 0.31
}

Python에서는 이렇게 써요.

import os

import requests

def ask(prompt: str, **options) -> str:
    res = requests.post(
        "https://api.devdive.ai/v1/text",
        headers={"Authorization": f"Bearer {os.environ['DEVDIVE_API_KEY']}"},
        json={"prompt": prompt, **options},
        timeout=120,
    )
    body = res.json()
    if not res.ok:
        raise RuntimeError(f"{body['error']['code']}: {body['error']['message']}")
    return body["text"]

print(ask("다음 문장을 영어로 번역해 줘: 오늘 회의는 3시로 미뤄졌어요.", model="devdive-text-5-6-terra"))

알아 두기

  • 한 번에 한 턴이에요. 대화 이력을 배열로 받지 않아요. 앞선 대화가 필요하면 prompt에 함께 넣어 보내세요.
  • 모델 고르기: 처음에는 기본값(devdive-text-5-6-luna)으로 시작하고, 답이 아쉬우면 devdive-text-5-6-sol이나 devdive-claude-opus처럼 높은 단계로 올려 보세요. 높은 단계일수록 느리고 크레딧이 더 들어요.
  • 길이: 답이 중간에 끊기면 max_tokens를 늘리세요.
  • 응답 시간: 짧은 답도 몇 초에서 수십 초 걸릴 수 있어요. 클라이언트 타임아웃은 120초 이상으로 두세요.
  • 한도: 모델마다 분당 호출 수와 토큰 수에 한도가 있어요. 넘으면 429가 오니 Retry-After만큼 기다렸다가 다시 보내세요. → 에러와 한도