반응형
#4. 이미지 전송 및 AI API 연동 준비하기
이번 편에서는 선택한 이미지를 AI API로 전송할 준비를 해볼게. 그 첫 단계로는 이미지를 Base64 형식으로 변환하는 것부터 시작하자.
🧩 1단계: 이미지 Base64 인코딩하기
Flutter에서는 dart:convert의 base64Encode()를 이용해서 파일 데이터를 인코딩할 수 있어.
lib/services/image_encoder.dart 파일 생성:
import 'dart:convert';
import 'dart:io';
Future<String> encodeImageToBase64(File imageFile) async {
final bytes = await imageFile.readAsBytes();
return base64Encode(bytes);
}
🔐 Base64는 이미지 파일을 문자열로 바꿔서 API 요청 시에 본문에 넣을 수 있게 도와줘.
🌱 2단계: Plant.id API 구조 파악하기
API 문서:
요청 예시 (요약):
POST /identify HTTP/1.1
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"images": ["base64_encoded_image"],
"organs": ["leaf"],
"similar_images": true
}
📦 3단계: http 패키지 설치
pubspec.yaml에 다음 추가:
dependencies:
http: ^0.13.5
그리고 flutter pub get을 잊지 말자!
🔐 4단계: API 키 보안 관리
API 키는 민감한 정보니까 직접 코드에 쓰지 않고 .env 파일이나 별도 보관이 필요해. 여기선 간단하게 lib/secrets.dart 파일로 따로 관리하자.
lib/secrets.dart
const String plantIdApiKey = 'YOUR_API_KEY_HERE';
실제 릴리즈 시에는 .env 또는 secure storage 적용을 고려해봐.
다음 에피소드 예고
#5. 식물 인식 결과 받아오기 (Plant.id 연동 실전)
- API 요청 보내기
- 결과 파싱해서 표시하기
- 로딩 상태 및 오류 처리
반응형
'06. 앱' 카테고리의 다른 글
| 00015. [APP-00002] 사진 기반 식물/동물 인식 앱 개발기 #6 (0) | 2025.04.05 |
|---|---|
| 00014. [APP-00002] 사진 기반 식물/동물 인식 앱 개발기 #5 (0) | 2025.04.05 |
| 00012. [APP-00002] 사진 기반 식물/동물 인식 앱 개발기 #3 (0) | 2025.04.05 |
| 00011. [APP-00002] 사진 기반 식물/동물 인식 앱 개발기 #2 (0) | 2025.04.05 |
| 00010. [APP-00002] 사진 기반 식물/동물 인식 앱 개발기 #1 (1) | 2025.04.05 |