mirror of
https://github.com/storytold/artcraft.git
synced 2026-10-28 04:22:51 -04:00
Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cbfb432971 | ||
|
|
fea122e35c | ||
|
|
f6c23f7621 | ||
|
|
39d2945e5e |
@@ -2,7 +2,6 @@
|
||||
|
||||
pub mod creds;
|
||||
pub mod error;
|
||||
pub mod model;
|
||||
pub mod requests;
|
||||
pub mod utils;
|
||||
pub mod webhook_api;
|
||||
pub mod webhook_payload;
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
use crate::creds::fal_api_key::FalApiKey;
|
||||
use crate::model::fal_endpoint::FalEndpoint;
|
||||
use crate::model::fal_request_id::FalRequestId;
|
||||
use crate::requests::api::queue::Queue;
|
||||
use crate::requests::api::queue_response::QueueResponse;
|
||||
use errors::AnyhowResult;
|
||||
use reqwest::Client;
|
||||
use serde::de::DeserializeOwned;
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct EnqueuedRequest {
|
||||
pub fal_endpoint: FalEndpoint,
|
||||
pub request_id: FalRequestId,
|
||||
pub response_url: String,
|
||||
pub status_url: String,
|
||||
pub cancel_url: String,
|
||||
}
|
||||
|
||||
impl EnqueuedRequest {
|
||||
pub fn from_queue_response<R: DeserializeOwned>(queue: &Queue<R>) -> AnyhowResult<Self> {
|
||||
let endpoint = FalEndpoint::from_queue_response(queue);
|
||||
Ok(Self {
|
||||
fal_endpoint: endpoint.clone(),
|
||||
request_id: FalRequestId(queue.payload.request_id.clone()),
|
||||
response_url: queue.payload.response_url.clone(),
|
||||
status_url: queue.payload.status_url.clone(),
|
||||
cancel_url: queue.payload.cancel_url.clone(),
|
||||
})
|
||||
}
|
||||
|
||||
pub fn to_queue_response<R: DeserializeOwned>(&self, api_key: &FalApiKey) -> AnyhowResult<Queue<R>> {
|
||||
let client = Client::new();
|
||||
let endpoint = self.fal_endpoint.url();
|
||||
let payload = QueueResponse {
|
||||
request_id: self.request_id.0.clone(),
|
||||
response_url: self.response_url.clone(),
|
||||
status_url: self.status_url.clone(),
|
||||
cancel_url: self.cancel_url.clone(),
|
||||
};
|
||||
Ok(Queue::new(client, endpoint, api_key.0.clone(), payload))
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
use crate::requests::api::queue::Queue;
|
||||
use serde::de::DeserializeOwned;
|
||||
// TODO(bt,2025-05-26): A macro to define these + tests.
|
||||
|
||||
const FLUX_PRO_ULTRA_TEXT_TO_IMAGE: &str = "fal-ai/flux-pro/v1.1-ultra";
|
||||
|
||||
const HUNYUAN_3D_2_BASE: &str = "fal-ai/hunyuan3d/v2";
|
||||
|
||||
const KLING16_IMAGE_TO_VIDEO: &str = "fal-ai/kling-video/v1.6/pro/image-to-video";
|
||||
|
||||
const MINIMAX_IMAGE_TO_VIDEO: &str = "fal-ai/minimax/image-to-video";
|
||||
|
||||
const RECRAFT_V3_TEXT_TO_IMAGE: &str = "fal-ai/recraft-v3";
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
pub enum FalEndpoint {
|
||||
FluxProUltraTextToImage,
|
||||
Hunyuan3d2Base,
|
||||
Kling16ImageToVideo,
|
||||
Minimax01ImageToVideo,
|
||||
RecraftV3TextToImage,
|
||||
Other(String),
|
||||
}
|
||||
|
||||
impl FalEndpoint {
|
||||
pub fn from_queue_response<R: DeserializeOwned>(queue: &Queue<R>) -> Self {
|
||||
match queue.endpoint.as_str() {
|
||||
FLUX_PRO_ULTRA_TEXT_TO_IMAGE => FalEndpoint::FluxProUltraTextToImage,
|
||||
HUNYUAN_3D_2_BASE => FalEndpoint::Hunyuan3d2Base,
|
||||
KLING16_IMAGE_TO_VIDEO => FalEndpoint::Kling16ImageToVideo,
|
||||
MINIMAX_IMAGE_TO_VIDEO => FalEndpoint::Minimax01ImageToVideo,
|
||||
RECRAFT_V3_TEXT_TO_IMAGE => FalEndpoint::RecraftV3TextToImage,
|
||||
_ => FalEndpoint::Other(queue.endpoint.clone()),
|
||||
}
|
||||
}
|
||||
pub fn url(&self) -> &str {
|
||||
match self {
|
||||
Self::FluxProUltraTextToImage => FLUX_PRO_ULTRA_TEXT_TO_IMAGE,
|
||||
Self::Hunyuan3d2Base => HUNYUAN_3D_2_BASE,
|
||||
Self::Kling16ImageToVideo => KLING16_IMAGE_TO_VIDEO,
|
||||
Self::Minimax01ImageToVideo => MINIMAX_IMAGE_TO_VIDEO,
|
||||
Self::RecraftV3TextToImage => RECRAFT_V3_TEXT_TO_IMAGE,
|
||||
Self::Other(url) => url,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
use std::fmt::Display;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use crate::model::fal_endpoint::FalEndpoint;
|
||||
|
||||
/// A strongly typed request ID for the Fal API.
|
||||
#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)]
|
||||
pub struct FalRequestId(pub String);
|
||||
|
||||
impl Display for FalRequestId {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
Display::fmt(&self.0, f)
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
pub mod enqueued_request;
|
||||
pub mod fal_endpoint;
|
||||
pub mod fal_request_id;
|
||||
+3
-3
@@ -5,9 +5,9 @@ use serde::{de::DeserializeOwned, Serialize};
|
||||
use log::info;
|
||||
|
||||
use crate::error::fal_error::FalError;
|
||||
use crate::requests::api::queue::Queue;
|
||||
use crate::requests::api::queue_response::QueueResponse;
|
||||
use crate::requests::api::webhook_response::WebhookResponse;
|
||||
use crate::requests::core_api::queue::Queue;
|
||||
use crate::requests::core_api::queue_response::QueueResponse;
|
||||
use crate::requests::core_api::webhook_response::WebhookResponse;
|
||||
|
||||
/// A request to the FAL API.
|
||||
///
|
||||
+2
-2
@@ -3,8 +3,8 @@ use std::marker::PhantomData;
|
||||
use serde::{de::DeserializeOwned, Deserialize, Serialize};
|
||||
|
||||
use crate::error::fal_error::FalError;
|
||||
use crate::requests::api::queue_response::QueueResponse;
|
||||
use crate::requests::api::queue_status::QueueStatus;
|
||||
use crate::requests::core_api::queue_response::QueueResponse;
|
||||
use crate::requests::core_api::queue_status::QueueStatus;
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct Queue<Response: DeserializeOwned> {
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// Non-BYOK edit-image (image-to-image) binding for
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// Non-BYOK text-to-image binding for `fal-ai/gpt-image-1/text-to-image`.
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
use crate::requests::api::fal_request::FalRequest;
|
||||
use crate::requests::core_api::fal_request::FalRequest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
pub mod api;
|
||||
pub mod core_api;
|
||||
pub mod http;
|
||||
pub mod traits;
|
||||
pub mod webhook;
|
||||
@@ -0,0 +1,5 @@
|
||||
|
||||
pub trait FalEndpoint {
|
||||
/// Return the endpoint, eg. `fal-ai/flux-2-lora-gallery/multiple-angles`
|
||||
fn get_endpoint() -> &'static str;
|
||||
}
|
||||
@@ -1 +1,2 @@
|
||||
pub mod fal_endpoint_trait;
|
||||
pub mod fal_request_cost_calculator_trait;
|
||||
+1
-1
@@ -3,7 +3,7 @@ use crate::error::classify_fal_error::classify_fal_error;
|
||||
use crate::error::fal_error_plus::FalErrorPlus;
|
||||
use crate::requests::http::image::angle::http_flux_2_lora_edit_image_angle::{http_flux_2_lora_edit_image_angle, Flux2LoraEditImageAngleInput};
|
||||
use crate::requests::traits::fal_request_cost_calculator_trait::{FalRequestCostCalculator, UsdCents};
|
||||
use crate::requests::api::webhook_response::WebhookResponse;
|
||||
use crate::requests::core_api::webhook_response::WebhookResponse;
|
||||
use reqwest::IntoUrl;
|
||||
|
||||
pub struct EnqueueFlux2LoraEditImageAngleArgs<'a, R: IntoUrl> {
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ use crate::error::classify_fal_error::classify_fal_error;
|
||||
use crate::error::fal_error_plus::FalErrorPlus;
|
||||
use crate::requests::http::image::angle::http_qwen_edit_2511_edit_image_angle::{http_qwen_edit_2511_edit_image_angle, QwenEdit2511EditImageAngleInput};
|
||||
use crate::requests::traits::fal_request_cost_calculator_trait::{FalRequestCostCalculator, UsdCents};
|
||||
use crate::requests::api::webhook_response::WebhookResponse;
|
||||
use crate::requests::core_api::webhook_response::WebhookResponse;
|
||||
use reqwest::IntoUrl;
|
||||
|
||||
pub struct EnqueueQwenEdit2511EditImageAngleArgs<'a, R: IntoUrl> {
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ use crate::creds::fal_api_key::FalApiKey;
|
||||
use crate::error::classify_fal_error::classify_fal_error;
|
||||
use crate::error::fal_error_plus::FalErrorPlus;
|
||||
use crate::requests::http::image::background::http_rembg_remove_background::{rembg_remove_background, RembgRemoveBackgroundInput};
|
||||
use crate::requests::api::webhook_response::WebhookResponse;
|
||||
use crate::requests::core_api::webhook_response::WebhookResponse;
|
||||
use reqwest::IntoUrl;
|
||||
|
||||
pub struct RemoveBackgroundRembgWebhookArgs<'a, V: IntoUrl> {
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ use crate::error::classify_fal_error::classify_fal_error;
|
||||
use crate::error::fal_error_plus::FalErrorPlus;
|
||||
use crate::requests::traits::fal_request_cost_calculator_trait::{FalRequestCostCalculator, UsdCents};
|
||||
use crate::requests::http::image::edit::http_seedream_4_edit_image::{seedream_4_edit_image, SeedreamV4EditImageInput};
|
||||
use crate::requests::api::webhook_response::WebhookResponse;
|
||||
use crate::requests::core_api::webhook_response::WebhookResponse;
|
||||
use reqwest::IntoUrl;
|
||||
|
||||
pub struct EnqueueBytedanceSeedreamV4EditImageArgs<'a, R: IntoUrl> {
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ use crate::error::classify_fal_error::classify_fal_error;
|
||||
use crate::error::fal_error_plus::FalErrorPlus;
|
||||
use crate::requests::traits::fal_request_cost_calculator_trait::{FalRequestCostCalculator, UsdCents};
|
||||
use crate::requests::http::image::edit::http_seedream_4p5_edit_image::{seedream_4p5_edit_image, SeedreamV4p5EditImageInput};
|
||||
use crate::requests::api::webhook_response::WebhookResponse;
|
||||
use crate::requests::core_api::webhook_response::WebhookResponse;
|
||||
use reqwest::IntoUrl;
|
||||
|
||||
pub struct EnqueueBytedanceSeedreamV4p5EditImageArgs<'a, R: IntoUrl> {
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ use crate::error::classify_fal_error::classify_fal_error;
|
||||
use crate::error::fal_error_plus::FalErrorPlus;
|
||||
use crate::requests::http::image::edit::http_seedream_5_edit_image::{http_seedream_5_edit_image, SeedreamV5LiteEditImageInput};
|
||||
use crate::requests::traits::fal_request_cost_calculator_trait::{FalRequestCostCalculator, UsdCents};
|
||||
use crate::requests::api::webhook_response::WebhookResponse;
|
||||
use crate::requests::core_api::webhook_response::WebhookResponse;
|
||||
use reqwest::IntoUrl;
|
||||
|
||||
pub struct EnqueueBytedanceSeedreamV5LiteEditImageArgs<'a, R: IntoUrl> {
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ use crate::creds::fal_api_key::FalApiKey;
|
||||
use crate::error::classify_fal_error::classify_fal_error;
|
||||
use crate::error::fal_error_plus::FalErrorPlus;
|
||||
use crate::requests::http::image::edit::http_flux_1_dev_edit_image::{flux_1_dev_edit_image, Flux1DevEditImageInput};
|
||||
use crate::requests::api::webhook_response::WebhookResponse;
|
||||
use crate::requests::core_api::webhook_response::WebhookResponse;
|
||||
use reqwest::IntoUrl;
|
||||
|
||||
pub struct Flux1DevEditImageArgs<'a, U: IntoUrl> {
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ use crate::creds::fal_api_key::FalApiKey;
|
||||
use crate::error::classify_fal_error::classify_fal_error;
|
||||
use crate::error::fal_error_plus::FalErrorPlus;
|
||||
use crate::requests::http::image::edit::http_flux_1_schnell_edit_image::{flux_1_schnell_edit_image, Flux1SchnellEditImageInput};
|
||||
use crate::requests::api::webhook_response::WebhookResponse;
|
||||
use crate::requests::core_api::webhook_response::WebhookResponse;
|
||||
use reqwest::IntoUrl;
|
||||
|
||||
pub struct Flux1SchnellEditImageArgs<'a, U: IntoUrl> {
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ use crate::creds::fal_api_key::FalApiKey;
|
||||
use crate::error::classify_fal_error::classify_fal_error;
|
||||
use crate::error::fal_error_plus::FalErrorPlus;
|
||||
use crate::requests::http::image::edit::http_flux_pro_kontext_max_edit::{flux_pro_kontext_max_edit, FluxProKontextMaxEditInput};
|
||||
use crate::requests::api::webhook_response::WebhookResponse;
|
||||
use crate::requests::core_api::webhook_response::WebhookResponse;
|
||||
use reqwest::IntoUrl;
|
||||
|
||||
pub struct FluxProKontextMaxArgs<'a, R: IntoUrl> {
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ use crate::error::classify_fal_error::classify_fal_error;
|
||||
use crate::error::fal_error_plus::FalErrorPlus;
|
||||
use crate::requests::traits::fal_request_cost_calculator_trait::{FalRequestCostCalculator, UsdCents};
|
||||
use crate::requests::http::image::edit::http_gemini_25_flash_edit::{gemini_25_flash_edit, Gemini25FlashEditInput};
|
||||
use crate::requests::api::webhook_response::WebhookResponse;
|
||||
use crate::requests::core_api::webhook_response::WebhookResponse;
|
||||
use reqwest::IntoUrl;
|
||||
|
||||
pub struct Gemini25FlashEditArgs<'a, R: IntoUrl> {
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ use crate::error::classify_fal_error::classify_fal_error;
|
||||
use crate::error::fal_error_plus::FalErrorPlus;
|
||||
use crate::requests::traits::fal_request_cost_calculator_trait::{FalRequestCostCalculator, UsdCents};
|
||||
use crate::requests::http::image::edit::http_gpt_image_1_edit_image::{gpt_image_1_edit_image, GptImage1EditImageInput};
|
||||
use crate::requests::api::webhook_response::WebhookResponse;
|
||||
use crate::requests::core_api::webhook_response::WebhookResponse;
|
||||
use reqwest::IntoUrl;
|
||||
|
||||
pub struct GptEditImageByokArgs<'a, V: IntoUrl> {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user