openapi: 3.0.0 info: title: woolbot's FunAPI description: Big API for bots, developers or just fun by @podvaljoey. version: $VERSION_VARIABLE$ servers: - url: 'https://imperialwool-funapi.hf.space/' description: 'You are here! ^ó^' paths: /signatures/api/v1/get: post: tags: - "Authentication" parameters: - name: 'key' description: Key to generate signature. in: 'query' schema: type: 'string' example: rickroll summary: "Generating auth key with small TTL." responses: 200: description: OK content: application/json: schema: $ref: "#/components/schemas/AuthSuccessObject" 400: description: Bad Request content: application/json: schema: $ref: "#/components/schemas/AuthErrorObject" /osu/api/v1/find-song: post: tags: - "osu! API" parameters: - name: 'query' description: Query to find beatmap. in: 'query' schema: type: 'string' example: rickroll summary: "Finding beatmap by query." responses: 200: description: OK content: application/json: schema: $ref: "#/components/schemas/FindBeatmapsObject" 400: description: Bad Request content: application/json: schema: $ref: "#/components/schemas/ErrorObject" /osu/api/v1/get-full: post: tags: - "osu! API" parameters: - name: 'query' description: Query to find beatmap and download full song. in: 'query' schema: type: 'string' example: rickroll - name: 'beatmapId' description: Beatset id. Not map, set. in: 'query' schema: type: 'integer' example: 1 summary: "Get beatmap's full song." responses: 200: description: OK content: application/json: schema: $ref: "#/components/schemas/SongFullObject" 400: description: Bad Request content: application/json: schema: $ref: "#/components/schemas/ErrorObject" /osu/api/v1/get-preview: post: tags: - "osu! API" parameters: - name: 'query' description: Query to find beatmap and download full song. in: 'query' schema: type: 'string' example: rickroll - name: 'beatmapId' description: Beatset id. Not map, set. in: 'query' schema: type: 'integer' example: 1 summary: "Get beatmap's song preview." responses: 200: description: OK content: application/json: schema: $ref: "#/components/schemas/SongPreviewObject" 400: description: Bad Request content: application/json: schema: $ref: "#/components/schemas/ErrorObject" /system-info/api/v1/get: post: tags: - "System information" summary: "Information about server." responses: 200: description: OK content: application/json: schema: $ref: "#/components/schemas/SysinfoObject" 400: description: Bad Request content: application/json: schema: $ref: "#/components/schemas/ErrorObject" /yt/api/v1/search: post: tags: - "Youtube: Becoming Music Platform" parameters: - name: 'query' description: Query for YouTube to find videos. in: 'query' schema: type: 'string' example: never gonna give you up summary: "This method can help with searching videos on YouTube." responses: 200: description: OK content: application/json: schema: $ref: "#/components/schemas/YTSearchObject" 400: description: Bad Request content: application/json: schema: $ref: "#/components/schemas/ErrorObject" /yt/api/v1/get-full: post: tags: - "Youtube: Becoming Music Platform" parameters: - name: 'url' description: Url to video from YouTube. (TikTok also works sometimes.) in: 'query' schema: type: 'string' - name: 'bitrate' description: Bitrate of final audio. in: 'query' schema: type: 'string' example: "64k" - name: 'quality' description: Quality of final audio. Only 'worst' or 'best'. in: 'query' schema: type: 'string' example: "worst" summary: "Download video as audio and providing link for you." responses: 200: description: OK content: application/json: schema: $ref: "#/components/schemas/YTFullObject" 400: description: Bad Request content: application/json: schema: $ref: "#/components/schemas/ErrorObject" /yt/api/v1/get-preview: post: tags: - "Youtube: Becoming Music Platform" parameters: - name: 'url' description: Url to video from YouTube. (TikTok also works sometimes.) in: 'query' schema: type: 'string' - name: 'bitrate' description: Bitrate of final audio. in: 'query' schema: type: 'string' example: "64k" - name: 'quality' description: Quality of final audio. Only 'worst' or 'best'. in: 'query' schema: type: 'string' example: "worst" - name: 'duration' description: Duration of preview. Maximum 60 seconds. in: 'query' schema: type: 'integer' example: 30 summary: "Download video as cutted audio and providing link for you." responses: 200: description: OK content: application/json: schema: $ref: "#/components/schemas/YTPreviewResult" 400: description: Bad Request content: application/json: schema: $ref: "#/components/schemas/ErrorObject" components: schemas: SongFullObject: type: object properties: status: type: string example: pass details: type: object properties: code: type: integer example: 200 name: type: string example: "1592415.ogg" result: type: string example: "https://imperialwool-funapi.hf.space/static/full/1592415.ogg" SongPreviewObject: type: object properties: status: type: string example: pass details: type: object properties: code: type: integer example: 200 name: type: string example: "1244874.mp3" result: type: string example: "https://b.ppy.sh/preview/1244874.mp3" BeatmapObject: type: object properties: "artist": type: string example: "never gonna give you up remix" "beatmapId": type: integer example: 1542795 "creator": type: string example: "CrisFloppa" "source": type: string example: "" "tags": type: string example: "never gonna gie you up rick roll" "title": type: string example: "rick astley" FindBeatmapsObject: type: object properties: status: type: string example: pass details: type: object properties: "code": type: integer example: 200 "result": type: array items: $ref: "#/components/schemas/BeatmapObject" SysinfoObject: type: object properties: "API_VERSION": type: string example: "1.0 build62" "CPU_INFO": type: object properties: "cpu_brand": type: string example: "AMD EPYC 7R13 Processor" "cpu_count": type: object properties: "all": type: integer example: 16 "exclude_virtual": type: integer example: 8 "cpu_freq": type: object properties: "current": type: number format: float example: 3522.9323125 "min": type: number format: float example: 0.0 "max": type: number format: float example: 3600.0 "cpu_load": type: number format: float example: 16.2 "MEM_INFO": type: object properties: "mem_total": type: integer example: 126125 "mem_used": type: integer example: 87497 AuthSuccessObject: type: object properties: status: type: string example: pass endtime: type: integer example: 1672602259 result: type: string example: B46AAB1A3F1E33625C1B6BD9507453B928DE69BA638E7098DB533A2184ED288EFB899D563EF8AB5487DACBCAD909A801E4C81FD6D34B639F6591295CD1D10A5B AuthErrorObject: type: object properties: status: type: string example: error details: type: object properties: error_code: type: integer example: -1 error_details: type: string example: This key already got signature ErrorObject: type: object properties: status: type: string example: error details: type: object properties: error_code: type: integer example: 103 error_details: type: string example: No signature RecognizeObject: type: object properties: status: type: string example: pass result: type: string example: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean condimentum neque quis enim bibendum, ut molestie magna gravida. Donec et felis eget lacus sodales convallis. Quisque vitae erat et leo lobortis iaculis. Maecenas a lectus vitae metus fringilla luctus. Morbi sed pellentesque elit. Phasellus bibendum et urna sed elementum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus." YTSearchObject: type: object properties: status: type: string example: ok query: type: string example: never gonna give you up videoIds: type: object properties: "0": type: string example: dQw4w9WgXcQ "1": type: string example: GtL1huin9EE "2": type: string example: uXV-IaR_vNE YTFullObject: type: object properties: status: type: string example: pass details: type: object properties: code: type: integer example: 0 name: type: string example: "R8YprjS6ztg.ogg" result: type: string example: "https://imperialwool-funapi.hf.space/static/full/R8YprjS6ztg.ogg" YTPreviewResult: type: object properties: status: type: string example: pass details: type: object properties: code: type: integer example: 0 name: type: string example: "R8YprjS6ztg.ogg" result: type: string example: "https://imperialwool-funapi.hf.space/static/previews/R8YprjS6ztg.ogg"