Audio Notes AI będzie w przyszłości oferować RESTful API dla integracji z zewnętrznymi aplikacjami i systemami.
POST /api/v1/audio/upload
POST /api/v1/audio/transcribe
GET /api/v1/audio/{id}
DELETE /api/v1/audio/{id}GET /api/v1/notes
POST /api/v1/notes
GET /api/v1/notes/{id}
PUT /api/v1/notes/{id}
DELETE /api/v1/notes/{id}POST /api/v1/search
GET /api/v1/search/suggestPOST /api/v1/export/pdf
POST /api/v1/export/docx
POST /api/v1/export/txtcurl -X POST "http://localhost:8501/api/v1/notes" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Spotkanie z klientem",
"content": "Omówiliśmy wymagania projektu...",
"tags": ["spotkanie", "klient", "projekt"]
}'curl -X POST "http://localhost:8501/api/v1/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "spotkanie z klientem",
"limit": 10,
"similarity_threshold": 0.7
}'{
"status": "success",
"data": {
"id": "note_123",
"title": "Spotkanie z klientem",
"content": "...",
"created_at": "2025-06-20T10:00:00Z",
"updated_at": "2025-06-20T10:00:00Z"
}
}{
"status": "error",
"error": {
"code": "INVALID_REQUEST",
"message": "Wymagane pole 'content' jest puste",
"details": {}
}
}Planowane metody uwierzytelniania:
- API Keys
- JWT Tokens
- OAuth 2.0
Planowane limity:
- 100 zapytań/minutę dla podstawowych operacji
- 10 zapytań/minutę dla operacji z AI (transkrypcja, wyszukiwanie)
- 5 zapytań/minutę dla operacji eksportu
Planowane eventy:
note.creatednote.updatednote.deletedtranscription.completedexport.completed
Dla deweloperów chcących zrozumieć obecną implementację:
Inicjalizuje klienta OpenAI z kluczem API.
Transkrybuje audio używając Whisper API.
Generuje embeddingi używając text-embedding-3-large.
Wyszukuje notatki używając similarity search.
Eksportuje notatki do formatu PDF.
{
"id": "unique_note_id",
"payload": {
"title": "Tytuł notatki",
"content": "Treść notatki",
"created_at": "2025-06-20T10:00:00Z",
"updated_at": "2025-06-20T10:00:00Z",
"tags": ["tag1", "tag2"],
"audio_filename": "audio_file.wav"
},
"vector": [0.1, 0.2, 0.3, ...] # 3072 dimensions
}OPENAI_API_KEY: Klucz API OpenAIQDRANT_URL: URL instancji QdrantQDRANT_API_KEY: Klucz API Qdrant
Można też używać st.secrets dla bezpiecznego przechowywania kluczy.
Dokumentacja API będzie rozszerzona w wersji 3.0.0 z pełnym API REST.