Commit 80ef53

2024-08-22 15:54:43 admin: -/-
/dev/null .. video api.md
@@ 0,0 1,223 @@
+ # AI-Now Image and Video Generation API Documentation
+
+ ## Table of Contents
+
+ 1. [Introduction](#introduction)
+ 2. [Authentication](#authentication)
+ 3. [API Endpoints](#api-endpoints)
+ - [Ping](#ping)
+ - [Generate](#generate)
+ 4. [Models](#models)
+ 5. [Styles](#styles)
+ 6. [Error Handling](#error-handling)
+ 7. [Rate Limiting and Tokens](#rate-limiting-and-tokens)
+ 8. [Examples](#examples)
+
+ ## Introduction
+
+ This API provides access to various AI models for generating music, images, and videos based on text prompts. It supports multiple models with different capabilities and token costs.
+
+ ## Authentication
+
+ Authentication is required for all API requests. Use Bearer token authentication by including an API key in the Authorization header:
+
+ ```
+ Authorization: Bearer YOUR_API_KEY
+ ```
+
+ To obtain an API key, contact admin@ai-now.space.
+
+ ## API Endpoints
+
+ ### Ping
+
+ Endpoint: `GET /api/ping`
+
+ Use this endpoint to check if the API is operational.
+
+ **Response:**
+ ```
+ pong
+ ```
+
+ ### Generate
+
+ Endpoint: `POST /api/generate`
+
+ This endpoint generates music, images, or videos based on the specified model and prompt.
+
+ **Request Body:**
+
+ ```json
+ {
+ "model": "string",
+ "prompt": "string",
+ "style": "string" (optional)
+ }
+ ```
+
+ - `model`: The AI model to use (e.g., "suno", "luma", "pika", "run")
+ - `prompt`: The text prompt for generation
+ - `style`: Optional style parameter for some models
+
+ **Response:**
+
+ The response is a server-sent event stream. Events include:
+
+ - Processing updates
+ - Error messages
+ - Final result with generated content URL
+
+ ## Models
+
+ 1. **Suno** (Music Generation)
+ - Token Cost: 10
+ - Generation Time: 1-3 minutes
+
+ 2. **Luma** (Video Generation)
+ - Token Cost: 30
+ - Generation Time: Variable, may fail during peak hours
+
+ 3. **Pika** (Video Generation)
+ - Token Cost: 10
+ - Generation Time: 1-3 minutes
+
+ 4. **Run** (Video Generation)
+ - Token Cost: 30
+ - Generation Time: 1-3 minutes
+
+ ## Styles
+
+ ### Pika API Styles
+
+ - Anime (value: '1')
+ - Moody (value: '2')
+ - 3D (value: '3')
+ - Watercolor (value: '4')
+ - Natural (value: '5')
+ - Claymation (value: '6')
+ - Black & White (value: '7')
+
+ ### Run API Styles
+
+ - Abandoned (value: 'abandoned')
+ - Abstract Sculpture (value: 'abstract_sculpture')
+ - Anime (value: 'anime')
+ - Cartoon (value: 'cartoon')
+ - Cine Lens (value: 'cine_lens')
+ - Claymation (value: 'claymation')
+ - Concept Art (value: 'concept_art')
+ - Digital Art (value: 'digital_art')
+ - Forestpunk (value: 'forestpunk')
+ - Frost (value: 'frost')
+ - Graphic Novel (value: 'graphic_novel')
+ - Graphite (value: 'graphite')
+ - Isometric 3D (value: 'isometric_3d')
+ - Low Poly 3D (value: 'low_poly_3d')
+ - Marker Drawing (value: 'marker_drawing')
+ - Moody Film (value: 'moody_film')
+ - Pixel Art (value: 'pixel_art')
+ - Retro (value: 'retro')
+ - Sci-fi Art (value: 'sci_fi_art')
+ - Stickers (value: 'stickers')
+ - Storyboard (value: 'storyboard')
+ - Thriller (value: 'thriller')
+ - 3D Cartoon (value: '3d_cartoon')
+ - 3D Render (value: '3d_render')
+ - 80s Vaporwave (value: '80s_vaporwave')
+
+ ## Error Handling
+
+ The API returns appropriate HTTP status codes and error messages:
+
+ - 401: Unauthorized (missing or invalid API key)
+ - 418: Insufficient tokens
+ - 500: Internal Server Error
+
+ Error responses are in JSON format:
+
+ ```json
+ {
+ "status": "Error",
+ "message": "Error description"
+ }
+ ```
+
+ ## Rate Limiting and Tokens
+
+ Each API key has a token balance. Tokens are deducted for each generation request based on the model used. Ensure your account has sufficient tokens before making requests.
+
+ ## Examples
+
+ ### Generate a song using Suno
+
+ **Request:**
+
+ ```bash
+ curl -X POST https://api.ai-now.space/api/generate \
+ -H "Authorization: Bearer YOUR_API_KEY" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "model": "suno",
+ "prompt": "A upbeat pop song about summer"
+ }'
+ ```
+
+ **Response:**
+
+ The response is a server-sent event stream. Here's an example of the events you might receive:
+
+ ```
+ data: {"status": "Processing started"}
+
+ data: {"status": "Processing"}
+
+ data: {"status": "Cookie generated"}
+
+ data: {"status": "Processing"}
+
+ data: {"status": "Completed", "url": "https://dl.ai-now.space/summer_pop_song_12345.mp3"}
+ ```
+
+ ### Generate a video using Pika with a specific style
+
+ **Request:**
+
+ ```bash
+ curl -X POST https://api.ai-now.space/api/generate \
+ -H "Authorization: Bearer YOUR_API_KEY" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "model": "pika",
+ "prompt": "A serene lake surrounded by mountains",
+ "style": "4"
+ }'
+ ```
+
+ **Response:**
+
+ ```
+ data: {"status": "Processing started"}
+
+ data: {"status": "Processing"}
+
+ data: {"status": "Cookie generated"}
+
+ data: {"status": "Processing"}
+
+ data: {"status": "Processing"}
+
+ data: {"status": "Completed", "url": "https://dl.ai-now.space/serene_lake_mountains_67890.mp4"}
+ ```
+
+ In these examples, the final event contains a `url` field with the download link for the generated content. The URL structure is:
+
+ ```
+ https://dl.ai-now.space/<generated_file_name>.<extension>
+ ```
+
+ Where:
+ - `<generated_file_name>` is a unique identifier for the generated content
+ - `<extension>` is the appropriate file extension for the content type (e.g., ".mp3" for audio, ".mp4" for video)
+
+ Note that the actual file names and identifiers will vary with each generation.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9